5 ms·
Not entirely true, Play framework for example will continue to depend on Akka without restrictions placed on its users -- mentioned in the blog post, see "usage
by virtualwhys 4y ago
Not entirely true, Play framework for example will continue to depend on Akka without restrictions placed on its users -- mentioned in the blog post, see "usage grant".
- rad_gruchalski 4y agoOkay, so Play Framework has this grant now in place. But everything else? Each and every maintainer is required to request such grant, and Lightbend needs to agree. Friction, a lot of friction. 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/ 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=2016-05-08&to=2022-09-08&type=c 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?
- virtualwhys 4y agoAgreed, was just pointing out that the grant escape hatch exists. More projects in the ecosystem may follow suit, or not -- we'll find out soon enough.