Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core network solution. Our ethos is user-driven and our culture is welcoming and respectful. We invite you to try out Magma, provide your feedback and get involved in contributing to the code.
Join the Magma Community
- Click here and add your email address for self-signup to the magma Slack channel.
Magma community documentation and processes:
Magma Engineering Weekly
- Thusdays at 8:30am Pacific Time
- Meeting for status across all software components
Worksteam 3: CI/CD
- Thursdays at 9:30am Pacific Time
- Engineering meeting for CI/CD/testing
If you are interested in joining any of the open Magma meetings, please contact Kendall Waters Perez at firstname.lastname@example.org.
Magma strives to operate under an open governance model that encourages contribution and participation from all interested organizations and developers. Technical decisions are made by technical contributors and a representative Technical Committee. The community is committed to diversity, openness, and encouraging new contributors and leaders to rise up.
Anyone can become a Contributor by submitting code to the project and having that code accepted through the project’s review process. A Contributor is someone who has had code merged within the last 12 months. Contributors are eligible to vote in the Technical Committee elections. Contributors have access to propose and review code but not merge the code into repos of the project.
A Maintainer has the ability to merge code into the project. Maintainers are active Contributors and participants in the project. In order to become a Maintainer, you must be nominated and approved by the established Maintainers. Within the project, sub-components may decide to have additional requirements for the review of code in their repos.
Code review process
All pull requests require 2 approvals from maintainers for commits as a starting point. Sub groups can evolve this based on what works.
Maintainers must be nominated and approved by established maintainers through a simple majority with no existing maintainer objecting.
The initial Technical Committee (TC) is comprised of 3 members who are responsible for architectural decisions and making final decisions if Maintainers cannot come to an agreement. The initial members will will develop and approve governance rules and proceudres for the project. The initial TC will also define rules for additional TC membership, with a goal of moving to an elected TC membership within 24 months. Once elections begin, the elections will be staggered so that only a portion of the TC seats is up for election in each cycle.
There are no term limits, but in order to encourage diversity, no more than 2 TC seats can be filled by any one organization. The TC will meet regularly in an open forum with times and locations published in community channels.
The exact size and model for the TC may evolve over time based on the needs and growth of the project, but the governing body will always be committed to openness, diversity and the principle that technical decisions are made by technical contributors.
Any individual may hold multiple roles simultaneously such as being a Maintainer and a member of the TC.