Awesome
FOSS Contributor Fund Overview
Now Available: Investing In Open Source: The FOSS Contributor Fund
This deep-dive into the FOSS Fund Blueprint teaches you everything you need to get a FOSS Fund running in your own organization.
What Is A FOSS Contributor Fund?
The FOSS (Free and Open Source Software) Contributor Fund is a framework for selecting open source projects that a company supports financially. This initiative is designed to encourage open source participation and help companies take an active role in sustaining the projects they depend on. The initiative puts the sponsorship decision into the hands of open source contributors within the company, democratizing the sponsorship process.
The salient details of the FOSS Contributor Fund at Indeed are:
- The initiative runs for one year.
- The funds are distributed evenly.
- Anyone at the company can nominate a project to receive funds.
- If you contribute to an Open Source initiative, you can vote for a nominated project.
- You must make an Open Source contribution in the same quarter you want to cast your vote.
- Funds are awarded to three projects per quarter.
Who Can Nominate A Project?
Anyone in the company can nominate a project. Projects must meet a set of nomination criteria to be eligible.
What Are The Nomination Criteria?
A project must meet the following criteria to be eligible for nomination:
- It must be in use by the company or one of its subsidiaries
- It must use an OSI-Approved License
- It must have some mechanism for receiving funds
- It cannot be owned by an employee of the company or one of its subsidiaries
The Project Must be In Use By The Company Or One Of Its Subsidiaries
A broad view is encouraged when applying this criteria to encourage participation from groups beyond Engineering. Companies use FOSS projects in many ways. Some projects are included in internal projects or tools as a dependency. Examples include the apache-commons library, node modules, cryptography libraries, and so on. Other projects may be part of the underlying infrastructure. This accounts for projects like Linux, Apache Kafka, Kubernetes, and so on. Finally, some projects may be used to help run the business. Examples include Selenium, the GNU Image Manipulation Program (GIMP), Git, and so on.
By requiring projects to be in use, FOSS Fund adopters can ensure that donations are aligned with business interests, by helping to sustain open source projects on which the company depends.
The Project Must Use An OSI-Approved License
Since the goal of the initiative is to support the developers of Free and Open Source Software, the project license is critically important. The list of OSI Approved licenses can be used to gauge which projects are eligible for an award. Other options include:
- Licenses endorsed by the Free Software Foundation
- Licenses that meet the Debian Free Software Guidelines
- Licenses on the Fedora Software License List
Wikipedia has a great comparison of licenses approved by different authorities.
By using an existing list of licenses approved by a neutral third party, one can avoid making ad-hoc decisions about which projects should or should not qualify based on their license.
The Project Must Have Some Mechanism For Receiving Funds
As a practical matter, there must be a way to transfer funds to the project. There are many ways a project can receive funds, including but not limited to the following:
- Open Collective
- Patreon
- PayPal
- GitHub Sponsors
- An umbrella foundation like Software Freedom Conservancy
The initiative assumes that projects which have clearly indicated how to express financial support have put some amount of thought into how funds might be used. Further, a company's procurement department is unlikely to be able to process a contribution to a project with no clear mechanism for receiving funds.
The Project Cannot Be Owned By An Employee
Projects that are wholly owned by an individual employed by the company or one of the company's subsidiaries should be ineligible to receive a contribution from the FOSS Contributor Fund.
This helps avoid situations which could be legally, ethically, or financially complicated. At a minimum, it helps limit the need to determine tax burdens and other questions bound up with compensation questions.
Who Can Vote On A Distribution?
A FOSS Contributor Fund runs for one year. At the beginning of the year, you define the total amount your organization will donate to open source projects. At Indeed, we run the fund quarterly, awarding three grants per quarter. The elected project receives 1/12th of the year’s total fund. Anyone in the organization who makes an open source contribution in the same quarter as the election can vote.
What Counts As An Open Source Contribution?
A broad view of open source contribution is encouraged. The Starfish tool looks for a specific set of GitHub events for a given user to determine voter eligibility. Specifically, Starfish looks for events related to Pull Requests, Issues, and Comments. The Starfish repo includes complete details about the event selection.
Where existing tooling doesn’t capture all open source activity, it is recommended to provide a way potential voters to self-registering based on uncounted contributions. For example, if an employee volunteers significant time organizing a meetup for an open source project and wishes to participate in the FOSS Contributor Fund voting process, there should be a mechanism for them to register their eligibility. Fund administrators may need to manually review these registrations.
How Are Votes Counted?
Transparency in the voting process is encouraged. There are a number of existing platforms to collect votes. Condorcet Internet Voting System by Cornell is one option.
What Happens When A Winner Is Declared?
Before starting the procurement process or making any formal announcements, the fund administrators contact the receiving project. This will help ensure that the project is prepared to receive the funds.
License
All materials in this repo are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License