Disclaimer: I’m open to disagreement that is expressed respectfully. If you have an argument against my interpretation, please share it. (Of course, I can’t guarantee that I’ll agree with your critique.)
I want to elaborate on a conversation about the economics of code from Hacker News. User wrong_variable said:
“Programmers get no respect — and its our own fault.
The computing industry is directly responsible for 1/3 of global GDP in 2016.
Its time that this is reflected in our paycheck.”
Leaving aside the assertion that programmers aren’t paid well, I responded:
“Keep in mind that code is not useful or economically impactful without business and community management surrounding it.”
User overgard chimed in:
“I think that’s demonstrably untrue — open source and free software has had a massive economic and cultural impact with precious little of that originating from the involvement of business people or community leaders. (For instance, the GNU project or the linux kernel — not to mention how many commercial products must use zlib). Business support almost always comes after the value has been created.”
I disagree. There are two threads here that I want to tease out:
- Writing and testing code on the scale of a project like Linux or Ruby requires a community. Some people in the community, even if they are adept programmers, will be needed to support the project in other ways.
- Once a program / framework / whatever is ready, it can’t promote economic growth unless it’s deployed by a business. In other words, software for its own sake is economically pointless. (By the same principle, outside of the open-source world, managers, salespeople, and marketers exist for a reason.)
People who make things tend to underestimate the importance of middlemen. I mean “middlemen” broadly — anyone in between production and consumption. In this case, programmers are production and regular end-users are consumption. However, before any product can be consumed, you need distribution.
Prior to the internet, distribution was limited by physical location and thus geographically specific. Particular companies controlled particular regions; they maintained relationships with individual stores. On the internet this dynamic is fundamentally different because the cost of distribution is negligible. Digital goods are effectively free to replicate, meaning there is no marginal cost. (Ben Thompson’s “Aggregation Theory” describes the consequences: value comes from being the layer that users interact with, which compels suppliers or advertisers to use your platform.)
When it comes to software, distribution is simple but difficult. It consists of two crucial functions:
- Making people aware of the software’s existence.
- Convincing them to use it by providing a compelling value proposition.
For the most part, those things don’t happen spontaneously. You need evangelists (as much as I hate that word). And those evangelists need incentives. The creators and proponents of open-source software are usually not paid directly for their labor (there are exceptions) but they are rewarded with social capital that can be leveraged into professional remuneration. You need people to write documentation and blog posts, organize / host meetups, and generally nurture the project’s ecosystem. This is the “community” part of the “business and community management” that I cited as being vital.
Even more saliently, free and open-source software projects only have an economic impact when businesses exploit comparative advantage by using them. For example, Super Body Fuel’s online store was made with WooCommerce, which sits on top of WordPress. The owners didn’t have to hire a developer to build a site for them. Using PayPal [1] as their payment processor also lowered the up-front cost and hassle.
Because of this, businesses like Super Body Fuel need less capital to get started. The owners can spend more time focusing on factors that differentiate their business (in SBF’s case, formulating a healthier and less expensive competitor to Soylent). In terms of investment and payoff, growing their business is a higher-return activity than setting it up in the first place. Efficiency increases, which result from technological innovation, are the only impetus of non-zero-sum economic activity. In a word, growth.
Of course, none of this could happen if the Super Body Fuel owners didn’t know about WordPress and WooCommerce, or if they didn’t have access to the intermediary tools necessarily to deploy them. Some amount of information seeps around without anyone making an effort, but awareness and resources that will reach thousands of people almost always require intentional promotion. Thus, coding is not enough to propel the open-source world. Other types of labor are needed to keep attracting more contributors and users.
[1] Like every large software company, PayPal both uses and develops OSS. For example: OpenStack and Linux.