NixOS / SC-election-2024

2024 Election for the Steering Committee
22 stars 67 forks source link

What do you believe is the most pressing technical issue facing Nix, and how will you address it? #16

Open nyabinary opened 4 weeks ago

nyabinary commented 4 weeks ago

Question

What do you believe is the most pressing technical issue currently facing Nix, and how would you prioritize addressing it to ensure the continued stability and advancement of the ecosystem?

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

mschwaig commented 2 weeks ago

The community has a large capacity to come up with technical solutions to problems, so I don't think that the role of the SC will be to come up with technical solutions to specific technical problems per se.

It will be making decisions, delegating power to make decisions, and at the end of the day taking responsibility for those decisions. So we need to have the expertise, but we do not need to come up with all the solutions.

When necessary, the SC should prioritize one thing over another, by telling the person in charge to prioritize one thing over another, or publishing a list or priorities, things like that.

This kind of decision making on technical matters is a large impasse right now, and I see it as the most pressing technical issue. Oftentimes not making a decision at all for years is worse than any of the possible options.

tomberek commented 2 weeks ago

The most pressing issue facing Nix is ensuring we have clear decisions, clear delegation, and clear ownership of efforts. This is meant to improve the contribution experience and increase our capacity to solve the technical issues we face.

While it is not the role of the SC to make the specific technical decisions, I have an interest in improving the build infrastructure, the cache, and stabilizing experimental-features.

doronbehar commented 1 week ago

While it is not the role of the SC to make the specific technical decisions, I have an interest in improving the build infrastructure, the cache, and stabilizing experimental-features.

I sort of agree with that, but I'd say that I view the role of the SC as the team in charge of prioritizing at least which general technical decisions we should take. The technical issues I find the most pressing, are (ordered):

  1. Finding resolution for our S3 binary cache situation.
  2. GSoC idea: Nixpkgs analytics: nixpkgs-review with a time-budget
  3. GSoC idea: outpath cache for faster automation
  4. Structured Documentation (see this effort).
proofconstruction commented 1 week ago

Bit-for-bit reproducibility. Once reached, this will be a crowning success not just for our community but across the entire software industry. With full reproducibility, Nix will immediately be a very attractive option for organizations looking to achieve goals like demonstrating compliance with frameworks like SOC, having more confidence in security posture, or generally moving faster while breaking fewer things. Most importantly for us, it will let us retire much of the cache since old package versions may then be readily rebuilt at any future time, which in turn will remove a major expenditure from the budget, freeing up funds for supporting other important projects in the ecosystem.

To prioritize addressing this, I would dedicate funds to support development time from a team devoted solely to this issue.

nyabinary commented 1 week ago

The most pressing technical issue I see facing Nix is the accumulation of technical debt, the stagnation of key experimental features, including flakes. Over time, these issues have made it harder for the project to advance and create barriers to broader adoption. Addressing these challenges requires a focused effort on reducing technical debt, stabilizing the experimental features that many users rely on, and working towards achieving reproducibility.

By tackling these issues and fostering more innovation in experimental features (and in general), I believe we can enhance the overall quality and usability of Nix. Additionally, I agree with proofconstruction that achieving bit-for-bit reproducibility is crucial for building trust and consistency across the software industry, and it would significantly improve the reliability and predictability of the Nix ecosystem.