Development & Team
This page outlines the language’s past and future development.
Development
José Valim created Elixir in 2012 as a Research and Development project inside Plataformatec. Elixir’s goal is to be a productive and extensible language for writing maintainable and reliable software.
Elixir runs on top of the Erlang Virtual Machine, which provides a scalable and fault-tolerant foundation. Elixir was designed to leverage this foundation without performance costs and aims to contribute to the wider ecosystem whenever possible.
Elixir’s source code is under the Apache 2 License and is maintained by the Elixir Team. The source code and contribution guidelines can be found on the language repository.
Elixir v1.0 was released in September 2014 and a new minor version is released every 6 months, around May and November of every year. New releases are announced in the read-only announcements mailing list with a link to the complete CHANGELOG. All security releases will be tagged with “[security]”. Security vulnerabilities should be disclosed to elixir-security@googlegroups.com. Our compatibility and deprecation policies are also documented.
Since v1.0, the language development has become focused to provide a compact and consistent core. The Elixir team focuses on language features that:
- are necessary for developing the language itself
- bring important concepts/features to the community in a way its effect can only be maximized or leveraged by making it part of the language
The language development is open, both in terms of source code and of collaborations. All features and bug fixes planned for the next releases can be found in the issues tracker. Features that may cause a larger impact on the ecosystem are first proposed to the community in the Elixir mailing list as well as in the “Elixir News” section in the Elixir Forum.
Community members are welcome to propose new features for Elixir. Before submitting a proposal, members are encouraged to gather feedback from around the community in whatever venues seem best. However, in order for a proposal to be considered for inclusion by the Elixir Core team, it must go through the Elixir mailing list. This often includes discussion and refinement of the proposal. The Elixir Core team has the final say on whether a proposal is accepted or rejected. While members are encouraged to gain support from the rest of the community, popularity does not mean that a proposal will be accepted.
To remain focused, Elixir trusts its ecosystem to bring diversity and broaden its use cases. Therefore the language was designed to be extensible: the constructs available to build the language are also available for developers to extend the language and bring it to different domains. Projects such as the Phoenix web framework, the Nerves embedded framework, and Numerical Elixir are such examples.
Elixir also relies on a vibrant community to support its growth. The community is behind the meetups, events, learning resources, open source projects, and more. See the sidebar, the Learning Resources and the Hex Package Manager website for some examples and more information.
The best way to support the language is by getting involved in its community and contributing to the ecosystem.
Welcome!
Team
The Elixir Team is composed by:
- José Valim
- Eric Meadows-Jönsson
- Andrea Leopardi
- Fernando Tapia Rico
- Jean Klingler
We are also grateful to the past members of the Elixir Team:
- Alexei Sholik
- James Fish
- Aleksei Magusev
- Michał Muskała
Finally, we thank all of our contributors.