Release Requirements Policy

The OpenSSL project team creates the following 5 types of OpenSSL software releases:

This policy defines the requirements on the state of a branch in the source tree that must be met before a release from that branch can be done.

Alpha Pre-releases

As this is just a preview release for testing things that have been worked on in the development branch, the requirements are minimal.

Beta Pre-releases

The API and ABI should be stable and the source code should be feature complete by the first beta pre-release. The following release requirements apply to beta pre-releases.

Major and Minor Releases

As the release comes after the beta releases there is no need to repeat the stability requirements as those should be held already by the beta releases.

Patch Releases

The patch releases follow a similar process to major and minor releases with some simplifications as they are much more frequent and the tree stability requirements for the stable development branches should ensure there is a minimum amount of regressions in between the patch releases.

Triage Process

The issues and pull requests in GitHub must be assigned a triaged: * label by an OTC member according to what is the type (feature, bug, documentation, refactoring, …) of the issue or pull request. When the triage happens for an issue or pull request that is a bug/bug fix, it must be assessed whether the bug is a regression or not.

In general regressions should be fixed as soon as possible, optimally before the next release from the development tree is done. However sometimes that might not be reasonably possible due to time, resource, or fix complexity constraints.

In that case OTC should explicitly acknowledge that the regression is not to be fixed before the release is done. That is done by assigning a milestone by which the regression must be fixed and the triaged: OTC evaluated label.

The triage ideally happens as soon as possible, however the triage process can sometimes be costly, so we aim to have issues triaged no later than 4 days after they are reported.

Responsibilities

The OTC is responsible to ensure the releases conform to these requirements. How exactly the OTC handles this responsibility is undefined here on purpose except for the explicit votes required for the first beta release and the major or minor releases.

For example the responsibility to follow the release requirements can be delegated by the OTC to the person (or the team) preparing the release.