-
Notifications
You must be signed in to change notification settings - Fork 36
Proposal: Grant program and purpose-bound funding #270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
ec86d82
1ba597f
85d4cad
5ba114c
ce1df37
4b5b23a
bbcd7e0
427e88e
cb4892c
2f0769a
1351ef7
5a20c27
5a57771
001dc95
a52a2cd
df6db44
d563fba
1a1d69f
2a8841a
4dad059
4ede6f3
0c08a79
18709e6
5cf3d60
c4e8108
407c361
78b32a5
f1b86a1
d6fd3a6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,125 @@ | ||||||||||
| # Proposal: Grant program and purpose-bound funding | ||||||||||
|
|
||||||||||
| Alternative title: Filling funding flow gaps | ||||||||||
|
|
||||||||||
| ## Motivation | ||||||||||
|
|
||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
...here is one (and, fwiw, only) use-case for a "grant system" that I currently see. All of the work that is too removed from "profit-making" for the market to show interest in, maybe projects whose time hasn't come yet. Running a mainline kernel on nokia 3310 or whatever weird stuff Matthew does... EDIT: added the 2nd, a variation of the 1st |
||||||||||
| - Enable companies to finance Nix ecosystem improvements in a more streamlined and transparent way | ||||||||||
| - Enable contributors to get paid for working on Nix ecosystem improvements in a more streamlined way | ||||||||||
| - Provide a way to connect funding partners to contributing individuals, e.g. for when: | ||||||||||
| - Individuals don't want to be employed/contracted directly by a company, and don't want to be limited by receiving funding from only one company | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do such individuals exist? Why should the Foundation cater to such individuals, if there were any, instead of helping individuals to get direct contracts?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes we know such individuals, it's often people with availability that want to improve certain aspects of the ecosystem, but cannot justify working on it for free against potential paid opportunities. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You know of individuals who specifically want to channel a commercial customer's money through a non-profit organization that is legally barred from charging their customer a competitive price? :) |
||||||||||
| - Companies don't want to employ/contract an individual directly, and want to provide funding in a more flexible way to multiple individuals | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Why should the Foundation help companies avoid direct contracts or create hidden employment relationships?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The grant program is not to replace employment relationships. Grantees would be fully independent contractors and would not be employed by the foundation or potential funders. See also #270 (comment) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Precisely! That's what I mean by the "hidden employment relationship"! The grantees would be carrying out commercial work for the funders, directly contributing to the funders' profits, but they'd not get their share of the created margin (neither would the Foundation!), and they won't enjoy any of the so-called "security and benefits" There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. there may be a tension of interests here in 'security and benefits' to the developer (as a potential employee) vs the foundation getting the margins to address their problems. |
||||||||||
| - Companies want a trusted third-party to hold the funds until work is complete | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why should the Foundation help Companies in their anti-competition efforts? |
||||||||||
| - Strengthen the ecosystem by providing funding resources to contributors using general NixOS Foundation donation profits not tied to any companies | ||||||||||
|
|
||||||||||
| # Detailed Design | ||||||||||
|
|
||||||||||
| There are three inter-related parts to this proposal: | ||||||||||
|
|
||||||||||
| - Team initiatives: A way for teams to request funding, which can come either from general-purpose donations or purpose-bound funding | ||||||||||
| - Grant program: A way for contributors to propose ideas and get paid for delivering milestones. The funds can come from both general-purpose donations and purpose-bound funding. | ||||||||||
| - Purpose-bound funding: A way for companies to provide funding for specific grants proposals or team initiatives. | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm getting the impression that "purpose-bound funding" is expected to be the main source of cash for the grant system, and I really hope that's not the case? Anything that is "purpose-bound" is probably clear-cut enough to be a commercial contract between for-profit entities, but then what the Foundation should do is collect a sort of a "tax" (no strings attached) from such commercial fees in exchange for facilitating such deals and helping companies and contributors connect...
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree that the focus should be for the foundation to provide a service to the community, if nothing else then merely to keep its non-profit status. It is easy to see such a scheme as a match making mechanism, but how is that not an agency? |
||||||||||
|
|
||||||||||
|  | ||||||||||
|
|
||||||||||
| ([source](https://excalidraw.com/#json=ZrF5CEDeZp5squJcqxXu_,LzsWVJZ_ZQXvCuoIPr9iwA), make sure to update the source link when changing anything) | ||||||||||
|
|
||||||||||
| ## Team initiatives | ||||||||||
|
|
||||||||||
| Create a process for teams submitting initiatives for funding. | ||||||||||
|
|
||||||||||
| - Official teams can submit initiatives by creating a PR against the nixos-homepage repo, which is reviewed by the board/SC before merged. Team initiatives consist of a title, description and link to more info (e.g. a team roadmap, repo, board, ...) | ||||||||||
| - Communication between a team representative and the board will be established to synchronise on available funding and team needs | ||||||||||
| - The board may allocate part of the income and ear-marked funds towards team initiatives | ||||||||||
| - If there's a lot of interest by community individuals to support team initiatives, the board can consider creating an OpenCollective crowd-funding campaign for team initiatives | ||||||||||
| - As opposed to [purpose-bound funding](#purpose-bound-funding) that come with a contract meant for companies, such crowd-funding campaigns are meant for individuals and are seen as a donation without a contractual guarantee of the funding being used for the stated purpose | ||||||||||
|
|
||||||||||
| ## Grant program | ||||||||||
|
|
||||||||||
| Create a page on the website to explain this. | ||||||||||
|
|
||||||||||
| ### Proposal evaluation waves | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Already asked in the previous round, but why "waves"? Why not a continuous call?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Because there's limited funding, and choices can only be made if you see the options, it doesn't work with continuous requests. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Choices can be made as long as you have a margin (e.g the EC and the German money that the Foundation has had). Given where Nix(pkgs) is now, the funding does not at all need to be limited, in fact it's first and foremost limited by our capacity to coordinate and spend. It's important the program doesn't accidentally limit the future margin and doesn't leave us with less choice than we enjoy now. This is why I hypothesize that the money should be reaching the Foundation through maintainers-operated entities in the form of a tax, and not from the for-profit partners with Foundation as a proxy |
||||||||||
|
|
||||||||||
| A grant wave is 3 months long, comprised of two phases, and executed by the board or someone delegated: | ||||||||||
|
|
||||||||||
| - Wave start: Widely announce the new wave, including: | ||||||||||
| - Decided by the board: How much funds (and how they're ear-marked, if at all) are available to be allocated. This may include part of the income and ear-marked funds. | ||||||||||
| - In addition to the funding directly available to the grant proposals, internally an extra 5% is budgeted for grant evaluators | ||||||||||
| - Decided by the SC: The agenda that will be prioritised for this wave | ||||||||||
| - Proposal phase (1.5 months): Anybody can write a grant proposal by submitting a PR to a repository. | ||||||||||
|
infinisil marked this conversation as resolved.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should be possible to have private submissions until they're approved |
||||||||||
| - Proposals should primarily include the team (1+ persons, 1 contact person) to do the work, the milestones and associated amount needed in EUR, timeline, and the recipients of the funds (must be a company, can be self-proprietorship) | ||||||||||
| - If somebody has a good idea but no time to implement it yourself, they can still write a proposal and look for a team to work on it. | ||||||||||
| - Proposals may also be for non-official projects | ||||||||||
| - Timelines can be arbitrarily long and have arbitrarily many milestones in them | ||||||||||
| - Teams and funding partners are encouraged to directly synchronise with each other about the scope of the work and grant amount. Ideally the team submits something to the grant program that the company then submits funding for using the purpose-bound funding mechanism | ||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Something I'd very specifically recommend discouraging! On the very rare occasion of a "double coincidence of wishes", the Foundation should be helping the team create an upward pressure for the price instead of fixing it low... |
||||||||||
| - Wave midpoint: Close proposal submissions, announce the feedback phase and reach out to: | ||||||||||
| - Various stakeholders for feedback, including authoritative community teams or individuals | ||||||||||
| - Companies for the opportunity to submit extra funding for specific proposals (via purpose-bound funding) | ||||||||||
| - Also mention team initiatives, same as on the website | ||||||||||
| - Feedback phase (1.5 months): Collection of feedback and funds | ||||||||||
| - Feedback from stakeholders can be discussed and acted upon | ||||||||||
| - Sign purpose-bound funding contracts with funding companies wanting to submit funds for specific proposals | ||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Contracts are signed before the funding decision. What happens if the SC rejects?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The funds will be repurposed according to the funders wishes, see
|
||||||||||
| - Any proposal PRs submitted during this time will only be eligible for the next wave | ||||||||||
| - Wave end: SC decides which proposals get funded, while prioritising the agenda and satisfying the [SC's evaluation criteria and process](#sc-evaluation-criteria-and-process), which are then merged to signal that the proposal is accepted for funding and the work can start | ||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No time constraint on SC deliberation.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We'll not specify it here, there's many more implementation details on how the SC makes this decision as well that will be needed for the concrete implementation |
||||||||||
| - Proposals can get rejected due to either: | ||||||||||
| - No SC majority to back the proposal -> Proposal PR gets closed | ||||||||||
| - SC majority to back the proposal, but not enough funding this round -> Proposal PR is kept open, in case there's enough funding for a later wave | ||||||||||
| - Be clear that in such a case, there's still no guarantee to receive funding later | ||||||||||
| - The board ensures standard legal requirements | ||||||||||
|
|
||||||||||
| ### Milestone evaluation | ||||||||||
|
|
||||||||||
| After grant proposals are kicked off, the applicants are expected to do the work and follow up after completing each milestone with detailed reports submitted as a PRs to the evaluation repo. Appointed evaluators will evaluate the work, request changes if necessary, and give approval if satisfactory, in which case the applicants will be paid. | ||||||||||
|
|
||||||||||
| - The evaluators are appointed from a list of trusted community individuals that have agreed to being evaluators | ||||||||||
| - Changes to this list are decided by the SC | ||||||||||
| - The board picks the evaluators from the list | ||||||||||
| - Evaluators are required to submit an evaluation report including deliverables, evaluation notes and approval decision | ||||||||||
| - Evaluators together get 5% of each milestone amount for its evaluation, independent of whether the work is passing or not | ||||||||||
| - The 5% is budgeted internally by the foundation | ||||||||||
|
|
||||||||||
|  | ||||||||||
|
|
||||||||||
| ([source](https://excalidraw.com/#json=rRutoi8nEcpjv1UIj3X87,VCPIeHZP_6ouG0U7tWQxMg), make sure to update the source link when changing anything) | ||||||||||
|
|
||||||||||
| ## Purpose-bound funding | ||||||||||
|
|
||||||||||
| - Establish a process for going into contracts with companies to supply funding for specific purposes, with a guarantee that part of the funding will be used for the stated purpose, and that what could not be used as such is repurposed according to the funder companies wishes. | ||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Entering into contract may have implications for ANBI status. a. Drop the ANBI ambition. Misses out on benefits of "true donors" so to speak, but certainly workable. Stichting Blender Foundation operates this way. Without ANBI, Dutch donors face schenkbelasting and lose their giftenaftrek, and foreign donors and grant-makers lose the credential they may rely on for deductibility in their own jurisdiction. VAT has to be charged on contract work as usual. b. Make a number of adjustments so that the funding is by donation. Donations can carry a stated purpose, take effect only once the SC has accepted the proposal, and return if unspent, but nowhere near the guarantees a commercial contract can provide. Revocation by the donor would be too controlling for ANBI. This setup would be close to the Python Software Foundation's model. ANBI feasible, provided the Stichting keeps the final say on which proposals are funded and who carries them out (in practice the SC, under a delegation from the board). No VAT on donations. c. Move the contract work to a B.V. (private corp) owned by the Stichting. This would safeguard the ANBI status, but add some bureaucratic overhead, due to the extra entity and arm's-length contracts for Stichting resources the B.V. would get to use (e.g. establishing a "market rate" for trademark royalties). Housing the purpose bound funding in a B.V. also sends a signal to agencies that the Stichting's commercial arm competes with them. A setup like this could also host non-development services that are perhaps not feasible to crowd-fund and should be paid by interested parties. (Some ideas, possibly quite bad, but their existence suggests good ones exist. Examples: prioritized builds of certain packages on cache.nixos.org, validation of reproducibility and security through independent rebuilds) This is close to how Mozilla and Wikimedia operate; OpenSSL uses a sibling corporation rather than a subsidiary. (Side note on Blender to avoid confusion: Blender has used a "working company" structure since 2007, where Blender Institute B.V. carries employment, office and other operational liabilities while IP and funds stay in the Stichting; they are currently completing the transfer of the B.V.'s ownership to the Foundation. That setup sits primarily on the expenditure side — donations still arrive at the Foundation — and it has served well to keep the project and its IP insulated from operational liabilities, but it is not a solution for the funding side of things. This is a common pattern ("werkmaatschappij") that could be applied for a three-entity setup, but that seems like overengineering at this point.) d. Apache model, where companies pay the developers and the foundation pays for the other things. This fails to compile funders into FTE-scale bundles, which I believe to be an important goal. |
||||||||||
| - Funding recommendations for differently sized companies should be given | ||||||||||
| - The [SC's evaluation criteria and process](#sc-evaluation-criteria-and-process) have to be met | ||||||||||
| - The board ensures standard legal requirements | ||||||||||
| - This can be used for [team-submitted initiatives](#team-initiatives) and grant proposals from the current feedback phase | ||||||||||
| - For team initiative funding, we charge an extra 10% for management | ||||||||||
| - For grant proposal funding, we charge an extra 35% for management (10%), maintenance (20%[^1]) and evaluation (5%) | ||||||||||
| - Team-submitted initiatives can have recurring payments (quarterly or yearly), which is the recommended option. Grant proposals can only be one-time payments | ||||||||||
| - Maintain a page on the website that showcases funding opportunities, with both team initiatives and current grant proposals, but with a highlight on team initiatives, and send this to interested companies every 3 months | ||||||||||
| - There is a contact form for companies to reach out to initiate the process of submitting purpose-bound funding for either a listed opportunity, or a custom purpose, see below for a rough mockup | ||||||||||
| - An email to reach out to should be provided as an alternative | ||||||||||
|
|
||||||||||
| [^1]: This represents maintenance needed on the result of the grant after its completion, e.g. to fund the team owning the codebase to fix bugs, do refactorings, or review PR's related to the contributed code, likely for many years to come. | ||||||||||
|
|
||||||||||
|  | ||||||||||
|
|
||||||||||
| ([source](https://excalidraw.com/#json=197D8PbBEEfh38IR9RKt9,zCl1JSX_1yME1Z7Z1VixfA), make sure to update the source link when changing anything) | ||||||||||
|
|
||||||||||
| ## SC evaluation criteria and process | ||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Most of this section goes over reasons to reject; harms and their various categories. Recommand having at least a section of reasons to accept; positive reasons about evaluating benefits of a proposal in terms of accomplishing the Foundation's goals or being in line with the Values. Otherwise. Looks good overall!
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I’d think about it in terms of which criteria are actually useful for applicants and for the selection process. From an applicant’s perspective, it helps to understand what would make an application ineligible or clearly out of scope. That avoids unnecessary effort, makes the process feel more approachable, and gives people a straightforward way to assess whether it makes sense to apply. I would be more cautious about adding criteria for what a "good" application looks like. Once you start listing positive criteria, anything not on that list can easily be read as less relevant or less desirable, even if that was never the intention. This is a dynamic seen in hiring, for example, where people often self-select out when they do not see themselves reflected in the stated criteria. Not having positive criteria gives the selection process more room to recognize strong applications on their own merits, including ones that may be good in ways we did not anticipate. The criteria here are useful as a way of defining the boundaries of the process, not as an exhaustive description of what we might value. I think a fuller discussion of what "good" can look like would be a separate document entirely and would be misplaced here. |
||||||||||
|
|
||||||||||
| To make the SC's funding decisions consistent, reviewable, and defensible, this sets out the criteria the SC evaluates against and how it records each one. | ||||||||||
|
|
||||||||||
| In addition to the existing requirements, the SC weighs whether a funder or proposal could harm the project, and whether the work being funded is genuinely useful. | ||||||||||
|
|
||||||||||
| Criteria under consideration include | ||||||||||
| - Reputational, financial, or moral harm to the project. | ||||||||||
| - Applicability and usefulness, whether consensus from relevant stakeholders exists or is needed, and whether the SC would be needed to shepherd the effort. | ||||||||||
| - Reduce risk of failure, such as by ensuring sufficient milestone granularity, feasability, and considering history of completion or non-completion by the parties involved. | ||||||||||
| - Opportunity cost of allocating funding here versus elsewhere, and a baseline bar for the work being worth the funding. | ||||||||||
| - Conflicts of interest among the funder, the proposal, the relevant governing parties, or the affected areas of work. | ||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd like to see written COI/recusal rules for SC, board, and evaluators |
||||||||||
|
|
||||||||||
| The SC can also set criteria in advance that rule out cases such as specific categories, projects, funders, recipients, where the likely harm outweighs the benefit. These standing criteria are reviewed from time to time and can be added or lifted the same way. The SC will also revisit a standing criterion when the facts that motivated it have shifted substantially. | ||||||||||
|
|
||||||||||
| SC members record and own their reasoning for every decision, alongside the SC's unified reasoning, and may approve or decline on any of these grounds. The SC refines the criteria as it learns, including when a funded effort ends up harming the ecosystem, so the decisions that follow are sharper. | ||||||||||
|
|
||||||||||
| # Considerations | ||||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This document is missing measurable outcomes or success criteria, making it impossible to judge whether the stated goals were reached by the implementation. |
||||||||||
|
|
||||||||||
| - Why can only businesses (including self-proprietorships) receive grant funding? | ||||||||||
| - Because sending funding to non-business entities is legally more tricky to get right. For now we need to keep the setup as simple as possible. We may be able to lift this restriction in the future. | ||||||||||
|
infinisil marked this conversation as resolved.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The following are goals, not motivations. The document doesn't state why these are goals to begin with.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding why would be nice, but I'd be ok with