the value of code
When programs are distributed free of charge (for instance, as open source), the value of a program is intrinsically separated from its monetary price. One of the ways to understand which projects are more relevant is by trying to assign a value to each. And, as with any complex theme, there may be different indicators of the value of a package:[^1]
- How much money are companies making on open-source
- The number of other packages that depend on it
- Counting the number of commits/pull requests
- The uniqueness of the code
- The community around a project
- The money a project (or its creator) can derive
Some of the ideas are derived from the approach used to calculate the value of public infrastructure: how much is it used, how bad would it be if it disappears. Plus adding some extra considerations around what the modern open-source community looks like.
Open source is being built as a castle of cards. The people working at the very top (developers releasing websites, entrepreneurs chasing an idea) have little or no access to what is happening at the bottom. Their economic success is built on tools that are freely available, but over which they have little control. That would be a way of measuring the economic value of projects. How much did Instagram save (shorter time-to-market and developer's salaries) thanks to Open Source?
Nadia Eghbal illustrates some of the ways of calculating value and their counter-example for each one of the topics. For example, a developer pulled some packages out of npm, and entire build chains failed. But regardless, those packages were quickly substituted. This means that even though there were huge dependency trees built on them, they were not unique. A ferry crossing a river may be relied upon by many, but it is not unique in the sense that if it sinks we can quickly get another. A bridge, however is a different story.
side note I regret that her book does not explore more on the ephemeral nature of owning code. If yesterday I had it, how come today something is broken?
An interesting discussion is what happens when projects can actually make money out of donations and, more importantly, what happens if developers can make money (citing example the creator of Vue.JS). Is there a correlation between perceived value and the money a developer makes? Or is it more about some personality traits that help attract better funding?