Musings on Open Source and the End of Software
or What to Expect in a World in Which Code Costs Nothing
On the 31st of May 2024 a user on X (fka Twitter) posted1 a Google doc titled “The End Of Software” which went somewhat viral in tech spaces. The author of the document analyses recent trends in using LLMs for software development and makes a very stark prediction - one which many of us in the software industry have been thinking about, some have whispered and few have talked about openly - that the price of creating software is ultimately going to zero. The reason being, one could argue, that software will soon become fully commoditized and available on demand to be generated by an LLM. Thus, writing code would cost nothing.
I have personally experimented a bit with using LLMs to write code. I am not a professional software developer but I do get an itch every time I have a repetitive task in my workflow, and I scratch it by writing scripts to automate these tasks. In my experience, I must say LLM-enabled programming has been quite a success, in many cases generating the code I need with 2-3 prompts. On the other hand, professional software developers have told me they have mixed feelings about it - some tasks LLMs do well, others they do poorly, and in some cases it is easier to write the code you need than to spend time explaining what you need.
This article is not meant to question the reasoning in the original document - I am an expert neither in economics nor in AI. Rather, I would like to contemplate what could happen if that prediction does come to pass. Let’s imagine we wake up in a world in which LLMs or some other AI technology enables the accurate creation of fully functional source code based on user input. Let’s also assume this technology is so sophisticated that it handles the nuances in human language that sometimes make it a bit tricky to map what someone says to the actual software requirement.
What if I told you this landscape would not be completely foreign because a world already exists in which you do not have to pay for software? It is called open source2, and these days it is not uncommon for it to constitute more than half of the code base used by companies3. Granted, the analogy is not perfect, since there are two significant differences. First, with open source, you are limited to what is already there (this is of course a soft limit since you might want to engage in open source development, in which case you need to pay a developer). Second, with open source you still need to follow the obligations of the respective license, and depending on what that license is you might encounter issues if you have an incompatible business model. But I would argue the analogy is nevertheless quite useful for our thought experiment.
Why is this relevant? To understand the role of the software industry in a world in which it costs nothing (or almost nothing) to produce software, we have to underline a distinction that is quite well established in the open source ecosystem - namely, that the project is not the product. So, what does this mean?
Suppose you require a piece of software that does X. You go to GitHub and you find an open source project that does exactly what you need, and it is under a permissive license, let’s say MIT4. Whether you would have written the whole thing from scratch using an advanced AI model or downloaded it from GitHub, the fact remains that it would cost YOU nothing to get the software, and you could use it for any purpose. Of course, the open source code did cost something for someone else to write, and depending on the context it may be considered bad citizenship to use too much of it without contributing back, but that is beside the point.
Congratulations! Now what?
Well, simply having the source code does not mean much, does it? You first need to understand what it does, at least to be able to use it properly but also potentially for security reasons. So now you need to spend time reading the documentation and familiarize yourself with the code. That costs developer time, so it is definitely not for free! You could again use an LLM to help you sift through the text and the examples but you still need to pay the understanding tax.
Once you have familiarized yourself with how to use the software, you need to actually integrate it into your setup. Do you use it as a standalone application? Well, then you need to figure out how it fits into your overall systems. Do you instead want to use it as a library for other applications? Well, you still need to manage that.
And what about running it? Code is not computation, which is what you are really interested in. If you are using your own servers, you need to care that you provision the necessary hardware, install operating systems, patch them, etc. All of this costs effort and money. You could rent someone else’s computing resources (aka cloud computing), but that again is not for free.
And what about maintenance? Software is a delicate flower and needs its fair share of attention. Perhaps a super smart AI model could be able to patch bugs proactively, but it cannot intuit what additional functionality you want. So again, communicating this to the AI model would require effort, and therefore would cost money.
And as I mentioned, just like code is not computation, the project is not the product. You still need to use that software to make something people would be willing to pay money for. Therefore, having dirt-cheap software development does not mean you solve a business or consumer need, only that it would be cheaper to do so.
In summary, having such a hypothetical AI system would no doubt shake some of the foundations of the software industry by eliminating a significant cost in rolling out a software product, namely that of writing the software itself. It would not however solve problems such as integration, deployment, or even maintenance, though it might help to some degree. But most importantly, no matter how cheap writing software becomes, you are still faced with the question: What real-world problem are you solving and why should anyone care about it?
https://x.com/cpaik/status/1796633683908005988
Open source is a good comparison because it illustrates how you can build a business around giving away software for free. To learn more about the different open source business models, I highly recommend Heather Meeker’s book From Project to Profit.
see e.g. https://www.linuxfoundation.org/blog/blog/why-do-enterprises-use-and-contribute-to-open-source-software: In vertical software stacks across industries, open source penetration ranges from 20 to 85 percent of the overall software used
https://opensource.org/license/mit

