Glossary of OpenSSL terms
This is a glossary of terms, it does not include any formal definitions of the included terms. It does, however, link to the formal definition where appropriate. In the event in a conflict between this glossary and the formal definition, the formal definition is always canonical.
ABI
Application binary interface
An ABI compatible release allows a shared library to be replaced with a new version or for applications to be relinked against the new library with the expectation that everything will run.
ABI compatible releases are also API compatible.
Alpha release
An alpha release is an early pre-release version. Refer to the versioning policy for specific details.
API
Application programming interface
An API compatible release, that is not ABI compatible, allows application to be recompiled against the new library with the expectation that everything will run.
Refer to the API compatibility policy for specific details.
Beta release
A beta release is a late pre-release version. Refer to the versioning policy for specific details.
Bug fix
A bug fix is a fix of functionality of the libraries, modules, applications or the build system. Refer to the stable release updates policy for specific details.
Bylaws
The OpenSSL Bylaws provide the rules under which the OpenSSL project operates. This includes the Committer, OMC and OTC project roles and how decisions are made.
CCLA
Corporate Contributor Licence Agreement
The CCLA is a legal document that grants certain rights to code contributed as part of the employment of the contributor. All non-trivial contributions on behalf of an employer must be submitted under a CCLA.
Also see: ICLA
CHANGES
Significant modifications for the OpenSSL library or commands are documented in the CHANGES.md file.
CI
Continuous Integration
A suite of tests and checks that are run on every pull request, commit or on a daily basis.
CLA
Contributor Licence Agreement
This is a legal document that grants certain rights to your contributed code. All non-trivial contributions must be submitted under a CLA, either an ICLA for personal contributions or both an ICLA and a CCLA for work related contributions.
Also see: Contributor Agreements, ICLA, CCLA
Committer
OpenSSL committers are contributors who have commit access to the OpenSSL source code repository.
End-user documentation
End-user documentation is documentation intended for users of the OpenSSL libraries and commandline utilities.
Functional behaviour
What the system does, rather than how it does it. Refer to the testing policy for specific details.
ICLA
Individual Contributor Licence Agreement
The ICLA is a legal document that grants certain rights to your contributed code. All non-trivial contributions must be submitted under an ICLA.
Also see: CCLA
LDP
Linux Documentation Project
Our documentation aims to broadly conform with The Linux Documentation Project’s guidelines. Refer to the documentation policy for specific details.
LTS
These releases are supported for longer than normal releases. Refer to the versioning policy for specific details.
Major release
A major release is one where API and ABI breaking changes are permitted. Refer to the versioning policy for specific details.
Minor release
A minor release is one where API and ABI breaking changes are not permitted and additional functionality can be added. Refer to the versioning policy for specific details.
NEWS
Very significant modifications for the OpenSSL library or commands are documented in the NEWS.md file.
OMC
OpenSSL Management Committee
This group oversees all managerial and administrative aspects of the project. The OMC is the final authority for the OpenSSL project. The OMC is governed by the OpenSSL Bylaws and the various policy documents.
OTC
OpenSSL Technical Committee
This group oversees all technical aspects of the project. The OTC is governed by the OpenSSL Bylaws and the various policy documents.
Patch release
A patch release is one where API and ABI breaking changes are not permitted and no additional functionality can be added. Refer to the versioning policy for specific details.
perlasm
Assembly code wrapper written in Perl. This is done to ease compatibility problems across assemblers, platforms and processor revisions. For further details see the perlasm README.
Public interface
A public interface is any function, global variable, structure or macro declared in a public header file. Refer to the API compatibility policy for specific details.
Stable release
A stable release is one where the permitted changes are minimised. Refer to the stable release updates policy for specific details.