Web dev at the end of the world, from Hveragerði, Iceland

Free and open source software projects are in transition (and some links)

These two links have brought to mind an issue I’ve been thinking a lot about.

The first, Amy Hoy’s post, points out that the tech bubble—the one that has been kept inflated over the past sixteen years with low interest rates, non-existent antitrust regulation, and a legal environment for tech that, in the US at least, has effectively been a free-for-all—is now over. The incestuous startup ecosystem that largely consisted of over-funded bullshit companies buying services from each other is done. The industry’s ability to command eye-watering exits–IPOs and acquisitions—for money-losing companies with no realistic path to profitability, has been limited by increased scrutiny from authorities on both sides of the Atlantic and by increased scepticism about the promise that tech will eventually deliver magical profits.

The tide is going out and people are slowly realising that the only companies that make real money in tech are the monopolists or quasi-monopolists. A small group of multinational corporations have each locked down their user base—control every aspect of their segment of the market—and are now abusing that position to extract revenue at the expense of other companies in tech and the economy in general.

In the second link Zach Leatherman writes about some of the changes that are taking place in Eleventy, the open source project he runs. Development on the project used to be funded by Netlify, but they seem to be dialling down their investment in open source, so Zach was forced to reassess the path that the project was on and find new ways of keeping it sustainable.

Eleventy is a nicely structured piece of software that I’ve used in a few projects myself, so I’m glad to see the partnership between it and CloudCannon. The two projects look very complementary.

They also plan to simplify the project and keep it focused on what it does well, and this touches on something I’ve been thinking about for a few weeks, ever since I read a conversation on Mastodon between Zach and Jim Nielsen on Jim’s blog post “Language-Level Toll Roads”. And that blog post makes a bunch of good points (emphasis original):

I think maybe what I’m trying to put my finger on is this contrast between open source foundations with proprietary features on top, vs. open source foundations with proprietary features built-in — and the tension and competition that will take place between the two.

I was trying to figure out ways of articulating the tension the relationship between free/libre/open source software (FLOSS) and the economic environment it exists in when I realised that FLOSS created the environment. Modern tech only exists because of free and open source software.

Back in the ancient days—in the before times when I first made websites—the tech world was predominantly closed source. The “dot” in dot-com were closed source servers such as those by Sun Microsystems (years before they caught the open source bug). Browsers were closed. Operating systems were closed—for the most part. The tools were largely closed. Even many of the popular programming languages used, such as ColdFusion or Java, were closed. For most users, when they visited a website, the entire stack was end-to-end closed. Database, server, browser, and operating system.

That took a long time to change, but now the core computing experience—browsing the web—is predominantly based on open source:

  • Server operating system
  • Database
  • Server language
  • Server framework
  • Client operating system (Android, even Apple’s OSes have substantial OSS components)
  • Client side language
  • Client side framework
  • Browser

Even in the native app domain, most of the frameworks people use to create cross-platform apps are open source.

A majority of the value created by modern software ultimately comes from free and open source software.

From this perspective most VC investments aren’t about creating value but about strip-mining FLOSS projects and communities. The scale is for extraction.

The tension is that these investors don’t just want to capture this value for themselves, they want to extract even more value from the communities surrounding the projects.

That’s why popular frameworks often start to spawn what Jim described as built-in proprietary features. One example is the key-value service that is being baked into the otherwise excellent Deno project. Another, more subtle example, comes from Eleventy itself: Eleventy Edge.

There isn’t anything inherently proprietary about Eleventy Edge. In theory, there are a few “edge computing” services that should be able to support it, but in practice, the company that employed the project lead at the time and the only company actively funding the feature, is going to be the only one whose service is reliably supported.

This is the reason why I’m excited about the partnership between Eleventy and CloudCannon and the project’s refocusing. It isn’t that the project will get simpler to use (though I’d be happy if it does) but the complementary nature of the collaboration creates a dynamic where every part of the project benefits the community as a whole, in a non-extractive way.

The extractive dynamic between a tech company and financially dependent open source projects is incredibly common and few handle it as well as Zach seems to have, both during his time at Netlify, and with the decision now to rejig things. Netlify’s dominance over the project could have been lethal—making it incapable of surviving without Netlify’s financial support.

The transition that’s taking place is because with less money floating around, the tech industry is retrenching and in many cases that means they’re either not funding FLOSS any more or that they’re ramping up their attempts to extract value from the community. Companies invest less in FLOSS and want to take more of the value created.

Simultaneously, the increased popularity of language models in software development, themselves a blatant strip-mining of FLOSS code, likely has the effect of deflating the size of the communities themselves. Why use an open source project when you can get a language model that’s trained on that project to rehash it and inject it into your code? Why give somebody credit for the lines of code you’ve adapted for your own project when you can get a language model to whitewash it and let you claim it as your own?

To me, it feels a bit like the relationship between the industry and FLOSS communities has switched from being somewhat productive and occasionally abusive to being outright looting.

Finding partnerships that are genuinely mutually beneficial, which is something I hope Eleventy has managed, is one path out of this. Another is for those working in tech to continue to try and find ways of making community-supported projects more sustainable.

But I’m worried that many free and open source projects, small and large, are about to have a pretty hard time, and with them their communities.

I don’t really know how best to mitigate that, and I’m kind of hoping that my sense of unease is just unfounded.

Artificial Intelligence

A phrenology bust that was used by quacks and pseudo scientists to explain human intelligence and behaviour.

Software development

Other reads

The best way to support this blog or my newsletter is to buy one of my books, The Intelligence Illusion: a practical guide to the business risks of Generative AI or Out of the Software Crisis.

You can also find me on Mastodon and Twitter