Determinate Nix 3.0

I think this is the right angle and one that I have been for a long time aware of. You are just missing one crucial piece: you are assuming that you are understanding the full picture of the last 10 years of history of “Nix, the evaluator” development and all the social interactions with various generations of developers.

The reason for why certain spawn-off projects out of Nix exist is because everything “that is possible” has been tried by some, and they decide to leave the space. CppNix as it is now, is the result of the management policies you explained (I don’t really call that politics, but there’s no real strategy-making IMHO in the current form.).

For my uses and my clients’ needs, this is insufficient, the quality needs to be higher for my projects and my clients’ projects.

Yeah, I agree. Unfortunately, given the skillsets at play, I do not foresee a hopeful outcome.


So this is why my only intervention (I try) was only to call out on the classical FUD played here about “oh no look they want to remove Flakes and break all the users out there” when actually the person who has been breaking the most the userspace for Nix users has been Eelco Dolstra. The sheer quantity of issues not acknowledged, the sheer quantity of regressions, the quantity of “oopsies” and yolo merges and yolo features is unbecoming of a mature project.

I know that the Nix team and even Eelco has the best intentions at heart. Even more: I know that Determinate Systems truly believe in their mission and their employees are probably great at many things, e.g. Luc’s work on Zero to Nix is a real gem of how to write good documentation.

This is the important thing here, everyone is doing their best and doing a lot of good work. So why is it not working out?

There’s nothing weird in a Lix contributor being a harsh critic of what Determinate Systems is doing. We are the best positioned to understand what you are exactly doing. I read all your branches, all your work, watched your videos, reviewed your work and more. I understand where you’re going and what is your strategy.

My intervention here is simply to move the debate from an emotionally-loaded conversation (understandable, like you said, you are deeply in love in Nix, so we are.) to a technical and factually-based conversation: “how to fix Flakes without breaking users?”

What is troublesome or difficult is that contrary to Graham and Eelco, I’m not the (co-)founder of a VC funded company with millions of dollars in bank and full-time employees working around the clock on products and things. It’s not up to me to do the calls, neither to follow the RFCs that the Nix team painfully laid to get away from the Flakes debacle. That authority is in the hands of the management layer of Determinate Systems (and really any corporate company in the Nix space).

All the excuses about how upstream is blocking their work is a bit funny to me. They have the resources to unblock the work, but when, I asked Eelco in a Nix team call whether he was paid on behalf of Determinate Systems to work on Nix or not, he told me : no, he’s a volunteer in the Nix team. This is impossible to understand for me. Either Eelco (& DetSys) have been trying to send funded paid work to upstream and working with them, either this didn’t happen and all that happened is what one of the Nix maintenance team’s member described: blindfolds and sudden surprise work.

And let me tell you something for the record. I’m sorry this is how you live it. We had an honest discussion few years ago about how things would look like in the next years. I tried to see what realistic exit there would be for you and your company. Unfortunately, I am only a volunteer in the larger FLOSS ecosystem and I feel like I was the only one carrying the project of trying to mend relationships with many corporate entities (and community members) that were broken. Nonetheless, I still apologize.

That being said, I am also disappointed to read you saying that. You are a mastodon as a company and all the reputation preceding you, in front of you, you have a myriad of confused (notably due to the tendency of people refusing to rename things to diminish confusion) contributors and users who have no option or retort except than present their frustration.

Someone said there’s concerted efforts to do X or Y, there’s mostly a shared common culture and people who are shocked over and over, some of them even discover the Determinate Systems drama and go sling mud, because this is what you do when you have no other power. As it was explained, writing C++ on the CppNix codebase is not for the faint of heart. It’s hard. But many of my colleagues now believe in the mission of shipping something great for our users, something that is a common. Not a corporate-exploited resource.

If you believe in this mission, I recommend anyone who feels despaired over the state of things to think twice before slinging further mud to the Determinate Systems team, join Lix and ask what you can do. I don’t promise we will solve everything instantly, but I can say that we will use your energy to ensure that everything that users deserve, including what Determinate Systems think it should be in a daemon to bypass LGPL requirements, will be considered and developed in Lix.

I think what needs to be said has been said in this thread (regarding Flakes, how to fix them, the rhetoric used, the bait’n’switch, etc.).

Maybe what should be done is next time Determinate Systems post their new release just before any event, community members just write a press release to call it out and merge it on the homepage, or I don’t know, just hold a press release community area and only one message of disappointment gets sent. I’m sure given how we are redoing all the same talking points all the time that this message only needs to be written once. This way, it will be less mud slinging and more grown-up communication and less repetition of what is the actual truth on various topics.

Now, I hope this is my last message on the topic, I tend to stay away from these discussions because I am profoundly disappointed by many of the ex-colleagues and leaders that I worked with in this project. I believe they have let down the original culture and identity of the Nix project, e.g. high quality work, empathy towards each other on trying to find the optimal outcome for everyfew involved, etc.

24 Likes