Electric Coin Co. is spearheading a new type of open-source license, one that enables anyone to commercially support and improve software while ensuring that all improvements are open source after a set period of time. This license, the Transitive Grace Period Public License, TGPPL for short, is a way to make open source more resistant to capture and more sustainable.
The internet as we know it runs on open-source software. Open-source development is a model that allows for the general access, use, modification and distribution of a software’s source code. One of the primary ways to develop open source effectively has been through open-source licenses and standards. Open-source software licenses follow the Free Software Foundation’s “Four Freedoms of Free Software” and the Open Source Initiative’s “Open Source Definition.”
Open-source projects have traditionally been vulnerable to two threats: underfunding, which threatens the sustainability of the project, and capture, in which whoever fills the funding gap can turn the project to serve their interests instead of the public good. These challenges have been eloquently described by Nadia Eghbal and Feross Aboukhadijeh. The TGPPL is intended to allow for the best of both worlds: a limited-time period where creators can make money from their software while ensuring that the software will be subsequently open-sourced in order to serve everyone equally.
ECC released its implementation of Halo 2 under the TGPPL license. The TGPPL is a fully open-source license, meaning that (i) anyone in the world is permitted to privately use the licensed program for any purpose and to read the source code, and (ii) anyone is free to build their own projects (formally, “derivative works”) on top of the Halo code provided that they abide by the agreement to open-source the derived work under the same terms once the grace period expires.
ECC’s primary objective with Halo 2 is to make sure it’s ready to deploy in Zcash in 2021. We believe Halo 2 is the best way to eliminate the trusted setup from Zcash and to take a step on the path to Scalable Zcash at Layer 1, but ultimately, it is the community’s decision whether to deploy Halo 2.
Call for Input
We understand that this is an unfamiliar open-source license, and teams might have questions. We want feedback on TGPPL and we want to see this idea improve and evolve, as all open-source endeavors do. If you are interested in implementing Halo in your project, we’d love to hear from you. We believe that deploying our Halo implementation with the TGPPL is important to encourage continued long-term sustainable open-source development to our Halo implementation and derived works. If there are improvements, objections or alternative approaches, we’re open to learning about those, as well. If there are ways to improve TGPPL as an open-source license, we should evolve the licensing to fix it, for the benefit of all open-source software development and public infrastructure projects.
Special thanks to Vitalik Buterin for reviewing and providing feedback to this post.
- TGPPL, LAFS Tahoe Presentation, Ping Yee
- MetaMask Changes Its License, Build Blockchain Tech Newsletter
- Working in Public, Nadia Egbhal
- Recapping the Funding Experiment, Feross Aboukhadijeh
- FOSS Governance and Blockchain Networks, Mario Laul
- Open Source Initiative – Licenses & Standards
- The internet relies on people working for free, Owen Williams
- Why modern open source projects fail