Erlang C C++ Makefile Java HTML Other
Latest commit cf78bab Sep 27, 2016 Hans Bolinder Merge branch 'andrey/stdlib/fix_edlin_expand/ERL-1152' into maint
* andrey/stdlib/fix_edlin_expand/ERL-1152:
  stdlib: Add a testcase for Unicode expander
  Support for unicode expander
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 erts: Clearify run_erl docs Sep 21, 2016
lib Merge branch 'andrey/stdlib/fix_edlin_expand/ERL-1152' into maint Sep 27, 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 Simplify the rules for submitting patches Jun 15, 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


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:

  • Submit your patch by opening a new Pull Request.

  • Go to the JIRA issue tracker at to see reported issues which you can contribute to. Search for issues with the status Contribution Needed.

Bug Reports

Please look at the instructions for submitting bugs reports.

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.