The problem with what’s happening is that for software in Scala, as soon as I see Akka anywhere in my dependencies, I have to assume license violation. Of course, I can check if that particular dependency has a grant. But will there be a formal method to validate this? Will automated license scanners be able to infer this?
Another point… what does the grant actually imply. Is there some sort of way a product with Akka-dependent dependency supposed to be used? Will people be able to work around BSL by pulling in a dependency that brings Akka in just as a mechanism to sneak Akka itself in? That would be a silly oversight by Lightbend[1]
[1] the faq answers this: “ I am using Play and parts of Akka that are included with Play? If you are using Play and are directly using Akka components as part of your implementation you will be required to have a license for production use.”
As someone who came to Scala from Erlang and adopted Scala because of Akka, … it’s disappointing. Fortunately alternatives exist and hopefully someone will adapt them for Scala. Here’s one: http://docs.paralleluniverse.co/quasar/. This is used by Clojure’s Pulsar Erlang-influenced actors. For me, this is the end of the road for Akka in any future Scala code. It’s a shame because the technology is great. However, maintenance is going to become a hassle.
From an observer’s perspective: Typesafe, later Lightbend, never managed to find a great fit for themselves. They always kept developing Akka and promote Akka-based systems like all the alpakka stuff, http, streams. People used it because it was Apache 2.0. Now, everyone who uses Akka, and wants to continue using it, has a liability on their hands. What about all contributions submitted under the old license? The FAQ doesn’t specify if existing code will be BSL and convert to Apache 2.0 in 3 years (or maybe more, faq says each version may have its own convert date…), or only new code will be BSL. Depending on the answer, some contributors may feel a bit let down: https://github.com/akka/alpakka/graphs/contributors?from=201.... They all contributed under Apache 2.0.
So many questions, it’s a minefield. In my head, this is a minefield worse that AGPL. Their faq says a company with a revenue below USD25m/annum receives a free license. What if said company sells to a USD100m business and is using Akka indirectly? Forget about direct, explicit use. What if a product uses stuff indirectly?