Question: You have 100 money. How would you distribute it across the entire open source ecosystem?
Intro
Open source software has well-known economic, technical, and social benefits, including increased innovation and collaboration, reduced vendor lock-in, and lower barriers to entry for startups.
Furthermore, reliance on open source solutions is increasingly widespread, and these solutions have become the infrastructure for most digital systems.
However, paradoxically, open source software also faces a chronic funding problem. This intriguing dilemma has been the subject of much research and debate for a long time.
Similarly, over the past few years, we have been studying why the open source ecosystem, despite its benefits, has failed to capture the economic value it generates.
The primary question we focus on is how to build a sustainable economy around this ecosystem and solve the funding problem through free-market dynamics to maximize the production of open technology.
We plan to prepare a series of articles to explain our position in detail. To briefly summarize our findings so far:
- Open technologies, such as open source software, generate significant value for our economies and require a steady stream of revenue in return.
- Due to coordination issues and lack of contracts (a.k.a. the Free Rider Problem), the businesses that consume open technologies cannot return that revenue to the ecosystem.
- This coordination failure leads to the underproduction of these digital public goods.
To maximize the production of these goods, we should:
- Recognize open technologies as a new type of digital public good produced through the private sector.
- Establish national or regional public funds to finance these new public goods.
- Call on all software and tech companies to produce open tech and, in return, enable them to directly earn revenue from these funds.
- In the long term, aim to establish an international marketplace for digital public goods.
Agile Public Funds
There are several key areas that need to be studied before this structure can be implemented. One of the critical questions is: how to distribute a dedicated fund to the open technology ecosystem.
Even in its current state of underproduction, the open source ecosystem has an incredibly complex structure. On the one hand, there are thousands of applications and packages, each with its own versions. On the other hand, based on our estimates, more than a million companies benefit from this ecosystem. Plus, this two-way network of dependencies is not static and constantly changes.
If we aim to finance this complex structure, our public funding models must be compatible with the unique characteristics of this ecosystem to ensure scalability.
For example, traditional financing options like grants may be suitable for one-off and long-term projects, but they aren’t well-suited to our scenario.
Instead, we should create scalable and data-driven public funds that evaluate the success of each solution using specific metrics and distribute resources regularly across the entire ecosystem.
The experiment
In this experiment, we will demonstrate a simplified version of how we can fund an entire ecosystem using a data-driven approach.
The experiment can be summarized as follows:
- Each month, we will randomly select three open source projects from the Open Source Collective dataset.
- We will assign a score to each project using the Criticality Score tool.
- We will allocate a small amount of money among these three projects based on their results.
We currently lack critical data points, such as the “usage” of open source solutions. Therefore, we acknowledge that the scores may be significantly flawed. Initially, our experiment focuses not on the accuracy of the results but on contributing to the discussion of how the open source ecosystem, especially through a public model, should be funded.
Process details
You can follow all our work and progress under the Open Source Public Fund experiment document.
Here are the steps of the process:
- We retrieve the Open Source Collective dataset and keep it under the “Open Collective – Accounts” sheet.
- To calculate a score, the Criticality Score needs a repository. For collectives without a repository, we pick the collective’s “most popular” one based on the number of stars. It is possible to calculate a score for all repositories within each collective and distribute the funds accordingly. However, we will use a single repository to keep the process simple.
- To determine the amount to distribute, we will track the follower counts of our social media accounts. We decided to take this approach to keep the numbers dynamic rather than distributing a fixed amount each month. Here are the social media accounts we currently include in the calculation: LinkedIn, Mastodon, and Bluesky.
- Once the scores are ready, we will select the three projects and distribute the amounts through the Open Collective platform.
We plan to complete the project selection, scoring, and funding allocation process during the first week of each month and will update the document with the results.
We also plan to review and improve the algorithm in time. Please visit the document for the selected projects, scores, weights, and final amounts.
Notes & links
Criticality Score: A tool from the Open Source Security Foundation (OpenSSF) that assesses the importance of an open source project by evaluating factors such as the project’s age, contributor count, and commit frequency. We will use this tool to determine each project’s score.
Open Source Collective: A nonprofit fiscal host that has been providing financial and legal infrastructure to open source projects since 2017. We will use their public dataset to select the open source projects.
Open Collective: A crowdfunding platform focused on grassroots groups, currently hosts thousands of communities. We will use their platform to make our payments and their public API to retrieve the Open Source Collective’s dataset.
Open Source Public Fund experiment: Our document listing all the projects, their scores, and the results.
