Andrew Baker, the current Group CIO at Capitec Bank wrote an interesting piece on AI and open source, and how these tools that generate code according to one’s specification may replace the general reliance on open source implementations done by contributors around the world. I’d really recommend reading it. I have great admiration and respect for Andrew Baker from his public writings. I may have an additional perspective.
There is sometimes a difference between the theoretical promise of open source software and the practical outworking of it. The theoretical promise is that someone sitting with a good-enough internet connection in a cafe in Addis Ababa can write a library or an application, push it to a public repository, and have it used by millions of people around the world. Those who want to make changes to it will fork it from the git repository, and push their own repository. There has been no payment made to the software developer in the cafe in Addis Ababa, but she has done this from her passion to make the world a better place through software. The socialist utopia has found its expression in software!
On the consumer side of the equation is where the model gets complicated. Someone, sitting in a coffee shop in Johannesburg, drinking her Ethiopian coffee, needs a library or a tool to achieve a certain task in JavaScript. She searches npm and finds a list of available libraries, including the one created by the software developer in Addis, on page 27 of the results. She picks the one on page 1 of the results, which is hosted in Google’s Github organisation, and paid for by Google. Why? Because she trusts Google more.
Beyond the hobbyist, for those who are building systems for the long term, we don’t just look for if the software will be able to solve the problem today, but also if it will continue to solve the problem tomorrow (the maintainability problem spoken about in the aforementioned piece). This why when choosing a Linux distribution for servers or desktop use, the viability of the company behind it is a big factor in the decision. This is why when choosing a frontend web framework, one goes for popularly known frameworks such as Angular or React, because they are backed by Google and Facebook respectively.
In the past, there were the regular jokes that there was a new JavaScript framework every week. But that era of software development was also supported by the circuit of in-person meetups and conferences, where the creators of these frameworks tried to build trust and credibility among the potential users of the frameworks, and looked for sponsorship for the continued maintenance of the framework. These included “CLI tools, small APIs, internal dashboards, automation scripts, data transformation utilities, proxies, wrappers, developer tools, tiny SaaS applications and glue code” mentioned in the original post.
If people are to now use tools such as Github CoPilot or Claude Code to build these dependencies, instead of relying on open source contributors, they are no longer bolting their proverbial cart to the larger organisations and user base that are incentivised to continue maintaining the open source libraries, but are now bolting their cart to the companies that create these coding tools. It has to make the assumption that in future, these tools will continue to be available, both economically and geo-politically.
Software development, though technical, has always been a human endeavour, navigated through human institutions and relationships of trust. Assuming that the technical comes before the human may be putting the cart before the horse.