A new home and license (AGPL) for Synapse and friends
Update Dec 13th 2023: Synapse is now AGPL - see https://element.io/blog/synapse-now-lives-at-github-com-element-hq-synapse/ for the details.
We believe in open source because it encourages innovation, ensures transparency and puts end-users in control. It’s why we created Matrix as an open source project, and ensured a well-defined open governance model around it through the Matrix.org Foundation, to ensure the protocol will always be guided by its original manifesto.
As founders of Matrix, we created Element as a for-profit open source company to hire the core Matrix team to be able to work on Matrix, develop a flagship Matrix-based product, bootstrap the Matrix ecosystem, and help fund the underlying core Matrix projects. As a commercial entity, Element has driven the bulk (more than 95%) of core Matrix development for the last seven years, and maintains the largest Matrix homeserver (matrix.org) on behalf of the Matrix.org Foundation. That has helped drive Matrix adoption, and stimulate a wonderfully vibrant community.
Over the last year or two Matrix has evolved from ‘explosive growth’ to being a ‘category’ in its own right. In other words, ‘Matrix-based’ is now specified as a requirement in massive public and private sector tenders - in which multinationals compete to provide Matrix-based products and services.
That’s fantastic, and a huge achievement. A competitive open source ecosystem is a powerful multiplier. It triggers more innovation, encourages transparency and gives end-users more independence.
The road ahead
Element has always put the growth and success of Matrix first. We have daily discussions about which choices best ensure that Matrix thrives, with Element simply needing to stay on a path to success.
Today we have arrived at a crossroads. We have succeeded in making Matrix wildly successful, but Element is losing its ability to compete in the very ecosystem it has created. It is hard for Element to innovate and adapt as quickly as companies whose business model is developing proprietary Matrix-based products and services without the responsibility and costs of maintaining the bulk of Matrix. In order to be fair to our customers, we need to be able to put more focus on them and their specific requirements.
So it’s time for us to get back in the game by establishing a level playing field and ensuring we can continue to support Matrix, whilst delivering the services our customers are requesting. This took us to reconsider how we license the open source code we develop.
After considerable thought, and taking particular inspiration from Grafana, we’ve chosen to pursue future development of Synapse (the main Matrix server), Dendrite (our second generation Matrix server) and associated server-side projects (e.g. sydent, sygnal) under the terms of the Affero General Public License (AGPL) v3 - maintaining the code in new repositories in the Element GitHub org, forked from the Apache-licensed repositories in the Matrix.org GitHub org (originally donated by Element). This is still the same team of developers who have been working on Matrix since it began in 2014, still developing and releasing Synapse as open source - and in fact, arguably even more Free and Libre than before thanks to the AGPL. Client-side code developed by Element, including projects donated to the Foundation, is not affected.
The benefit of switching to AGPLv3 is that it obliges downstream developers to contribute back to the core project - either by releasing their modifications as open source for the benefit of the whole Matrix ecosystem, or by contacting Element for an alternative license. Future code contributors to Synapse will need to sign a contributor license agreement (CLA) based on the Apache Software Foundation’s CLA, giving Element the right to license the contribution commercially to third party proprietary forks so we can use it to help fund Matrix core development in future. (EDIT: to be clear, the sole reason for a CLA is to allow Element to dual-license the software as per https://gnu.org/philosophy/selling-exceptions.html - not to give Element the ability to relicense to a non-OSI license in future. After all, Element already had that ability with the Apache license, and has not used it.)
We believe this is the fairest approach possible: preserving the Free and Open Source nature of these Matrix implementations under an OSI-approved open source license (AGPLv3), while encouraging proprietary forks to contribute to the development costs of the underlying project.
What’s the impact on me?
For Element users and others who don’t run their own server, there’s no difference at all.
For those running unmodified free-standing open source instances of Synapse, Dendrite, Sygnal, Sydent and MAS, there is no change beyond needing to point your deployments at the new repositories in the Element rather than Matrix GitHub organization. These will be available in the coming days.
Please see here for The Matrix.org Foundation's position. Contributors to these new repositories will now need to agree to a standard Apache CLA with Element before their PRs can be merged - this replaces the previous DCO sign-off mechanism.
Those running Element Server Suite (ESS), Element’s enterprise server distribution of Synapse and supporting projects, are not affected - ESS comes with its own enterprise software license which supplants the AGPL requirements.
Organizations and individuals who want to create or run modified versions of these projects or incorporate them within non-AGPL projects are impacted, and they have two options:
- If they are happy to publish their modifications as open source (under the terms of the AGPLv3), they can do so and carry on as normal.
- If they want to keep their modifications and surrounding code proprietary, and distribute the software or run it as a service, they will need to contact Element at [email protected] to arrange an alternative license.
A catalyst for the ecosystem
We think of this license change as a catalyst that will help Element increase the momentum of Matrix even more; and drive full scale adoption of interoperable, data sovereign and secure real time communication. It will speed innovation and accelerate the entire Matrix economy.
Across 2023 Element has laid the groundwork for Matrix 2.0, enabling a step change in performance built off the back of OIDC, Sliding Sync and Native VoIP. AGPLv3 means all those building on Element’s Matrix 2.0 implementations will now contribute to further development.
We’ve built out Element Server Suite, providing a scalable, robust, and professionally supported Matrix server distribution based on our work deploying Matrix for the largest and most demanding organizations in the world - powering both Element deployments, and giving Matrix client developers an enterprise-grade backend to use as they extend the Matrix ecosystem.
And finally, to help get up and running on Element Server Suite, we’ve launched Element Starter - a free self-hosted version of ESS that supports organizations of up to 200 people.
Combined with the creation of The Matrix.org Foundation Membership program, and Josh Simmons’ appointment as Managing Director, the Matrix ecosystem has never been so big, mature or held more potential.
While licensing changes always mark an era of change, we believe the shift to AGPL for Synapse and friends will ensure the entire ecosystem is operating to create a virtuous cycle: helping Element support Matrix more than ever, and so benefiting the entire Matrix industry.