Basho's Erlang/OTP fork. See the README file below.
Erlang C C++ Makefile Java HTML Other
Switch branches/tags
Clone or download
Pull request Compare This branch is 7 commits ahead, 7385 commits behind erlang:master.
Failed to load latest commit information.
HOWTO Fix purge of code Aug 29, 2016
bin The R13B03 release. Nov 20, 2009
bootstrap Merge branch 'sverker/net_kernel-setopts/OTP-13564' into maint Aug 19, 2016
erts Prepare release Sep 20, 2016
lib Prepare release Sep 20, 2016
make Merge branch 'binarin/even-more-absolute-paths/PR-1103/OTP-13800' int… Aug 12, 2016
plt The R13B03 release. Nov 20, 2009
system doc: Fix code format in tutorial/c_port Sep 13, 2016
xcomp ose: Remove all code related to the OSE port Jul 10, 2015
.gitattributes Stop including in .gitignore files in the source tar files Aug 18, 2010
.gitignore Update .gitignore Sep 13, 2016
.mailmap Add .mailmap file Feb 14, 2010
.travis.yml Update configuration Oct 2, 2015
AUTHORS The R13B03 release. Nov 20, 2009
LICENSE.txt Change license text to APLv2 Jun 18, 2015 Remove test_server as a standalone application Feb 17, 2016
OTP_VERSION Updated OTP version Sep 20, 2016 README tweak Jul 18, 2016
TAR.include Move README and INSTALL to HOWTO folder Jul 19, 2012 Don't make assumptions about build tools paths Jun 15, 2016 Change license text to APLv2 Jun 18, 2015
otp_build Delete dead code in `otp_build` script Jun 2, 2016
otp_patch_apply Change license text to APLv2 Jun 18, 2015
otp_versions.table Updated OTP version Sep 20, 2016
prebuild.delete Regenerate bootstrap/{erl,erlc} when switching target Aug 9, 2010
prebuild.skip OTP-8323 Cross compilation improvements and other build system Feb 3, 2010

##Basho Erlang/OTP

This is the home of Basho's version of Erlang/OTP, forked from Ericsson's repository. You can (and should!) read their README file for information on the language and applications.

###Branch Information

####This is not a supported branch, it is informational ONLY!

Basho OTP should be built from one of the following branches or tags. If you're building for any use approximating production, we strongly encourage you to use a tagged production release.

Status Base Branch Release Tag Stable B/T
Production R16 basho-otp-16 OTP_R16B02_basho10 OTP_R16B02_basho10
Retired R15 basho-otp-15 basho_OTP_R15B01p OTP_R15B01_basho1
Experimental OTP-17 basho-otp-17 n/a basho-otp-17
Experimental OTP-18 basho-otp-18 n/a basho-otp-18
Active OTP-19 basho-otp-19 n/a basho-otp-19

####Branch Conventions

All Basho branches are named with the prefix basho - any other branch name is simply updated periodically, unchanged, from Ericsson's repository.

For any given Basho OTP NN version, the current stable branch is basho-otp-NN and work-in-progress branches are basho-otp-NN-some-descriptive-name. Updates from the main Erlang repository are merged from the appropriate maintenance branch into basho-otp-NN periodically, usually at tagged point releases.

Further information on branches can be found in README and Release Notes files on the branches themselves.

###What's Here

Our modifications to the original distribution generally fall into one or more of the following categories:

  • Performance
    Our users care a lot about performance, and we do what we can to get the best out of our products running on Erlang/OTP.
  • Security
    In general, we tighten up security in our releases where it makes sense for us to do so.
  • Stability & Scalability
    Erlang/OTP is pretty stable and scalable, but when we find an area where we can improve it for running our applications, we do.

####Where it Works

Erlang/OTP is designed to run on a wide array of platforms, while our products are not. As such, we only qualify our releases on 64-bit operating systems running on x86_64 processors. Specific versions are listed for our products, but our focus is on relatively current versions of:

  • FreeBSD
  • Linux
  • OS X
  • SmartOS
  • Solaris


Our releases should be fully interoperable with unmodified Erlang/OTP distributions, but not necessarily in their default configurations. We DO change a few default settings, but generally accept the same configuration options to set them explicitly.


No, we don't do Windows, and we don't even do all available versions of the systems listed above. While we do try to keep our changes as portable as the original distributions they're based on, we don't test beyond what our products support.

###Building and Installing

General information on building and installing Erlang/OTP can be found in the $ERL_TOP/HOWTO/ document.

Specific instructions for building Basho's OTP releases can be found in the README file on the branch you're building.


Our version identifiers correlate to the Erlang/OTP release without the basho suffix, but our changes to individual ERTS components and OTP applications may not always carry distinct versions due to release process issues with older versions. Our releases are intended to be used as a single cohesive installation, we do NOT support mixing components between our releases and the original distributions.

###Contributing to Erlang/OTP

Unless you want to suggest a patch to our specific Erlang/OTP changes, if you find something you think needs to be changed you'll want to refer to the Erlang instructions for submitting bug reports or patches.

If your patch pertains specifically to our version, forking and creating a pull request on GitHub is the best way to get us to consider it. Bear in mind, however, that our releases are tailored to our needs, so if it's not directly pertinent to how our users deploy Erlang/OTP, it may not be of interest to us.

###Copyright and License

Everything in Erlang/OTP, whether part of the original distribution or a contribution of ours, is subject to the terms of the license applied to it in Ericsson's repository. Through OTP-17, that was the Erlang Public License. Beginning with OTP-18, the Apache License, Version 2.0 applies.