Last year, we changed the license of the main Directus project from GPL3 to the BSL 1.1. Just over a year later, we want to share our experience of how the decision making process and implementation went and where we are at with the license now.
To recap, the BSL 1.1 license change meant that:
- Production use of Directus is still completely free for all users... unless your legal entity exceeds $5,000,000 USD in total finances per year (you can find a description of “total finances” in our FAQs).
- All Directus source code remained open and available on GitHub.
- Non-production use of Directus continued to be free for everyone.
- Code released under the new license converts to GPL3 after 3 years.
- Directus Cloud projects are unaffected as the license is included.
Setting the Scene
We wanted to ensure that Directus stays around and available to use, which meant we had to address the funding problem™️ and find a solution that allows us to operate with long-term sustainability while staying true to our open source values.
Big Companies Don’t Pay For Open Source
Before our license change, our only revenue stream was Directus Cloud — our managed infrastructure SaaS — and the professional services offered to enterprise customers (support and advisory consulting).
We take pride in making Directus easy to self-host. But this also posed a challenge in that despite our software saving/making our customers money, with no legal requirement for them to contribute back, few ever did.
This is a huge problem for open source generally. With many large corporations quick to use OSS projects, but rarely supporting them (financially, or otherwise).
Cloud Exclusives Were Distracting
We turned to the idea of ‘Cloud Exclusives’ which dedicated some of our engineering time to building features that were only available on our paid Cloud offering.
But this didn’t sit right with us for three reasons:
- We want as many people as possible to benefit from the work we do, and cloud exclusives punish those who self-host.
- It was distracting, with much of our effort being focused on creating proprietary extensions, instead of the improving the core project itself.
- It placed us in competition with our community of extension authors.
A Genuine Exploration Into Sustainability
It’s also important to note that this was not an investor-driven decision. We are fortunate that our amazing investors and board members fully believe in open source as a commercial model.
As a collective, we understand that building a large user base around a project people love can unlock massive growth. After all, it’s the individual developers who make and support tech stack decisions for their projects, and they tend to lean on tools they know well.
Involving the Community
There have been a good number of projects who have recently adopted permissive-but-not-quite-open-source licenses… and it usually hasn’t gone well. We knew early on that involving our community in finding the ideal path forward for Directus was crucial.
We opened a thread on our GitHub repo and received nearly 200 replies. We ran Town Hall discussions. And we listened. The decision to re-license was not set, but the need for some change was clear, and by being open in sharing our challenges, we were able to gather and discuss potential solutions with our community.
Most of the suggestions beyond the initial three we offered were ones we’d already explored without success, but that only prompted more constructive problem solving discussion.
That means, that when we did eventually decide that a license change was the correct approach for our project, it wasn’t a surprise.
Previous Contributions
Accepting contributions is an important part to most open source projects, but changing a license with code that others have contributed to can get weird. We got in touch with all previous contributors who had made material contributions to ensure they knew what was happening and that we had their legal consent.
Why BSL?
There are a number of popular licenses to choose from, but we chose the BSL because it has the ability to have custom usage grants. This allowed us to make the default license far more permissive, adding a broad scope of users for whom Directus would be effectively open source.
The BSL has been endorsed by the founder of the Open Source Initiative, Bruce Perens, who we consulted with, and has been successfully used by projects like MariaDB, Couchbase, Cockroach Labs, and Sentry.
Making the Change
Directus 10.0.0, released on April 26 2023, marked a significant change in the Directus project — through a single update to the LICENSE file. It was important to us that the change was not obfuscated or otherwise hidden, so we made it the only change in this version.
For the vast majority of our users, this release did not introduce any change from their prior usage. They continue to access Directus without a paywall and have the added knowledge that the team is enabled to continue building a premium and consistent core product they can deploy for free.
The main difference is that larger companies and governments using Directus in production now were required to financially contribute to the project. This enables our team of full-time engineers to maintain and improve the core platform indefinitely.
Since we had been discussing this change openly a while, and involved our community, many of our users knew change was coming, and we believe this was paramount to navigating it successfully.
A Year Later
A year later, and this change has been overwhelmingly positive for our team and our users.
On the product side, we are enabled to “just” build the best product possible for the benefit of everyone. The following release of Directus after the license change — 10.1.0 — contained all of our Cloud-only exclusives… making them available to everyone.
On the business side, despite our impacted user base is estimated to be under 1%, just two weeks after the change enterprise self-hosted licenses comprised the majority of our new business. This led to phenomenal 200% growth (3x) in our annual recurring revenue 2023.
On the community side, it’s working rather well. We continue to have contributions in both our codebase and community. We have developers advocate for their businesses to use Directus in projects, and continue to use it for personal projects.
Wrapping Up
We’re proud of the way we engaged with the community throughout this change and view a lot of the success as attributable to how involved they were with the decision making. While many other companies we saw adopt BSL or undergo similar transitions of licensing struggled with their community’s backlash from the change, that wasn’t something we experienced for the most part. In fact, our monthly downloads and GitHub Stars increased after the change!
We understand that the BSL license does not meet all of the Open Source Initiative’s 10 criteria for a license to be open source, but we and our community understand the fundamental needs of sustainable open source, something which is only solved by balance.
We’re still learning and discovering how to best enforce this new license, even a year later still operating on an “honor system” policy that requires trust that our users will self-identify. But we’re in no rush, and would rather do things the right way.
As we’re seeing more projects adopting this model, we feel reassured that we came to the right decision. The idea of Post-Open licenses is becoming more common, and we hope that our successful adoption of one helps educate the larger developer community on what they are and how they work by increasing familiarity.