A sad day for open source
This month is a month of mixed emotions for me.
It is my 10 year anniversary of working at Lightbend, then Typesafe. I’ve loved working for Lightbend, I certainly would not still be working here if I didn’t. I almost passed up the opportunity. At the time Typesafe contacted me I was living in Germany, but I was about to return to Australia. I had taken one years leave without pay from Atlassian when I moved to Germany, and I was really looking forward to going back to Atlassian, it was and still is a great company.
Out of the blue I got an email from Typesafe asking if I’d like to work full time on Play Framework. I had been contributing to Play a lot in my spare time, and I ran the Berlin Play User Group. I was flattered at the offer, but I did a quick lookup of where Typesafe was based - San Francisco - and I really didn’t want to move to the US, so I politely declined, saying I was about to move back to Australia. The response was “we’re all remote, you can work in Australian if you want.”
Initially I thought damn, now I have to come up with a proper excuse of why I didn’t want to work there. But then I remembered something. Open source had been a passion of mine, ever since I was in university. I had dreamed of having a job where I could contribute to open source full time. This job offer was actually for my dream job. So, I took the job, and it didn’t disappoint, working full time in open source was everything I had hoped it would be and more.
All this is to say that open source is something that I’m passionate about, I love the open source model, I love working on it, I love using it, I love being involved with communities of people from all around the world focussed on solving technical problems. Which is why this month is also a very sad month for me. Lightbend is no longer what I would call an open source company. With the relicensing of Akka to the Business Source License (BSL), the donation of Play Framework to the Open Collective, and our smaller contributions to Scala over the years, I can’t say I work for an open source company in good faith.
Of course, the BSL isn’t a terrible license. It reverts to Apache 2 after 3 years. It allows companies with less than US$25 million in annual revenue to still use Akka for free. And there are exclusions to ensure it can be still used as part of Play Framework to ensure Play users aren’t impact by the relicensing. But it’s not in the spirit of open source, as I dreamed of working many years ago.
Also, I don’t think Lightbend is making the wrong choice. We’re not the first company to adopt this style of license. Akka is not just another library that people use, it, and the architectural approach that it allows, forms a core platform on which scalable and resilient systems are built. Akka puts incredibly powerful and complex distributed systems tools into the hands of every day programmers who don’t have PhD’s in distributed computing, allowing them to build scalable and resilent systems easily. Developing and maintaining Akka requires some of the best distributed systems experts our industry has. The open source model simply isn’t working when it comes to maintaining that, and hence, in order to continue to offer and develop this incredibly unique but powerful tool, Lightbend needs to look at an alternative model. I think BSL is a good fit for this.
Nevertheless, I don’t feel good about it at all. It’s not what I signed up for. It’s not the dream that I was hoping to live. But I don’t think this problem is unique to Lightbend. I think the dream of the open source business model, across the industry, is proving impossible. The main open source projects that succeed are ones that are side effects of another companies business, and hence, the project itself doesn’t get the prime focus by its developers, but that company’s other business interests. Which is ok, but also isn’t really what open source is about. So, what I’m sad about is not Ligtbends move, but rather what open source has become in general.
Don’t get me wrong, open source is not going away. The world will continue to run on open source software, forever. But the days of teams of open source developers whose primary focus was on serving their open source communities, funded by businesses whose business interests were well aligned with the interests of their open source communities, those days are over. Projects like Kubernetes will be run by businesses who are not very aligned with their communities in terms of goals and motivations, but will manage to produce just enough to keep the project useful to the masses. Projects like Akka will be developed mostly in a proprietary manner, with decisions made based on what customers will pay for. If I’m being honest, Akka has been developed that way for a long time now, even if it was technically open source.
As for my future, I’m not leaving Lightbend anytime soon. I do still enjoy my job, it’s different, I’m working with production systems now, as the architect of Kalix. One complaint of many open source developers is that when they spend too long working on open source, they forget what it’s like to actually run software in production. So it’s good to be back getting direct exposure to what it’s like running the software I’ve been developing all these years.