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 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

Long term support

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.

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.