Skip to content
Erlang C C++ Makefile Java HTML Other
Latest commit 439292a Hans Bolinder Merge branch 'hb/dialyzer/fix_bitstr_bug/OTP-13312' into maint
* hb/dialyzer/fix_bitstr_bug/OTP-13312:
  dialyzer: Correct byte_size() and comparisons
Failed to load latest commit information.
HOWTO update java version in documentation
bin The R13B03 release.
bootstrap Update primary bootstrap
erts Merge branch 'sverk/hipe-line-table-bug/OTP-13282' into maint
lib dialyzer: Correct byte_size() and comparisons
make Change xmllint target
plt The R13B03 release.
system doc: Fix some minor issues in Types and Function Specifications
xcomp Change license text to APLv2
.gitattributes Stop including in .gitignore files in the source tar files
.gitignore Merge branch 'johanclaesson/maint' into maint
.mailmap Add .mailmap file
.travis.yml Update configuration
AUTHORS The R13B03 release.
LICENSE.txt Change license text to APLv2 Change license text to APLv2
OTP_VERSION Updated OTP version Change license text to APLv2
TAR.include Move README and INSTALL to HOWTO folder Change license text to APLv2 Change license text to APLv2
otp_build erts: Detect and build on MSYS2 for windows
otp_patch_apply Change license text to APLv2
otp_versions.table Merge branch 'maint-18' into maint
prebuild.delete Regenerate bootstrap/{erl,erlc} when switching target
prebuild.skip OTP-8323 Cross compilation improvements and other build system


Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecom, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance.

OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools.


BEAM is the name of the virtual machine where all Erlang code is executed. Every compiled Erlang file has the suffix .beam. The virtual machine is sometimes referred to as the emulator.

ERTS is the Erlang Runtime System where the BEAM, kernel and standard libraries amongst others are included.

More information can be found at

Building and Installing

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

Contributing to Erlang/OTP

Here are the instructions for submitting patches.

In short:

  • We prefer to receive proposed updates via email on the erlang-patches mailing list or through a pull request.

  • Pull requests will be handled once everyday and there will be essential testing before we will take a decision on the outcome of the request. If the essential testings fails, the pull request will be closed and you will have to fix the problem and submit another pull request when this is done.

  • We merge all proposed updates to the pu (proposed updates) branch, typically within one working day.

  • At least once a day, the contents of the pu branch will be built on several platforms (Linux, Solaris, Mac OS X, Windows, and so on) and automatic test suites will be run. We will email you if any problems are found.

  • If a proposed change builds and passes the tests, it will be reviewed by one or more members of the Erlang/OTP team at Ericsson. The reviewer may suggest improvements that are needed before the change can be accepted and merged.

  • Once or twice a week, a status email called "What's cooking in Erlang/OTP" will be sent to the erlang-patches mailing list.

Copyright and License


Copyright Ericsson AB 2010-2014. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Something went wrong with that request. Please try again.