NixOS / SC-election-2024

2024 Election for the Steering Committee
12 stars 43 forks source link

Should Nix transition away from GitHub to a self-hosted git forge? #18

Open nyabinary opened 6 days ago

nyabinary commented 6 days ago

Question

Do you believe Nix should move away from GitHub and instead host its independent Git forge? If so, what are the benefits and challenges of such a transition, and how would you approach this shift if it were to happen?

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

cafkafk commented 4 days ago

TL;DR:

We absolutely should move away from GitHub, not just because it's a proprietary platform, gating important features behind paywalls, but also because being proprietary means the platforms limitations are only fixable by Github, and they rarely listen. Also, the longevity of the project is at stake, should GitHub enshitiffication continue further. There is no world in which we consider GitHub a permanent residency, and we know from issues such as nixpkgs mass pings that we could have much to gain by having more control over the actual code. Further, control over user accounts would make increasing bus factor on projects a lot easier, since owning the forge would allow us to have a much deeper control over permissions.

What we can't forget is the benefits GitHub offers, those mainly being network effect. I don't think it would be wise to move nixpkgs off GitHub currently, as GitHub, being the default forge offers us access to a lot of new contributors. While that may not always be the case, currently, I think the tradeoff, specifically for nixpkgs, speaks for keeping it on GitHub... for the time being.

However, many projects are ready to be transferred to a self hosted forgejo instance. Whether that's Nix, the RFCs repository, the nixos-homepage, any of these wouldn't suffer from the same traffic loss as nixpkgs would. I think it would be reasonable to consider setting up forgejo infrastructure soon, and moving some of these over, perhaps keeping mirrors available on GitHub for discoverability.

Further, it's important that we do not rely too heavily on GitHub platform features, but ensure our workflows are as forge agnostic as possible, specially in the case that a sudden GitHub update or policy change would make using the platform no longer an option. This isn't likely to happen immediately, I think this platform will likely first be truly unusable in the span of decades, but we must be aware that at any moment, GitHub could make changes that make it unusable for official NixOS projects, and we must be prepared in case that ever happens.