Magma is an open-source software platform that gives network operators an open, flexible and extendable mobile core network solution. Magma enables better connectivity by:
- Allowing operators to offer cellular service without vendor lock-in with a modern, open source core network
- Enabling operators to manage their networks more efficiently with more automation, less downtime, better predictability, and more agility to add new services and applications
- Enabling federation between existing MNOs and new infrastructure providers for expanding rural infrastructure
- Allowing operators who are constrained with licensed spectrum to add capacity and reach by using Wi-Fi and CBRS
- Mailing lists:
- Join magma-dev for technical discussions
- Join magma-announce for announcements
- Slack:
- Magma workspace
- Slack Invite
See the CONTRIBUTING file for how to help out.
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.
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 Technical Committee (TC) is comprised of 5 members who are responsible for architectural decisions and making final decisions if Maintainers cannot come to an agreement. The initial members will be appointed to 12 month terms 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 of the 5 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.