NixOS / SC-election-2024

2024 Election for the Steering Committee
31 stars 75 forks source link

Financial support for maintainers #108

Open iFreilicht opened 1 month ago

iFreilicht commented 1 month ago

Question

Many (though not all) contributors to and maintainers of the nix ecosystem are doing so as unpaid volunteer work next to their fulltime jobs. This is not sustainable, we either need more maintainers, or we need to lower the workload of the ones we have.

One way of doing this would be to sponsor them so they can switch to part-time positions or outright quit their jobs and work on Nix or nixpkgs full-time, potentially with money the foundation already receives in donations.

Would you be in favor of doing something like this? Why or why not?

Candidates I'd like to get an answer from

No response

Reminder of the Q&A rules

Please adhere to the Q&A guidelines and rules

getchoo commented 1 month ago

Would you be in favor of doing something like this? Why or why not?

I think it would be something to explore, but it would require a lot of discussion. The primary concerns would most likely be in how finances are distributed and who receives it, which can be quite a contentious topic given the difficulty of valuating one contributors work over another's (i.e., should we decided by commit count? Number of lines changed? PR count? How do we factor in reviews?)

Sponsors would probably help alleviate some of this stress, as relying on Foundation funds (understandably) puts a lot more pressure on how and where money is spent with, with it being able to have a direct effect on Hydra, the binary cache, and other official (critical) infrastructure

so they can switch to part-time positions or outright quit their jobs and work on Nix or nixpkgs full-time

This expectation (as much as I would enjoy it) also makes this solution more difficult to scale. From what I've seen, the status quo is a company funding one or more contributors work on a specific task, not as a regular activity -- as committing to this long term is quite a large investment. Not to say this would be impossible of course, but I believe it would only be possible in practice for a very select few (which isn't bad, but something to note)

If we were to lower our expectations a bit from funding part/full-time positions to increasing the amount of contract-esque work contributors receive, that may also allow for many more contributors to at least receive some payment for their work. I believe the Foundation can help here as well by regularly showcasing the amazing work being done in our community to industry contacts, as well as encouraging them to reach out for things to progress further (similar to bug bounties)

we either need more maintainers, or we need to lower the workload of the ones we have.

I also want to point out that I don't think this is a very binary decision. We can increase the number of maintainers and help them receive funding while also lowering their workload in general. As said in our community values:

We build automation and processes that make the best use of our contributors' limited time and energy.

I have elaborated a bit on this already, but as TL;DR: there has been a lot of work done in automating many tasks in nixpkgs, and much more on the way. This is rightfully a priority of ours and I believe can work hand in hand with the financial support for maintainers suggested here

roberth commented 1 month ago

Just throwing foundation money at maintainers runs a risk of bias, or even the distribution of this funding to be perceived as biased, so I would go about this very carefully. Perhaps a better angle is to improve the assignment of responsibilities, and letting companies sponsor maintenance (with employee time, contract like, or whatever works for them), in exchange for a badge they can put on their website "careers"/"about"/"giving back" page or wherever. Again, this kind of thing needs to be considered with diligence.

We do have areas where help is much wanted, in ways that are more "unbiased" or fair, such as the management of releases, staging, testing, infrastructure, etc. Investing here will show results that we can use to enable more funding, and it will free up volunteer time and energy in the other areas, such as specific packages.

proofconstruction commented 1 month ago

Absolutely yes! This has been a common thread in many of my other answers (see #47, #84, and #97); compensating maintainers will do a lot to improve the long-term sustainability of the project, and we'll be able to accomplish many more of our goals if we can assemble the funds to pay just a handful of people to do this work full-time. Even better news: the numbers we need to hit to make that possible aren't even very far away!

mschwaig commented 1 month ago

The foundation has some money coming in (see https://discourse.nixos.org/t/nixos-foundation-financial-summary-a-transparent-look-into-2023/43640), but that money would simply not take us very far if we started paying contributors with it directly. In addition to the difficulties around fair allocation.

I believe that more open source contributors should have the option to get compensated for their work. The work we are already doing as a community benefits not only individual community members, but also companies already. Both the community and those companies would benefit, if we can come up with smart ways for them to spend money in the Nix ecosystem, in a way that creates more Nix jobs, more open source jobs, and improves the ecosystem for everyone. Of course in practice all of this this is really hard to do, but I think it is one of the things we should discuss in the SC.

asymmetric commented 1 month ago

In my opinion this should be one of the main priorities of the SC. By this I mean: creating a roadmap around key features, then finding out partners (ideally public, but of course also private) who are willing to sponsor the maintainers doing most of the work (and/or employing them directly), potentially with the Foundation as an intermediary for those funds.

I don't think it would be fair, nor sustainable, to primarily ask volunteer maintainers to shoulder the burden of a multi-year plan. I think as a community and as a project we have (long) outgrown the stage where it's all just a labor of love.

People are already building careers around their Nix expertise, so I think we should lean into this stage, and create the right conditions to attract stable funding: a clear roadmap, well-scoped teams, good internal processes for defining what's in scope for official projects, clear funding guidelines (e.g. let's avoid corporate capture by not letting those who fund us dictate the project's roadmap).