German federal funding for FOSS development

Successful applications will be funded with 65k€ to 300k€, spread over four months.

→ 6 July 2023 Application deadline ←

11 Likes

Thank you so much for posting this! This funding might actually be applicable to multiple parts of Nix.

I’m working on applying with my current employer for Challenge 1 (“Improve FOSS Developer Tooling”) regarding work around nix profile and the stabilization of flakes.

The work on content-adressed nix would be very much applicable to Challenge 2 (“Securing FOSS Software Production”). @thufschmitt I believe you have some knowledge around how that is progressing and if funding could help push it over the line.

@fricklerhandwerk, I don’t know what your current work situation is, but the velocity of the documentation team has been amazing recently, and potentially you or someone from the team could apply for Challenge 3 (“FOSS Infrastructure Documentation”) to give you the work hours you need.

As a disclaimer, it is important that the STF notes:

Applicants must verify that the work in their proposal is not already funded by another
public institution.

I believe I saw that some work around Nix is already funded by certain grants, some public, some private.

4 Likes

Reminder: Applications have to be handed in by 6th of July!

1 Like

Sovereign Tech Fund grant applications

tl;dr Get in touch to get help with planning a project and applying for a grant of 65-300k EUR to improve the Nix ecosystem.

In my capacity as the NixOS Foundation’s NGI project manager, I help with making things happen in the Nix ecosystem that can’t be expected to be done by volunteers. Part of that is assisting with fundraisers, in close collaboration with the foundation board.

With the application deadline of 2023-07-06 approaching for the Sovereign Tech Fund Challenges, I invite developers to get in touch with me if you would like to and have the capacity to carry out a 4 months project in the areas of developer experience, security and sustainability, or documentation in the Nix ecosystem.

The call is explicitly open for individuals, companies, public institutions, or any combination of those, from anywhere around the world. The purpose of my offer here is to foster collaboration across organisational boundaries, aligned with the interests and capabilities of the community.

Possible topics to be taken as inspiration, without particular order:

  • Finish the implementation of RFC 134 and thoroughly test the store layer in isolation
  • Implement C bindings for the Nix store
  • Formalise and document the store protocol
  • Integrate the Determinate Systems installer
  • Stabilise content-addressed derivations
  • Refactor Hydra for developer experience to allow for continued maintenance
  • Rework documentation infrastructure for developer experience
  • Support for the security team and infrastructure team
  • Technical improvements to Nixpkgs and NixOS

Collaboration offer

The project plan should be designed by the developers that would implement it. The budget allows for competitive rates. You know best what to do and what that costs.

I can help with getting the right people in touch with each other, especially to ensure that significant changes will get merged in a timely manner; researching and compiling existing issue reports, prior art, and other contextual information; ensuring goal alignment, avoiding or dealing with conflict of interest; assisting with developing a focused proposal, preparing drafts, and polishing the text. If the application is successful, I will help by facilitating internal and external communication and reporting, in order to protect developers from bureaucratic overhead and maximise the visibility of their work. The budget planning should of course account for that.

The resulting project could be run through the NixOS Foundation as the signing party, as we had with the Documentation project proposal for Google Season of Docs. This would further multiple goals:

  • Position the Nix community to the outside world as a reliable entity that is capable of getting things done
  • Foster and enable individual contributors to do meaningful work outside of commercial structures
  • Ease collaboration by experts to the benefit of the community, regardless their corporate affiliation
  • Grow organisational knowledge and secure resources in order to be able to repeat success stories in the future

This offer is particularly directed at long-term contributors and developers (including companies) who intend to stick around. The call reserves the option to prolong the engagement for another 4 months, and ideally we could establish continuous maintenance of the work results after the program ends.

Risk assessment

This is an invitation for speculative work, on a short notice. I’m very sorry for the rush, we’ve only started building up those structures and I’ll try my best to allow for more lead time in the future. (Feel free to forward information on funding opportunities to me as you encounter them!) Here’s an attempt to make explicit the trade-offs involved in this effort:

In my opinion we are particularly suited to fulfil the fund’s mission statement. Judging from context, the fund administrators may have in mind much more well-known projects such as Libre Office or Python, but I think we are in the position to convincingly frame Nix as a perfect candidate:

  • The project has been around for 20 years, and is on an exponential growth trajectory
  • We have a dedicated user base and significant buy-in from organisations
  • Companies rely on the technology as a superpower, and we have public support from NLnet and the European Commission
  • Sustainability is at the core of what we’re doing, and alleviating resource constraints would tangibly further our goals in that area
  • The major reason why Nix is not mainstream is accessibility, and we can showcase that we know how to improve in that regard
  • We have a an active developer community and managed to build up maintenance capacity, and we can demonstrably get medium-sized things done as a community-of-practice

With the NixOS Foundation as the signing party, we can also expect to improve the application’s fit for the fund’s selection criteria (page 4):

Degree of Maturity

  • Is there an existing community of developers around the technology with an
    established organizational model?

Degree of Sustainability

  • Is there involvement from the developer community for the implementing this
    project? Can it be verified that the work is desired by the FOSS project and that
    there is consent?

In the – still likely – case that our proposals don’t get accepted, essentially nothing is lost. Having projects in the drawer that are ready to implement will allow reacting quickly to future opportunities as they arise, adjusting scope as needed. I will make sure the plans stay available publicly in one form or another, such that they can be picked up easily when the time comes.

