Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ec86d82
Initial draft
infinisil Jun 2, 2026
1ba597f
Various changes
infinisil Jun 2, 2026
85d4cad
Various rewordings and minor improvements
infinisil Jun 2, 2026
5ba114c
Include @cafkafk's proposed SC criteria and process
infinisil Jun 15, 2026
ce1df37
Add SC/board as codeowner to proposals
infinisil Jun 15, 2026
4b5b23a
Improvements to grant evaluation
infinisil Jul 6, 2026
bbcd7e0
Remove the need to define teams and PM
infinisil Jun 22, 2026
427e88e
Limit fund reception to companies only
infinisil Jun 22, 2026
cb4892c
Clarify team/individual stakeholders
infinisil Jun 22, 2026
2f0769a
Make proposaol PR lifecycle clearer
infinisil Jul 24, 2026
1351ef7
Remove alternative funding partners statement
infinisil Jul 24, 2026
5a20c27
Indicate that timelines and milestones can be arbitrarily long/numerous
infinisil Jul 24, 2026
5a57771
Updates regarding initiative funding
infinisil Aug 21, 2026
001dc95
Encourage recurring payments for team initiatives
infinisil Aug 21, 2026
a52a2cd
Indicate that team initiatives can link to something
infinisil Aug 21, 2026
df6db44
Improve motivation and encourage direct contracts
infinisil Aug 21, 2026
d563fba
Encourage direct communication between funders and grant teams
infinisil Aug 21, 2026
1a1d69f
Fix typo
infinisil Aug 21, 2026
2a8841a
Update flow diagram
infinisil Aug 21, 2026
4dad059
Improve purpose-bound funding charges breakdown wording
infinisil Aug 21, 2026
4ede6f3
Scale minimum purpose-bound funding to company revenue
infinisil Aug 28, 2026
0c08a79
Replace minimum with funding recommendation
infinisil Sep 4, 2026
18709e6
Add 20% reasoning
infinisil Sep 11, 2026
5cf3d60
general-purpose donations can be used for team initiatives
infinisil Sep 11, 2026
c4e8108
Make it possible to have multiple evaluators
infinisil Sep 18, 2026
407c361
Clarify that proposal authors don't need to be in the team
infinisil Sep 18, 2026
78b32a5
Clarify non-employment
infinisil Sep 18, 2026
f1b86a1
Remove non-employment statement
infinisil Sep 18, 2026
d6fd3a6
Typo
infinisil Sep 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,5 @@
/doc/calendar.md @tomberek @cafkafk @infinisil
/doc/nixcon.md @NixOS/steering
/doc/hetzner.md @NixOS/infra

/proposals @NixOS/foundation @NixOS/steering
125 changes: 125 additions & 0 deletions proposals/grants-and-initiatives/README.md
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

Copy link
Copy Markdown
Collaborator

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.

Copy link
Copy Markdown
Member

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

Suggested change
## Motivation
## Goals


@SomeoneSerge SomeoneSerge Aug 24, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Procure funding for experimental projects, fundamental research, and the "invisible work" that is otherwise hard to market.
- Provide contributors and their projects with interim funding during sponsor search or bargaining periods.

...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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The 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.

@infinisil @Ra33it0

@SomeoneSerge SomeoneSerge Aug 28, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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

@SomeoneSerge SomeoneSerge Aug 24, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Companies don't want to employ/contract an individual directly, and want to provide funding in a more flexible way to multiple individuals
- Help contributors find customers and secure commercial contracts, or procure funding for otherwise "unmarketable" work.

Why should the Foundation help companies avoid direct contracts or create hidden employment relationships?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The 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)

@infinisil @Ra33it0

@SomeoneSerge SomeoneSerge Aug 28, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grantees would be fully independent contractors and would not be employed by the foundation or potential funders.

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"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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.
developers potential interested in taking this may then want to consider taking that into account - tho iiuc, that did already seem the norm.

- Companies want a trusted third-party to hold the funds until work is complete

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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...

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The 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?


![](./flow.svg)

([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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The 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.

@infinisil @Ra33it0

@SomeoneSerge SomeoneSerge Aug 28, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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.

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.
Comment thread
infinisil marked this conversation as resolved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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

@SomeoneSerge SomeoneSerge Aug 24, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally the team submits something to the grant program that the company then submits funding for using the purpose-bound funding mechanism

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The 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?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The funds will be repurposed according to the funders wishes, see

- 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.

- 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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No time constraint on SC deliberation.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The 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

![](./waves.svg)

([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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Entering into contract may have implications for ANBI status.
Surely the work product being publicly available helps? But the contract would seem to reframe it as a service to a specific entity. That seems (to me, IANAL) difficult to count towards ANBI's 90% common good rule.
I think there's multiple ways out of this apparent conflict.

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).
This overhead may or may not be offset by the extra clarity it affords. For instance, a B.V.'s bookkeeping is routine work for any accountant, whereas accounting for an ANBI-compliant stichting is more specialised and probably worth keeping small.
In this setup the B.V. pays the Stichting arm's-length royalties (e.g. for the trademark) and fees for any Stichting resources it uses; those are costs for the B.V. The remaining margin is taxed as normal before flowing to the Stichting as dividends.

Housing the purpose bound funding in a B.V. also sends a signal to agencies that the Stichting's commercial arm competes with them.
While this might not be the intent, tax codes are set up to level the playing field, which I believe works out well. The arm's length rules make competition fair, and indeed it is in the best interest of the foundation to let anyone, including third party agencies contribute towards the purely functional deployment model in the ways that they are uniquely suited to. We'll want to highlight that.

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.

![](./initiatives.svg)

([source](https://excalidraw.com/#json=197D8PbBEEfh38IR9RKt9,zCl1JSX_1yME1Z7Z1VixfA), make sure to update the source link when changing anything)

## SC evaluation criteria and process

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The 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!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The 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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The 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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The 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.
4 changes: 4 additions & 0 deletions proposals/grants-and-initiatives/flow.svg
Comment thread
infinisil marked this conversation as resolved.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading