Open source public fund experiment
Serkan Holat
Posted on January 3, 2022
Question: You have 100 money. How would you distribute this amount to the entire open source ecosystem?
Motivations: Free and Open Source World
For over two decades, I have been working across different industries, helping companies develop proprietary software solutions, which is a long enough time to consider the inefficiencies of closed technologies on a large scale.
One problem that is relatively easy to observe is related to the creation of similar technologies in different companies. From an individual company perspective, keeping their technical solutions closed is logical to protect their investment and advantage in their field.
However, once that behavior becomes a pattern followed by all companies producing technologies, it becomes an obstacle to utilizing existing advancements and wastes resources in the constant reinvention of the wheel. Short-term individual gains cost a collective loss.
This realization made me curious about open source software. I have spent the last few years researching its sustainability, focusing on business and funding models.
I envision a future for us to collectively build most of our technology solutions in the open, whether software, hardware, AI, or such. A scenario in which companies and individuals constantly reuse and innovate each other's work. How would minimizing repetitive solutions and combining expensive engineering resources impact our technological progress and societal challenges, such as achieving Sustainable Development Goals?
However, a missing ingredient in achieving this future is aligning incentives for businesses to keep contributing to the open technology ecosystem.
Since I want to keep this article short and focused on the experiment, here is a summary of my conclusions:
- Open technologies, such as open source software, generate substantial value in our economies and need a constant revenue flow in return.
- Due to coordination issues and lack of contracts, the businesses that consume open technologies cannot return that revenue to the ecosystem, a.k.a. the Free Rider Problem.
As a solution, we should,
- Recognize open technologies as a new type of digital public good,
- Finance the ecosystem by setting up national or global public funds and generating a direct income for organizations producing open technologies based on their products' usage and criticality metrics,
- And aim to establish a financially sustainable digital public goods market in the long run.
Agile Public Funds
To achieve scalability in this structure, our public funding models must align with the unique characteristics of these new digital goods.
Traditional funding options such as one-time grants may work well for single, long-term projects but are unsuitable for a fast-paced ecosystem like software development.
Instead, we should establish scalable public funds that distribute resources to the entire ecosystem by evaluating each solution's past success through specific metrics.
I aim to study and demonstrate the practicality of an Agile Funding model through this personal experiment.
Process
I have created a document containing all available open source collectives:
Open source public fund experiment
- With your help, I will randomly choose three open source collectives every month from this list.
- Find each collective's "most popular" repository on GitHub by using the number of Stars. I want to pick a single repository only to keep the process simple.
- Calculate each repo's score and weight using the Criticality Score tool.
- Distribute that month's amount to the projects based on these results through Open Collective, preferably on the first day of each month.
I will keep updating the document in the coming period, so please check it to see the selected projects, scores, weights, and final amounts.
Monthly Amount
I will tie the monthly amount to the new follower count to keep the numbers dynamic and invest a certain amount for each follower. You can check the document to see how I calculate the amount for each month.
Criticality Score
I will use the Criticality Score tool from the Open Source Security Foundation (OpenSSF) as a base, calculate a score for each selected project, and distribute our small fund based on the results.
I plan to improve the contribution algorithm in time. It is important to note we currently miss the "usage" parameter of open-source solutions, which is another crucial parameter we need.
For more information on the Criticality Tool, please check its repo.
Open Collective
Open Collective is a platform that provides legal and financial support for grassroots communities, including for a large number of open source projects. Its transparent structure makes it easy to verify the payments, so I chose to use it as a payment platform.
I retrieve the "accounts" data from their public API and process the rest based on this dataset.
Quick links:
- Open Collective API
- Helper repository to collect and process the data
- My Criticality Score fork
- Open source public experiment document
Don't hesitate to ask me any questions about the data, tools, or the process.
Feedback
As usual, please feel free to share your thoughts and questions. I will do my best to improve the process based on your feedback.
Posted on January 3, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.