Skip to content

Maintenance

Project statuses

  • Prototype
  • Active development
  • Maint
  • Deprecated - deployed
  • Deprecated - undeployed

Label

Development

Maintenance

Deployed

Notes

A

+

+

-

Prototyping to first RC

B

+

+

+

Matur(ing), in use

At least one stable release

C

-

+

+

Stable, feature frozen

D

-

-

+

Abandoned, in use

E

-

-

-

Dead

Definitions

  • Development
  • There is a development roadmap specific to the dev project
  • Has at least one responsible developer assigned
  • Maintenance
  • Has at least one responsible maintainer assigned
    • Responsible for monitoring code base in terms of vulnerabilities, functional breakages
    • Responsible for addressing (at the very least) critical issues in the code base
  • Example activities covered
    • Dependency / base image updates
    • Implement required adaptations to new or changed context (OS, runtime, servlet container, ...)

Status

 

Project examples

A

Prototyping - first RC

VCR JS widget

VLO 5.0

DOG

B

Matur(ing), in use

VLO

VCR

C

Stable, feature frozen

Switchboard

Component Registry

Centre Registry

OAI-PMH Harvester, viewer

RASA

D

Abandoned, in use

SAML-metadata-checker

earlier: FCS?

E

Dead

clarin-horizon_drupal_theme

[TODO: guidelines matrix for status X aspect]

Per project status:

  • What drives releases?
  • A-B: roadmap
  • C: external factors, e.g. support for underlying technology, fixing of critical bugs and vulnerabilities
  • D-E: n/a
  • Maintainer(s) - tasks and responsibilities
  • A-C MUST address critical security risks
  • CAN address other issues
    • enhancements and new functionality covered by developer role!
  • No maintainer (cat D, E) -> operational handbook
    • Possibility to (temporarily) address as C in short term
    • OR (temporarily) shut down
  • Repository
  • Cat A-C: MUST be findable in Git repositories
  • D: SHOULD be in Git repository, MAY be in deprecated repository system
  • E: SHOULD be archived
  • Issue reporting & tracking
  • A-B: known issues, envisioned features are documented in issue tracking system by developer/maintainer
    • may be for C as well but without commitment
  • A-B-C: maintainer will handle incoming issue reports via repository system
  • D-E: issue reporting is disabled
  • Documentation
  • A: needs to have minimal documentation (needs to be defined) for development, deployment, testing purposes (up-to-date README file)
  • B-C: need to have up-to-date documentation both for development and operational purposes and end users; changelog
  • D-E: documentation needs to include statement about status of project
  • Monitoring -> operational
  • B-C: needs permanent monitoring with alerting, log aggregation to ensure good health
  • D: included in general monitoring to ensure being alive