Economics of Open Source: How to monetize open-source projects [part 2]
This is part two of a five-part guide on how to monetize open-source projects. We'll focus on economics of open source, which sets us up to creative a sustainable, monetize business from open-source.
This is part two of a five-part guide on how to monetize open-source projects.
Part I, Introduction. We discuss common monetization mistakes and frameworks like Business > Product > Technology, reasons why monetizing open-source projects is hard, and finally, different types of open-source projects.
Part II – this essay. Today we will discuss the economics of open-source projects. This is foundational for what is going to come next week. We’ll also talk about how to determine what value your specific open-source project delivers to your intended customers.
Part III (April 21) - we’ll cover a detailed plan on how to get feedback from customers.
Part IV (April 28) - We will use the information that you filled in the worksheet to decide monetization scheme and actual pricing
Part V (May 5) - We’ll cover creating long-term value and building a sustainable business
Part VI (May 12) - Finally, as a bonus, we’ll cover Artificial Intelligence and Open Source.
Why economics if open-source is free?
Economics is defined as the study of scarcity and its implications for the use of resources, production of goods and services, and growth of production and welfare over time.
Pricing of goods and services is a fundamental lynchpin on which a lot of economic models are built and it connects products and consumers and provides information on which resources are scarce, where and how to best produce and distribute them.
There is no scarcity when it comes to open-source software. Millions of people are willing to donate their time to develop software and the cost of distribution or connecting the software creators to those that use it is close to zero. It seems that there is no scarcity. And open-source software is free.
Does it make sense to discuss the economics of open-source software or if it is a contradiction?
Economics has a lot to tell us about how the open-source movement is organized. We'll use tools of economics to understand the incentives and motivations of why contributors work for free, why corporations sponsor open-source work without any attribution to revenue, and how the two are connected. This will help us understand the dichotomy in creating a for-profit work company based on open-source and how to bridge the two worlds. We'll also look at the Value-Chain analysis framework to understand where the most value lies in the value chain of different types of open-source projects. All of this will motivate our discussion about how to extract what value your open-source project is providing to your customer.
The history
The free software journey began in 1984 when Richard Stallman, at MIT, started the GNU project to create a nonproprietary operating system.
Stallman's licensing approach, known as copyleft, ensured contributions remained accessible. Later, Linus Torvalds developed the Linux kernel, a crucial part of the operating system, and shared it under the same license. People then collaboratively contributed to the project, resulting in a new production model based on voluntary participation and open sharing.
Despite initial skepticism, this decentralized model, with no managers and relying on volunteers, proved to be successful.
The coordination problem
A lot of economic thought is devoted to understanding how a large number of people can come together to achieve a common goal.
Firms
The transaction cost theory, developed by economist Ronald Coase, is a fundamental concept in economics and organizational theory that seeks to explain why firms exist and how they determine their boundaries. Coase introduced the concept of transaction costs in his seminal 1937 paper, "The Nature of the Firm," which later earned him the Nobel Prize in Economics in 1991.
Coase was exploring why more people do not quit their jobs and join Upwork to sell their services. He framed it a bit differently. He asked, "Why do individuals choose to form partnerships, companies, and other business entities rather than trading bilaterally through contracts on a market". Its hard to imagine getting a Nobel prize for asking, why do people join Facebook instead of working for themselves!
He based his answer on Transaction costs: the cost of obtaining a good or service via the market is more than just the price of the good. Other costs, including search and information costs, bargaining costs, keeping trade secrets, and policing and enforcement costs, can all potentially add to the cost of procuring something via the market. This suggests that firms will arise when they can arrange to produce what they need internally, and somehow avoid these costs
This also explains why there is an HR and legal group in the company that you work for.
So we understand why companies (firms) exist. They make it easy to get boring things done. They also provide a framework for coordination, decision-making, and exchange; these structures contribute to overall economic efficiency and stability.
Firms (this includes companies, governments, classrooms, non-profits, etc.) are all hierarchal and centralized. Most individuals’ choices of what actions they can take day to day are restricted to those from an approved basket of choices. What times does work start, what are the acceptable answers to an irate customer, how much refund is allowed, and how much can I pay a supplier are all restricted based on the firm’s policies and general direction from management. Coordination is based on direction from the top.
A top-down, hierarchical company is not the only way to organize people to achieve a goal.
Markets
On the other end of the spectrum is a market. This is slightly different from your weekend farmer's market. We'll use the economic definition: In economics, a market is a composition of systems, institutions, procedures, social relations, or infrastructures whereby parties engage in exchange.
A market is the exact opposite of a centralized firm. It is decentralized. Each agent is free to choose their behavior. So how does coordination work in this case?
The lifeblood that makes a market work is the signaling provided by prices.
Prices serve as a crucial signaling mechanism for coordinating the actions of various participants, such as buyers, sellers, producers, and consumers. Prices convey essential information about the supply and demand of goods and services, enabling market participants to make informed decisions. Prices reflect scarcity and abundance. When the supply of a particular product is scarce relative to demand, its price tends to rise, signaling to producers that they should increase production to meet the demand. Conversely, if there is an abundance of a product, its price drops, signaling to producers that they should reduce production or risk oversupply.
Markets and firms are two structures, on opposite ends of the spectrum, that allows a large number of people to coordinate their activities and get anything done. Firms are centralized and decision-making is top-down. Markets are decentralized and use price as the coordination mechanism.
Commons-based peer production
Contrast in photography or software UI is an effective way of highlighting what you want the viewer to notice. Now that we have seen that human activity is organized either in centralized firms or decentralized markets, for millennia, we can appreciate that the organization and coordination of work in open-source projects are very unusual. Open source is neither centralized and it does not have prices.
Open-source production (not just software, but we'll focus mostly on software) is best described by Commons-based peer production. The term was coined by Harvard Law School professor Yochai Benkler.
Wikipedia has a great image that describes common-based peer production used long before computers were a thing.
Image credit - Wikipedia
Commons-based projects generally have less rigid hierarchical structures than those under more traditional business models. Benkler first introduced the term in his 2002 paper in the Yale Law Journal (published as a pre-print in 2001) "Coase's Penguin, or Linux and the Nature of the Firm", whose title refers to the Linux mascot and to Ronald Coase (remember him from four paragraphs ago).
Unlike a market or a firm, the inputs and outputs in open-source projects are shared freely. They are equally available for all to use as they choose at their discretion. So how does anything get done? How does an open-source project get people to work together without the command and control of a firm or the price-signaling mechanism of a market?
Don Tapscott and Anthony D. Williams wrote a book called Wikinomics to study this. As the name suggests, their focus was to study the economics of Wikipedia which is a result of mass collaboration. Wikipedia is also organized based on commons-based peer production. They suggest that the coordination mechanism in a commons-based peer production system, like Wikipedia or open-source projects, are common incentives. "People participate in peer production communities," they write, "for a wide range of intrinsic and self-interested reasons....basically, people who participate in peer production communities love it. They feel passionate about their particular area of expertise and revel in creating something new or better."
So what are these incentives?
Incentives for open-source
Scratch that itch
One of the most immediate benefits of participating in open-source projects, at least for developers, is the ability to quickly address bugs and customize the software for personal use or use at work. Developers can freely access the source code, identify issues, and implement solutions without needing to wait for official updates from a commercial software provider.
Signal to potential employers
Being a significant contributor to a major open-source project is a signal to any potential future employer. By showcasing their skills and expertise in a public forum, developers signal their value to potential employers and collaborators. This kind of visibility can lead to lucrative job offers and valuable networking opportunities.
Guido van Rossum, the creator of the Python programming language, exemplifies the long-term benefits of contributing to open-source projects. Python's widespread adoption and van Rossum's role as its chief architect have made him a sought-after expert in the industry. In 2013, he joined Dropbox as a software engineer and has been a distinguished engineer at Microsoft since 2020.
Peer Recognition: A Currency of its Own
The open-source community is a highly networked and collaborative environment, with developers frequently evaluating each other's work. By contributing to high-profile projects, programmers can garner the respect of their peers, an accolade that holds significant weight within the industry. This kind of recognition can lead to invitations to prestigious conferences, speaking engagements, and other opportunities for professional growth.
The prestige and respect associated with the open-source community are well illustrated by Linus Torvalds, the creator of the Linux kernel. His contributions to the open-source movement have earned him numerous accolades, including the prestigious Millennium Technology Prize in 2012. Torvalds is regularly invited to speak at conferences and has established himself as a thought leader in the software development world.
The Corporate Perspective: Strategic Participation
Companies also stand to benefit from participation. By contributing to open-source projects, businesses can influence the development of technologies that are relevant to their interests, ensuring that they remain competitive and up-to-date. Moreover, involvement in open-source communities allows companies to identify and recruit top talent, while simultaneously demonstrating their commitment to innovation and collaboration.
IBM's involvement in the Apache Web Server project showcases the strategic benefits of corporate participation in open-source projects. By investing in Apache's development, IBM was able to influence the evolution of web server technology in a way that aligned with their interests. Moreover, their involvement in the open-source community positioned IBM as a leader in innovation and collaboration.
We have been focusing on the creator, the developer, or the collaborator, in the open-source process. Open-source projects are organized based on principles of commons-based peer productions and the actions of the contributors are guided by shared incentives. But what about those that use open-source projects? What do they get out of all this?
We are now going to look at the value that is generated for those using open-source projects. We'll look at Value-Chain analysis and a framework to analyze different types of values. This will allow us to analyze different kinds of open-source projects based on the four categories that we discussed last week - standards, frameworks, libraries, and applications.
What is a Value-Chain?
From Investopedia,
A value chain represents all the activities and processes involved in creating a product or performing a service. As such, it encompasses every stage of the product's or service's lifecycle, from design to production and distribution.
Each step in the chain adds value for the final customer.
Let's analyze the value chain of Tesla, Inc.
Inbound logistics:
Tesla sources its raw materials like lithium, cobalt, and nickel from various global suppliers. The company also collaborates with Panasonic for its battery production. Tesla has prioritized vertical integration and local sourcing to reduce lead times and transportation costs.
Outbound logistics:
Tesla uses a direct-to-customer sales model, bypassing traditional dealership networks. This allows the company to control the entire customer experience, from ordering to delivery. Tesla delivers its vehicles to customers either through delivery centers or direct home delivery.
Operations:
Tesla's manufacturing facilities include the Gigafactory in Nevada, which produces batteries and powertrains, and the Fremont factory in California, which assembles vehicles. Tesla is also expanding its manufacturing capacity with new Gigafactories in Austin, Texas, Berlin, Germany, and Shanghai, China. These facilities use advanced automation and robotics to streamline production processes.
Marketing and sales:
Tesla's marketing strategy relies heavily on word-of-mouth, social media, and Elon Musk's brand. The company does not invest heavily in traditional advertising. Tesla showrooms and online configurators enable customers to customize their vehicles and place orders. The company also offers over-the-air software updates, improving the customer experience after purchase.
Service:
Tesla operates a network of service centers and mobile service vehicles to provide maintenance and repair services for its customers. The company also offers remote diagnostics and over-the-air updates, minimizing the need for physical service appointments.
It is easy to see that Tesla is creating a lot of value and it is capturing a lot of value for itself. But that is not always the case for all firms.
Value chain in open source
How do we apply Value-Chain analysis to open-source projects? The end goal of all software is to make the life of an end-user easier. This is true whether we are thinking of Instagram or TikTok or enterprise software like Salesforce.com.
Last week we introduced four different types of open-source projects.
Standards
Libraries
Frameworks
Applications
These different types of repositories are parts of a value chain.
Let's perform a value chain analysis of a front-end web application built using the React JavaScript library, focusing on the categories of applications, frameworks, libraries, and standards.
Standards:
HTML: The markup language used to structure content on the web.
CSS: The stylesheet language used for styling and layout of web pages.
JavaScript (ECMAScript): The programming language used for creating dynamic and interactive web applications.
Libraries:
React: A popular open-source JavaScript library developed by Facebook for building user interfaces, allowing for the creation of reusable UI components.
Redux: A library used for managing application state predictably, often used in combination with React.
React Router: A library for handling navigation and routing within a React application, allowing for the creation of single-page applications with dynamic content.
Frameworks:
Create React App: A popular tool for setting up a new React project with a predefined structure, build tools and best practices.
Next.js: A framework for server-rendered React applications, offering features like automatic code splitting, server-side rendering, and static site generation.
Gatsby: A static site generator and framework built on top of React, focused on performance and developer experience, often used for creating blogs, portfolios, and other content-driven websites.
Applications:
Frontend web application: The final product that users interact with, consisting of user interfaces and dynamic content built using React and its associated libraries and frameworks.
Development tools: Tools such as Visual Studio Code or WebStorm are used by developers for writing, editing, and debugging the codebase of the React application.
Version control and collaboration: Platforms like GitHub and GitLab are used for managing the application's source code, enabling collaboration among developers, and tracking changes over time.
The frontend web application built with React relies on established web standards, utilizes various libraries to streamline development, and incorporates frameworks for specific use cases. Finally, the application itself is created and maintained using development tools and collaboration platforms that enable efficient and effective development processes.
To monetize open-source projects we need to discuss how to capture value back for the creators. We want to balance value creation with value capture.
The Value Creation – Value Capturing Framework
We are now going to look at a framework that allows us to see how to balance value creation with value capture. Paul Verdin and Koen Tackx propose The Value Creation – Value Capturing framework.
Image credit - framework
The Value Creation-Value Capture framework consists of four quadrants: Hell, Nightmare, Heaven, and Dream. Companies in each quadrant have varying levels of value creation and value capture.
Hell (Low-Value Creation, Low-Value Capture)
Companies or projects in this quadrant neither create significant value for customers nor effectively capture value for themselves. They often struggle to compete and may face declining market share or eventual obsolescence.
Before its decline, Blockbuster was a movie and video game rental company that failed to adapt to digital streaming trends. This resulted in low-value creation for customers and low-value capture for the company, as competitors like Netflix and Hulu emerged.
Example from open-source world that fit this quadrant.
Standards: Outdated or obscure standards that are no longer relevant, such as Gopher, a protocol that preceded the World Wide Web but is rarely used today. Another example is OpenID. OpenID is an open standard for user authentication and authorization, which allows users to log in to multiple websites using a single identity. While it initially gained some traction, it didn't create significant value for most users, and many websites have since migrated to other authentication mechanisms such as OAuth or social media logins. As a standard, OpenID didn't capture direct value but aimed to streamline authentication across the web.
Libraries: Abandoned or deprecated libraries that offer little value to developers, such as unmaintained jQuery plugins.
Frameworks: Unmaintained or outdated frameworks, like the Ruby on Rails-based Hobo, which has not seen any updates since 2015 and is no longer recommended for use.
Applications: Obsolete or discontinued applications, such as the once-popular Winamp media player that lost its relevance with the rise of streaming services and modern media players.
Nightmare (High-Value Creation, Low-Value Capture)
Entities in this quadrant create substantial value for customers but struggle to capture value for themselves. They may face difficulties in monetizing their offerings or have to rely on alternative revenue streams, such as donations or sponsorships.
SoundCloud is a music and podcast streaming platform that allows users to upload, promote, and share their content. While SoundCloud creates significant value for users by providing a platform for discovering and sharing music, it has struggled to monetize its services effectively, making it difficult for the company to capture value.
Example from open-source world that fit this quadrant.
Standards: Open standards like HTML, CSS, and JavaScript, which form the backbone of the internet and provide immense value, but cannot capture value directly as they are not owned by any organization.
Libraries: Popular libraries like the Lodash JavaScript utility library or the Requests library for Python, which are widely used and create value for developers but capture little value directly, relying on donations or sponsorship for financial support. Another example is OpenSSL. OpenSSL is an open-source library that implements SSL and TLS protocols, ensuring secure communications over computer networks. It is widely used and creates significant value for developers and users by providing robust encryption tools. However, as an open-source project, it captures little to no direct value, relying on donations and volunteer efforts to sustain its development.
Frameworks: Open-source frameworks like Django (Python) and Express.js (Node.js) enable rapid development and create value for developers, but they typically don't capture value directly.
Applications: Open-source applications like the VLC media player, which offers a feature-rich, versatile media player but doesn't capture significant value directly.
Heaven (Low-Value Creation, High-Value Capture)
Companies or projects in this quadrant capture a high amount of value despite offering relatively low value to customers. They often leverage strong branding, exclusivity, or market positioning to maintain premium pricing and high profit margins.
Luxury fashion brands like Gucci, Louis Vuitton, and Prada focus on high-value, exclusive products with strong brand recognition. While these products may not offer significantly higher utility compared to more affordable alternatives, these luxury brands can capture high value through premium pricing and perceived exclusivity.
It's challenging to find open-source projects that fit into this category, as open-source software usually aims to provide high-value and community-driven development. Additionally, open-source projects tend to have limited means of capturing value, as they generally rely on donations, sponsorships, or offering related commercial services.
Dream (High-Value Creation, High-Value Capture)
Entities in this quadrant excel at both creating value for customers and capturing value for themselves. They often offer innovative, high-quality products or services and have strong brand loyalty, allowing them to maintain a competitive advantage and achieve sustained growth.
Apple creates high value for its customers through well-designed, innovative products and a seamless ecosystem of software and services. The company also captures significant value through premium pricing, strong brand loyalty, and an extensive network of retail stores and authorized resellers.
Django is an open-source web development framework for Python that encourages rapid development and clean, maintainable code. It creates high value for developers by offering a structured and efficient way to build web applications. While Django itself is free, it indirectly captures value through the Django Software Foundation, which offers paid support plans, commercial sponsorships, and community donations.
We have covered a lot of ground today, and we'll stop here for this week. This foundational work sets us up for discussing how to monetize open-source projects.
As a reminder, this is part two of a five-part guide, with one bonus section, on how to monetize open-source projects.
You can read Part I here.
See you next week for part three of this guide on monetizing open-source software. Don’t forget to subscribe.