To be clear, the pressure I am applying in that thread and elsewhere is to make a choice one way or the other. The Nix team has not clearly signaled that Nix will ever stabilize flakes. That linked thread is actually a response to a now-retired Nix team member suggesting Nix remove flakes altogether.
This uncertainty is not good for anyone, especially Nix, and we can see why by observing what happens on these threads.
I honestly don’t care what the Nix team chooses. I just want the team to choose. Or the steering committee. Somebody.
From a personal perspective, obviously I think it would be a catastrophic mistake for Nix to not stabilize flakes. The data shows people are using them, and newbies are adopting Nix via flakes. This has been true since long before we started shipping them enabled by default, and I personally was opposed to using flakes until they were stable. The data and my users convinced me otherwise.
I see it this way, there are three possible scenarios regarding this choice of the project’s leadership:
- Decide stabilizing flakes will definitely happen, and present that as a strategic goal with an extremely clear roadmap about how that happens.
- Decide flakes were a failure and remove them.
- The defacto choice of don’t decide.
Unfortunately #1 and #2 both have fairly bad side effects:
- Deciding to make flake stabilization a strategic goal presents a very high risk of alienating everybody who is passionately opposed to them, for whatever reason. Many of these users are long time users and contributors, and it would be very painful to alienate them.
- Deciding flakes are a failure would alienate the zillions of new users, and turn off the significant growth in usage the project is seeing. I believe this could scuttle the project.
- I’ll touch on this in a moment.
Note that nontrivial breakage to the current flakes design without a smooth transition risks doing both #1 and #2 at the same time. This is the reason Determinate Nix includes our commitment to supporting flakes, and supporting the transition to future iterations and other semantic changes that will undoubtedly happen.
Unfortunately, as a userbase we are all stuck in #3. There is no choice. This is the worst outcome, and breeds significant uncertainty about the project and its future. This is why Determinate Nix’s users have been asking for us to provide stable flakes in the first place.
Between #1 and #2, I do not envy the Nix team and/or steering committee making that choice. It is definitely a rock and a hard place. However, a choice must still be made. Over a long enough time period, the act of refusing to decide about such a fundamental design iteration on the Nix project can be categorized a few ways, but at this point – to me – it is indistinguishable from cowardice, incompetence, and sabotage.
After such a long time, I am no longer interested in waiting due to cowardice, incompetence, sabotage, or what other reason has made this choice so impossible.
So yes, this is applying pressure, but I literally do not care at this point if the decision is flakes or not flakes. My users do care, though, so I am delivering what they are begging for.