I was half way through a project when the licensing change happened, I had to abandon Akka as a result. Fortunately my requirements for an Actor System are low-end, basically just message passing in a multithreaded single process, so I wrote my own simple Actor system library. Scala made that relatively easy.
It became less popular a long time ago as the hype of actors as a programming paradigm died down, and then eventually akka adopted non-OSS BSL license which made many users including us switch to Pekko (a community fork) which is still developed and maintained, but again, this branch of Scala evolution is quite past its prime. Scala offers more and arguably better libraries for working with concurrency now, and even cooler stuff is on the horizon with kyo / ox / caprese.
I have been working on adding Pekko-based data pipeline into my side project, and it's an incredibly powerful system. The "bare" actors are rarely used. With streams, you can control parallelism, backpressure, add batching, retries, and so on. This is why this is so popular with systems ingesting massive amounts of data - log processing, IoT telemetry.
Which libraries are you referring to that do the same? Just curious.
I meant FP libraries like Cats Effect / FS2 / ZIO et al. – they don't really do the things that Akka / Pekko is very good at, such as multi-machine parallelism, but the conventional wisdom nowadays seems to be that it's easier to start with those libraries and progress to Pekko if you ever need that, rather than architect the system with Pekko from the start when you don't need its power.
I don't know if I personally agree with that, I've had a better experience with Akka (even raw actors) than with FP libraries, but what I mentioned is definitely the general vibe in the publicly active part of the community that's I'm observing. We gotta keep in mind that there are lots of companies and devs that never talk about what they're doing in public, so of course my perception is biased by that.
My own expertise is shifting more and more to the frontend / Scala.js these days, so please forgive/correct any inaccuracies.
The assumption that Cats Effect / FS2 / ZIO is easier than Akka / Pekko is questionable. There's the assumption that the Akka ecosystem requires the entire system to be built using the various features the ecosystem offers, when in reality it easily scales down to simple microservices just as well, if that's the only option or the overall preference.
One reason to reach for the pure functional libraries is a desire to avoid some of the many footguns Akka / Pekko has. For a long time, using Akka meant not being able to rely on the Scala type system for checking messages sent between actors, and for the people attracted to Scala due to the advanced type system, this was a deal-breaking drawback.
All in all, the FP libraries and the actor system libraries are almost direct opposite approaches to problem solving.
Well, Akka/Pekko is typed now. There is a learning curve to Akka, but it took me 3-4 weeks to get my system working. I can't imagine doing it with pure FP, it would break my brains.
As someone said - these are very cool but niche capabilities that companies do not talk about. It's almost like a secret weapon in the sea of over-engineering and hype.