I maintain a fairly popular open source project called Disk that helps iOS developers work with the iPhone’s filesystem. I had to learn the inner workings of obscure iOS frameworks and build Disk around Apple’s exhaustive storage guidelines involving user privacy and iCloud backup behavior — all appropriately handled behind Disk’s simple API, saving tons of iOS developers from having to understand it all themselves. Unfortunately after moving out to California and getting a full time job I found myself committing less time to open source and no one I trusted was willing to take over the project. I also realized that other OSS maintainers faced the same problems (see event-stream) so a few months later I launched GitRoyalty — a new solution to open source sustainability using a git-based paywall.

GitRoyalty is a platform that allows OSS project maintainers to hide a package’s manifest or build script (e.g. package.json) behind a monthly subscription. This way users will have to subscribe in order to use dependency managers (like NPM or pip that require the manifest) to install the package into their projects. Alternatively, instead of hiding the manifest/build script, you could even use GitRoyalty to hide good-to-have files that aren’t required to use the project (e.g. in-depth documentation/guides/examples or extra source code). This way users are incentivized to subscribe but not forced to.

The idea is that with low prices and the power of numbers, both popular and transitive OSS dependencies can sustain development while keeping licensing permissive. Most employment contracts strictly forbid using OSS with copyleft/commercial/dual licensing — resulting in most commercial projects having to switch to permissive licensing to keep developers out of trouble. Now GitRoyalty can provide these projects an avenue for income without imposing dysfunctional licensing structures.

GitRoyalty also distributes subscription earnings to all contributors of a project, which will hopefully incentivize more developers to collaborate on OSS projects instead of creating issues for bugs, feature requests, or security vulnerabilities and putting the burden on overworked maintainers’ shoulders.

Using GitRoyalty with Disk

1. Follow GitRoyalty’s docs to add paywall to Disk