Lifecycle of a Spring Extension

Every extension project goes through a formal, well-defined lifecycle so that you can get a feel for how mature an extension is at a glance. At first, every extension starts as a proposal...

Proposal

An Extension must first go through the Proposal phase. Each extension is evaluated using a number of criteria to determine whether the extension should go ahead.

If the Extension is of interest and an internal sponsor can be assigned then the Extension is created in the incubation phase.

Incubation

Once an extension has been successfully proposed, it starts life in the incubator. The purpose of the incubator is to be a "proving ground". Projects are expected to stay in the incubator until they reach a stable level of feature completeness and maturity.

Possible outcomes:

Live

Once an extension has been proven in the incubator, it may graduate and become "Live". This progression is a statement of maturity for the extension; it has reached a technical stability, and the problem it solves is of value to the community.

Extensions are expected to spend most of their time in the "live" state. In this phase the extension will continue to evolve and grow.

Possible outcomes:

Archived

Once an extension has reached a natural end of life, the extension is moved to the archive.

An extension may reach end of life for any number of reasons:

  • (orphaned) lack of resource to maintain the extension
  • (solved) the problem has been solved and is no longer relevant
  • (redundant) the problem has been solved by the core framework, or an existing portfolio project
It is entirely possible that should an extension enjoy a resurgence of interest then it will move from archived back into a Live state.

Join Spring Projects

Some, but not all, extensions may prove to be successful enough to merge with an existing Spring project or even result in a new one being created. This is one of the main benefits of being a Spring Extension as the venture offers a true route through from initial project to full blown Spring project member that has never been officially offered in the past.

Want to propose a new Spring Extension?

If you think you have a project, either an existing project or maybe an entirely new idea, that would make a good Spring Extension then here's the process to follow.