Adobe, Apple, AWS, Azure, Google Cloud, HPE, Tesla: All of these companies and hundreds more in the Fortune 500 are users of the open source Akka toolkit and runtime for building resilient message-driven applications for Java and Scala. Few have given back to the community in a meaningful way, says Akka creator Jonas Bonér. Instead, maintenance and modernisation of the toolkit have been dominated by his company Lightbend.
Now Lightbend is stepping away from open source (Akka has always been licensed under the highly permissive Apache 2.0 license) with enterprise customers to be charged between $1,995-$2,995 per core.
Users will get no more additional features, enhancements, security updates, or bug fixes for existing versions. Akka instead will be licensed under the BSL v1.1 (Business Source License) starting with Akka v2.7, which lands in October. That’s the same licence used by Couchbase, MariaDB and Cockroach Labs, amongst others.
(Akka has 12.4k stars on GitHub and over 3,000 forks. It is open source middleware for building highly concurrent, distributed and fault-tolerant systems on the Java Virtual Machine (JVM). Akka is built with Scala, but offers both Scala and Java APIs to developers. It lets developers build scalable and fault-tolerant software that can scale up on multicore systems, and scale out in distributed computing environments like the cloud.)
Akka license: BSL v1.1 comes with demands
Under Akka’s new licensing model, any organisation with less than $25 million in annual revenue will not require licence fees for production usage of the software, but a $0 commercial licence must still be granted by Lightbend. Larger businesses with more than $25 million in annual revenue – think customers like Starbucks, CapitalOne, General Motors, John Deere and many more – will need to buy a license plus a subscription for production use (this will not permit back-porting of software released under the new license.)
Smaller, little-known open source software tools remain critical components of many enterprise applications. (Market observers will be able to cast their minds back to 2016 when the removal of 11 lines of code from an npm library broke applications around the world, or indeed the frantic push to understand where the Java-based logging utility Log4j was running in their applications after a critical vulnerability was disclosed.)
The move may wrong-foot some large organisations as result, where developers wanting the latest version of Akka will need to explain to the keepers of coin that coffers will now have to open up to use the toolkit.
Speaking to The Stack about the change, Lightbend founder and CEO Jonas Bonér says: “I think in the early days, in 2009-2010 it was reasonably okay to build a business around [consulting and support for open source]. But it’s been getting harder and harder because most of our customers they're more confident at doing self-support. It's a sort of screwed-up incentive process in a way because the better Akka is, the less we are likely to get paid for [supporting] it. It’s been so reliable; we’ve had customers running it in production for years without any hiccups. [But] how many of the large enterprises are contributing back? I'd say, it's close to zero.
See also: Why real-time data apps are a cultural challenge
“There are passionate developers, they might work in large enterprises, but they do it mostly in their own spare time. We had this dream where if a large organisation builds something really cool on Akka they will contribute that back, but that has rarely happened; it's just not really how most large enterprises operate.”
“I've been mourning this shift in open source for years. But many companies are struggling, and many have been going out of business because of this. It's sad, you know, when the large organisations are making hundreds of millions based on the software and people can't naturally feel the moral obligation to give back.”
Therewith the understandable angst from a passionate open source advocate.
Looking forward however, 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)” Bonér said in a Q&A shared with customers and the community today (September 7, 2022). He added to The Stack: "The brokerless pub-sub will let you do high performance, topic-based pub-sub without having to go through Kafka or RabbitMQ or something like a broker sitting somewhere, so there's no infrastructure piece; it's point-to-point but still reliable.
"That's something that our customers or end-users have asked for for a long time and the good thing is that it's so lightweight, that it works in the cloud or on-prem, but it also works out on the Edge, where things like Kafka don't work that well, because it's fairly heavyweight" he adds, with more plans in the works.
Existing Akka users meanwhile might want to start working out how many cores they use and whether they want to run the risk of missing out on bug fixes and new features. Banks reluctant to pay up in a period of belt-tightening meanwhile would do well to ask themselves what it would have cost them to allocate a day per week of developer time to giving back to the community; likely a lot less. Sadly, that horse has bolted.