Don’t worry if you can’t participate this time. The Sovereign Tech Fund also has a long-term program without deadlines. I will be available until at least end of this year, and the NixOS Foundation has the budget to continue these activities until at least mid 2025.

If it works out well, chances increase to succeed at similar applications in the future, as we will have a visible track record to refer to. Therefore I encourage everyone to share this message with anyone you think should be aware of this or would be interested in participating.

Application guide

These questions must be answered in the application form:

  • What open source infrastructure component would you like to contribute to? Please provide more details.

    We can answer this question together and once for all applications. The results could also be used for front-page material or executive summaries.

  • Why is this technology critical? Please explain to us the relevance of this technology.

    We can develop a generic part collaboratively, and each application have a specific part tailored to its project’s objective.

  • Please provide a brief overview over your project’s dependencies, including your own dependencies and projects that rely on your technology.

    Again, we could have a generic answer and possibly a part that is particularly relevant to the application.

  • Who benefits from this technology and the improvements or contributions? Which target groups does your project address (who are its users?) and how do they benefit from the funding (directly and indirectly)?

  • How are decisions regarding this technology’s development made? Please describe the project’s governance model.

    The answers here will differ for the various sub-communities around Nix, and it would be great to obtain a reasonable approximation.

  • How does this project handle security risks? Are there policies, procedures, or tools in place to minimize the introduction of vulnerabilities or undesired contributions?

  • How will you address the challenge described? Give an overview of your work and why it is significant, specifically addressing the challenge. Explain what the field will learn from your proposed work and how it contributes to the long-term sustainability of the technology.

  • How will you accomplish the work? Please provide a list of deliverables with associated effort and cost of each deliverable.

    Example:

    • Deliverable 1: Re-engineer ExampleDeveloperTool-Core into it’s own library (74,000 Euros) (90 person days)

    • Deliverable 2: Implement UI Improvements to ExampleDeveloperTool-Core and ExampleDeveloperTool-Rust (24,000 Euros) (24 person-days)

    • Deliverable 3: Develop Python extension for ExampleDeveloperTool (43,000 Euros) (60 person-days)

  • Describe your relationship to the maintainers of this technology. Are you yourself the maintainer? Do they know you plan to do this work and do they support it? Please tell us more about how you obtained their support and how you plan to work together to make sure your contributions are accepted.

    This is where we can shine.

Conflict of interest disclosure

Anyone is free to apply for these grants on their own account. Almost certainly freelancers and consultancies in the Nix space will do that.

This is an invitation to coordinate and collaborate both to avoid stepping on each others’ feet, and to do things that would otherwise be very unlikely. This effort does not fall under the scope of NGI grants, so likewise this is speculative work for me, and there was not enough time for the board to approve any details. I hope that with success and the resulting resource flow we can establish more predictable processes.

I am also on Tweag’s payroll, currently mainly working on behalf of Antithesis, who fund my activities as Nix maintainer and Nix documentation team lead as well as assorted development work, all of which happens in the open. In particular I have time allocated to help Nix documentation team and Nix maintainers to give it a try, focusing on the topics the teams deem important. These efforts are not in competition: please approach me if you want to apply for funding to work on supporting Nix and documentation maintainers.

All opinions are my own. Feel free to contact me if you have questions.

Get in touch

If you’re interested, please contact me on any of these platforms:

Join the public Matrix room to get in touch with others, brainstorm, and discuss ideas.
Check out the project proposals repository with reusable building blocks.

10 Likes

Thanks to the tireless support of @Ericson2314 @flokli @Fresheyeball @carnotweat @emilytrau @fgaz @hexa @iFreilicht @jeremiahs @mat @proofconstruction @RaitoBezarius @thufschmitt @roberth @ron @zmitchell, we’re now on the finishing line with two project proposals, and expect to conclude a third one by tomorrow, each addressing one of the challenges by the Sovereign Tech Fund.

https://github.com/nix-community/projects/pull/2
https://github.com/nix-community/projects/pull/3

Feedback is very much appreciated, in particular if you would like to take on some of that work and can provide more detailed estimates. Also, since we have some headroom in the budget and possibly timing, feel free to suggest additional deliverables that fit the scope, especially if you have capacity to carry them out. As noted in the proposals, the budgets make some assumptions about what consultancies tend to charge and that we do that kind of calculation to ensure that we will get the complete project staffed with people who are deeply enough into the subject matter – all that in order to fit everything into the timeline.

18 Likes

Most tired are surely you, @fricklerhandwerk . This is super nice to see and thanks for all your efforts. I hope we can continue such coordinated grant applications and direct more grant money into the ecosystem. A super strong value proposition is there, we just have to explain it well and often.

4 Likes

Finished the security proposal:
https://github.com/nix-community/projects/pull/4

All three applications are now submitted. @proofconstruction is the hero of the day, who fearlessly endured the last hours of revisions and corrections with me and made sure everything is sane.

12 Likes

Thank you so much for all the help!

2 Likes

Thanks for putting all this effort into these proposals @fricklerhandwerk !
Regardless of whether we get them in the end, this is a great example of a community-wide collaboration, and it’s really thrilling to see it happening.

6 Likes

Update: The Sovereign Tech Fund announced that due to the number applications, the timeline was shifted by one month, such that the projects selected will only start in September instead of August. One can withdraw proposals if other commitments would make implementation impossible. We will have to wait another few weeks for the results.

2 Likes