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 |
earlier: FCS? |
E |
Dead |
[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