Introduction
Software projects do not have a strictly linear lifecycle, but they typically move through the lifecycle stages in this order:
When a software project begins its goal will be to move to the Graduated stage.
1. Proposal
How to submit a proposal:
Any GSF member can submit a proposal. It should be submitted to a Working Group using the New Project Proposal issue template.
Proposal-writing tips and tricks:
Moving to the next stage:
As above, any software project idea can be proposed to a Working Group for consensus approval. We have low barriers to entry at this stage: a proposal will be refined over the project’s lifecycle into something truly awesome and impactful.
Approval criteria
Approval process
2. Incubation
What features does an Incubated project have?
Incubated projects are where collaborative development happens. Therefore:
- They must be publicly accessible in a designated repository
- The repo must contain the following disclaimer at the top of the README file and all other public-facing documentation:
[!important] Incubation Project This project is an incubation project being run inside the Green Software Foundation; as such, we *DON’T* recommend using it in any critical use case. Incubation projects are experimental, offer no support guarantee, have minimal governance and process, and may be retired at any moment. This project may one day graduate, in which case this disclaimer will be removed.
What are the benefits of an Incubated project?
When a project is in Incubation, it is considered an official GSF project. This means it gets the resources it requires to move through the remainder of the lifecycle, including:
- A project environment that fosters collaborative, open development and provides a path to maturity via the graduation process
- Marketing support from GSF, including:
- being listed on the GSF website and in our newsletter updates;
- the opportunity to participate in GSF events; and
- shout-outs and connections via social media.
- Mentorship in areas such as, but not limited to:
- project management;
- governance;
- legal;
- tooling;
- security best practices; and
- documentation.
Moving to the next stage
Approval criteria
Approval process
3. Graduated
Features of a Graduated project
In a graduated project:
- At least version 1 of the project is released and publicly available
- Contributors may continue to explore further versions of the project
- The repo must contain the following disclaimer at the top of the README file and all other public-facing documentation:
[!important] Graduated Project This project is a Graduated Project, supported by the Green Software Foundation. The publicly available version documented in the README is trusted by the GSF. New versions of the project may be released, or it may move to the Maintained or Retired Stage at any moment.
Benefits of a Graduated project
Graduated projects:
- Have the backing of the GSF;
- Receive marketing support to celebrate the graduation of the project;
- Replace the ‘Incubation’ disclaimer with one that shows it is a trusted project supported by the GSF.
Moving to Maintained
A project moves from Graduated to Maintained when the Project Team notifies the GSF PM that they are no longer actively working on the project, but will continue maintenance.
Approval process
Moving to Archived
A project moves to Archived when the Project team notifies the GSF PM they can no longer commit to maintaining the project.
Approval process
4. Maintained
Features of a Maintained project
Maintained projects must:
- be maintained by their team
- keep their repo open for contributions
- contain the following disclaimer at the top of their repo’s README file and all other public-facing documentation:
[!important] Maintained Project This project is in maintenance being run inside the Green Software Foundation. Releases are maintained but not improved. This project may be retired, or reactivated back into incubation.
Benefits of a Maintained project
Maintained projects:
- remain under the GSF umbrella
- can re-enter incubation stage and become active again
Moving to Incubation
A project moves back from Maintained to Incubation when the Project team notifies the GSF PM they can begin actively contributing to the project once more.
Approval process
Moving to Archived
A project moves to Archived when the Project team notifies the GSF PM they can no longer commit to maintaining the project.
Approval process
5. Archived
Features of an Archived project
Archived projects:
- are not maintained by their community.
- cannot be moved back to any other stage: if contributors want to restart the project, they must raise a New Project Proposal issue.
- must contain the following disclaimer at the top of their repo’s README file and all other public-facing documentation:
[!important] Archived Project This project is archived and is no longer being run inside the Green Software Foundation. Releases are *NOT* maintained or improved. This project cannot be reactivated.