Because there was an RFC on what to do about the flake stabilization that ended up with a fairly reasonable roadmap. It’d be nice if this could actually be followed, as the community agreed on it in the way that things about this ecosystem are agreed on.
Detsys neglected to even comment on this RFC, despite their heavy involvement (not even a “nah we don’t like this”, just radio silence for months) and then a week later publically posted something along the lines of “ok flakes are done now”. This is the same thing all over again.
Flakes still have many glaring issues, and the community generally believes stabilization shouldn’t happen as-is. Newer users are blindly using them without understanding the remaining issues, a number of which will need breaking changes to the format.
By forking nix in a way that can well confuse people as to what the “real” nix is, and calling it the much-awaited 3.0, there will be plenty of people who don’t see the difference and start using it. Everyone else will have to follow suit and implement the same spec to maintain parity to what is marketed as the nix, with its known issues. Cue all the complaints about breaking changes and instability in what will be the de-facto nix a year or two down the line - or, more likely, the current limbo continues and flakes never see a satisfactory implementation, because any work on them is hamstrung by all this crap.
This is harmful to the project, and detsys have been doing this for years at this point - undermining and bypassing community efforts. The community is understandably upset.
Flakehub is the perfect microcosm to showcase the problem.
It’s abusing the free-form nature of input URLs to sneak a version compatibility syntax - a feature that is needed, especially for commercial use, even if simpler use cases don’t run into it as much - into nix in a proprietary way. There were proposals for a proper syntax in flakes for this, one of the many remaining issues that impact stabilization of the flakes feature. Detsys originally said they’d still be looking to push a format like this into nix, and have apparently since changed their mind. It’s yet another instance of community efforts being undermined, and in this case in fact being replaced with a proprietary solution.
A competing FOSS web service would likely not be hard to build, and I doubt detsys hold patents, but it’s needlessly centralized and therefore requires hosting capacity, making it difficult for newcomers to compete - replacing a central entity is hard, since it requires existing users to switch, see the quagmire of centralized social media (e.g. twitter, facebook, youtube) for why this is bad for consumers. The syntax itself is also suboptimal because it abuses the URL syntax instead of allowing structured objects.
In other words, detsys have successfully subverted community efforts by offering something that they are uniquely placed to sell, and thereby halted natural sprouting of grassroots efforts - people will just use flakehub instead of contributing to the spec, and the flake syntax stagnates with a suboptimal, proprietary fix exclusively controlled by detsys standing in for a proper solution.
It’s hard to look at this and not feel like detsys’ business model is shooting nix in the foot and selling you solutions to problems they are causing, and the sometimes self-contradicting messaging around all this makes it hard to trust anything they are saying.