Tarballs |  License |  Bugs |  Repository |  Mirror 


Git repository

The OpenSSL package is developed in a Git-based repository. It is available via Git mechanisms at or at on GitHub.

Fetching Git repository snapshot tarballs

Tarballs containing snapshots of the latest git repository states can be found under They are created on a daily basis. These snapshots are provided for convenience only. When you really want to keep yourself up-to-date please use the bandwidth-friendly git service to directly clone the git repository instead.

Anonymous Git access

Read only access to the respository is possible using the git protocol. Use the following command to clone the git repository including all available branches and tags:

$ git clone git://

Access to the specific branches is possible via standard git methods using the git branch and git checkout commands. See the discussion of branch naming below for more information.

On Windows, once the repository is cloned, you should ensure that line endings are set correctly:

$ cd openssl
$ git config core.autocrlf false
$ git config core.eol lf
$ git checkout .

git mirror sites

A mirror at github is updated every 15 minutes. Github provides access via additional protocols.

Git branch names and tagging

The master (also known as the development branch) contains the latest bleeding edge code. There are also several stable branches where stable releases come from. These take the form OpenSSL_x_y_z-stable so for example the 1.0.0 stable branch is OpenSSL_1_0_0-stable. When an actual release is made it is tagged in the form OpenSSL_x_y_zp or a beta OpenSSL_x_y_xp-betan though you should normally just download the release tarball. Tags and branches are occasionally used for other purposes such as testing experimental or unstable code before it is merged into another branch.

CVS (Legacy) repository

All of the development history has been converted to Git. The CVS source code repository is frozen and the final version is available at