Determinate Nix 3.0

Imagine you are on the Nix team and you believe flakes are ready for prime time. You want them to be stabilized, but you know that not the entire community agrees on this. You believe your Nix-driven business would benefit from being able to recommend flakes to your customers. You have three options:

  • Wait ∞ years for the community to agree, and too bad for your customers (and therefore your revenue). You are then the target of internet outrage—terrible leadership! Nothing ever gets finished! Nix stagnates while forks thrive! Let’s all jump ship because Nix is ‘cooked’!
  • Use your power as a member of the Nix team to stabilize flakes. You are then the target of internet outrage—how dare you! This is a community project! Your profits don’t override the interests of the community! Conflict of interest!
  • Leave decisions about what to do in Nix to the community, but ship flakes for your customers in a fork. You are then the target of internet outrage—how dare you! Why do your customers get stable flakes but the community doesn’t? You can’t be on the maintenance teams of two distinct flavors of Nix—resign at once!

This part of the argument is just so silly. DNix is open source! If you want stable flakes, what stops you from using DNix? If you don’t, you still have Nix! If there are PRs you want merged, add them as patches and distribute the resulting binary however you please! The LGPL permits it! Compiling Nix takes a few minutes! Why is this so outrageous?

From where I sit (as someone who thinks flakes are not ready for prime time and would be quite happy to see all the flake evangelists leave Nix free to redesign them in breaking ways), everyone in this conversation should be trying to have a conversation about control. DetSys wants the ability to self-determine what capabilities they give to their customers, without the fear of the new Steering Council somehow coming in and pulling the rug out from under them. The natural response to that sort of fear is an independent fork—though of course it’s to their advantage to keep that fork as soft as possible, to maximize the benefits from network effects. The community is reacting to their own fears that control of Nix has been or will be stolen from them by a commercial entity, and is responding with all of this :point_up_2:.

I think an optimal outcome here would look like the SC stepping in and filling the leadership vacuum. Work with the Foundation to make a trademark policy and enforce it—of course DetSys is not incentivized to rename their fork of their own free will, and demonizing them for being a business and responding to incentives like a business does is all just so much hot air; if you want change, change the incentives. Fix the RFC process or come up with an alternative procedure for deciding questions on which the community has been divided for a long time. Anything else, from anyone else, is a waste of our time and attention.

42 Likes