Today, we are announcing a change to Akka’s license model so that Akka can be a thriving project for many decades.
I created Akka 13 years ago out of love for programming, distributed systems, learning new things, and open source. It’s been a fantastic journey so far (read about Akka’s inception and early days here). Today, Akka is exceptionally reliable, scalable, and performant. It is the runtime core for 1000s of products, many built by the Global 2000, including household names such as Apple, Disney, GM, HPE, Norwegian Cruise Lines, Starbucks, and Tesla.
For many years, Akka was ahead of its time. Its actor-based programming model—channeling the essence of distributed systems honestly, leveraging concepts like asynchronous messaging and computation, eventual consistency, event logging, and much more, a design we nowadays call reactive—could have been considered alien at the time. But it provided an ideal programming model for cloud computing years before it was even on most companies' radar. It’s great that the industry has caught up with Akka and its reactive principles of system design. With the rise of edge computing, Akka’s model natively allows for building systems of services with millions of efficient, autonomous, mobile, self-organizing, self-healing, and location transparent services (actors) is an even better fit.
I owe so much to our amazing Akka community, who have been generous, helpful, and offering creative collaboration beyond boundaries. Building software in the open and putting your work out there for everyone to see and judge can be scary, at least initially, but it can also be very rewarding. Open source is the perfect environment to try out crazy ideas, to try to reach higher, and to be able to do it with peers that share the same passion and joy for programming, curiosity, creativity, and urge for change, regardless of background, gender, citizenship, ethnicity, political values, or whatever. When it works, like with Akka, it’s magic. I am so grateful for what it has enabled me to do, learn, and experience and the long-lasting friendships it has helped me build.
In the early days of open source, as in the early days of Akka, most of the work was done by passionate developers during late nights and weekends, all for the love of programming and the joy of working on it together. But in the last 10-15 years, this has drastically changed. In the infrastructure space, much of the open source software is now created by companies, from small startups innovating and challenging the status quo, to large enterprises seeing open source as a great way to attract talent and build communities around their brands.
At the same time, companies using open source software commercially have become more confident operating it themselves and less reliant on help from the companies developing the software.
When I initially chose the Apache 2.0 license for Akka, I was unaware of the impact that choice would have if Akka became a large, global project. For better or worse, Apache was and still is seen as the de facto standard license of choice in the open source community. Apache 2.0 is a very liberal license well suited for early, small open source projects establishing community. It essentially gives users the right to do whatever they want without any restrictions or obligations to contribute back to the community and the project from which they benefit.
Over the years, Lightbend has steadily borne more of the support for Akka. With Akka now considered critical infrastructure for many large organizations, the Apache 2.0 model becomes increasingly risky when a small company solely carries the maintenance effort. Balancing the global demands of our corporate community while supporting these needs of a vast open source base is a tremendous weight to bear.
The new license for Akka is the Business Source License (BSL) v1.1, with an additional usage grant to cover some open source usage of Akka, such as part of the Play Framework. The BSL was created by David Axmark and Michael Widenius and has been adopted by MariaDB, Cockroach Labs, Sentry, Materialized, and others.
The BSL is a “Source Available” license that freely allows using the code for development and other non-production work such as testing. Production use of the software requires a commercial license from Lightbend. The commercial license will be available at no charge for early-stage companies (less than US $25 million in annual revenue). By enabling early-stage companies to use Akka in production for free, we hope to continue to foster the innovation synonymous with the startup adoption of Akka.
After 3 years, the BSL license indefinitely reverts to an Apache 2.0 license. A detailed FAQ is available to answer many of the questions that you will have about the license change. You can see our version of the BSL here.
Sadly, open source is prone to the infamous “Tragedy of the commons”, which shows that we are prone to act in our self-interest, contrary to the common good of all parties, abdicating responsibility if we assume others will take care of things for us. This situation is not sustainable and one in which everyone eventually loses.
So what does sustainable open source look like? I believe it’s where everyone—users and developers—contributes and are in it together, sharing accountability and ownership. This means that companies using the software for profit need to give something back, either code, documentation, community work, or money. In sustainable open source, participants feel the need and moral obligation to contribute.
We believe the BSL 1.1 with our open source grants and Apache re-license is a form of productive and sustainable open source. It’s easy to understand, provides clear rules, and is enforceable. It provides a mechanism for large businesses that depend upon Akka to contribute back to Akka and for Lightbend to support their continued success.
This approach allows Lightbend to expand our investment in the Akka project, support its users worldwide, and embark on the ambitious roadmap we have planned.
We have big plans for Akka’s future. We want to give Akka the chance it deserves, not just to stay relevant but to continue pushing the envelope for decades to come.
Apart from ongoing bug and security fixes, JDK and Scala support, the Akka roadmap includes new short-term features, e.g., the upcoming high-performance broker-less pub/sub, supporting remote query projections, and allowing fast and reliable event messaging between services without the need for an external message broker (like Kafka).
It also includes long-term innovative projects like Akka Edge, which provides a feature set for building edge-native applications, in which you write your application once (not thinking about if you need to run it at the edge or in the cloud) and deploy it, just to see it spread out and run wherever most efficient, across the full cloud-to-edge continuum—always ensuring physical co-location of the user, data, and compute, and by extension, optimizing for ultra-low latency, high throughput, and resilience.
We are excited for the next era of Akka and seeing how it continues to push the limits of innovation for decades to come.