Announcing Determinate Nix

Since I happen to have been doing the pointing-out in the past: The reason why I didn’t get to that yet is that I’m trying to get a few days offline at the moment, and I also only learn about such things as they get published.

While the foundation board did not yet manage to register a trademark or establish a policy, there’s a draft that I think is good enough as a stopgap. Even without legal leverage, collectively we should be able to clearly sanction inappropriate use of the name and visual identity.

In this case, in my humble opinion, calling something “Determinate Nix” is not enough of a distinction from the original project. What I find especially problematic is that, in the latest article on the website at the time of writing, some links labeled with just “Nix” point to the “Determinate Nix” page, and that it’s not clear whether the “Determinate Nix Installer” installs the original Nix or “Determinate Nix”. The heading says “Install Nix” but the command line example sets the --determinate flag. This to me clearly violates the requirement to avoid misleading the audience.

A more distinctive name, at the very least one that does not contain “Nix” as a standalone word, unambiguous communication what the installer installs, and not conflating the Determinate Systems distribution with upstream Nix in the wording and link labels would fix the issue. (By the way, I appreciate that you eventually adapted the wording where you recommended using flakes and the experimental CLI.)

I can’t observe any sort of special treatment, to be honest. Of what sort would that be, and by whom?

As noted by @ron in the other thread, Eelco is still making payments on behalf of the foundation, which is crucial for operating things such as Summer of Nix. Transition of responsibilities is happening, however slowly, and I didn’t notice any other involvement.

But all that is off topic. Because apart from the issues with branding, I think it’s actually great news that there’s yet another product that fills the needs of people who strike different trade-offs than many of us here. I’m confident this has the potential for a win-win situation, as long as we don’t confuse or mislead our audiences and make sure upstream is healthy.

I discussed this with @grahamc at the past two NixCons.

I’ve been advocating for a clear split between what’s libre and what’s proprietary, because the needs and abilities of the different groups of producers and consumers of software are so different.

Proprietary additions do not need to take away from upstream, to the contrary: They can provide a source of income for authors, and absorb a chunk of feature requests that wouldn’t fit upstream anyway; independent groups can also move more quickly and explore the solution space to common problems. Conversely, upstream can focus on stability and standardisation; it’s a very different kind of work that also needs to be done, and it can mesh nicely if we’re deliberate about it.

More special-purpose products downstream and less ambitious expectations to what upstream can (or should) provide would be a relief for maintainers and allow us to focus on substance rather than presentation.

I’d love to see Nix become more of a “library” (minimal, composable building blocks that aim for maximal control), and downstream distributors providing “frameworks” (battries-included scaffolds for gluing together domain-specific solutions that aim for maximal velocity). I’m fine with Nix being “boring” in the sense that it’s a tool for creators rather than an application for users (who may actually care about something else entirely). I’d even go as far as saying that if Determinate Systems buys into flakes so much that they’re willing to guarantee stability, and they and their users are fine with the trade-offs involved, it may as well be a downstream-only feature.

All we need for a more than just peaceful coexistence of different actors in the ecosystem are strong lines of communication. So I think it’s just right that we all keep talking to each other, here or wherever.

23 Likes

5 posts were split to a new topic: Flake adoption numbers

Sure, they don’t necessarily need to, but in practice, how could you ensure that? It seems like it opens an opportunity for perverse incentives. If a feature’s enticing enough, it will draw people in and if it’s proprietary, then it would be easy for DetSys to lock people into their version, intentionally or not.

Regarding authors making a source of income, there are other ways companies have used open source to accomplish it, such as providing professional support, to name an example.

If you want to experiment with additions to Nix without upstreaming it, would the resulting fork strictly have to be proprietary? Why not maintain a fork while keeping it open source and just not make an upstream PR? I doubt Lix and Tvix necessarily plan on upstreaming their changes, for instance.

That sounds like a somewhat okay idea on its surface. However, I can’t help but suspect that Determinate Nix would suddenly be declared the reference implementation for such a tool if that were to pass. Could you (or someone else) perhaps alleviate these suspicions?

I would say stripping a very popular and useful feature from Nix and privatizing it is already a huge trade-off. What would the benefits of such a move even be? For people other than DetSys, specifically.

I think I am missing something. What problem is this solving? You mentioned it would make it clear to Nix’s users about the status of flakes, but I do not see how breaking tons of downstream users by removing a widely-used feature and giving control of its further development to a for-profit company is a good way to do that.

4 Likes

The problem is all of the would-be Nix users who don’t try it. So many are not trying it because they want to use the hugely popular feature of flakes. But they’re so spooked by the status of flakes they don’t want to risk it. And It is hard to blame them, when a literal Nix Team member occasionally suggests Nix should remove flakes altogether, breaking tons of downstream users, and cause ecosystem fragmentation by putting them in a downstream-only version of Nix.

Like I said before, I don’t want that! I think Nix should remove the experimental flag! But the status quo is also really bad.

1 Like

@grahamc You haven’t reacted to the problem of the naming collision between nix and determinate nix. What are your plans to solve this?

13 Likes

Hey Graham,

Since this is a declaration of terror against the community version of Nix, I think some words need to be said.

Determinate Nix is not a fork of Nix—it is a downstream Nix distribution.

We will continue to add new features to Determinate Nix to make the Nix user experience ever smoother for teams. These include better authentication support for flakes and binary caches, flake schemas, parallel evaluation, and much more.

This is classic gaslighthing - a manipulation technique meant to confuse readers and prevent them from fully understanding what’s happening.

Let me rephrase it for you:

We, DetSys, are going to develop things in our fork and if the upstream OSS doesn’t accept these changes, we’re going to diverge from this fork and claim ours is better.

Since Eelco Dolstra is complicit in this and we have tried to convince him to rather work for the NixOS Foundation, I must say I’m disappointed, but not surprised.

I have seen this coming ever since you sponsored your installer over the official installer using ads in Feb 2023:

In recent years we got Lix and Tvix due to a lack of leadership and people from Nix Core team have resigned from working on Nix.

Splitting the community over who develops Nix and pushing for stabilization of flakes without addressing the downsides is not leadership; it’s divisive. We have usually normalized banning people with such behavior.

Finally, this not only fails to create a safe environment for community members but also affects companies like Cachix, which I founded long before Eelco became involved in moving this into the commercial space.

I won’t be contributing to Nix anymore and will put my efforts into Tvix, where I have confidence this kind of behavior won’t be tolerated.

All the best, Domen

84 Likes

I’ve looked at some trademark policies I know in the opensource software world and came across Sublicense the Linux Mark | Linux Foundation

If we imagine that we would follow that, Determinate Nix Package Manager would be an acceptable name.

2 Likes

I wasn’t aware of the sponsored search results. IMO that is deeply problematic.

16 Likes

Very concerning that Detsys paid to get top result, is there any response to this from Detsys, regarding the ad.

9 Likes

While nice to give DetSys the benefit of the doubt, it does seem like they’ve had plenty of opportunities to engage with the community on some of the tougher questions already, but chosen not to, so maybe don’t hold your breath on this one either.

At this point it does some pretty pointless to ask and expect answers to any hard questions from DetSys.

10 Likes

I don’t understand what is concerning that a commercial company buys ads promoting their products.

11 Likes

How about a commercial entity impersonates community output, and drowns out the original by way of money?

Strong words, but the theme with DetSys and grahamc for past couple of years has been subtle redefinition of what specific words and terms mean in context of Nix ecosystem. This article is the first one I’ve seen with such and such amount of brazen redefinition.

10 Likes

This post was flagged by the community and is temporarily hidden.

11 Likes

It’s pretty standard SEO and marketing in industry to make sure your company comes up in search terms. It’s even more standard to pay for advertising. There’s nothing interesting or notable, really, for anybody who has any experience with business.

What response are you imagining?

"Hey, why did you run an ad?
“Er, to get our product seen?”
“Well, why’d you pay to get the top spot?”
“…why would we pay to get the bottom?”

You realize how silly that line of questioning is, right?

8 Likes

This post was flagged by the community and is temporarily hidden.

13 Likes

I suspect that this is the value that we disagree on.

Personally, I don’t view Nix as a business - I view it as a community project led by countless passionate volunteers. Therefore, I think the community comes first, and everything else second. So I call the value of the “industry” into question - sure, it will bring new people to the community that will work on the project, but what good does it do when we have so many issues even with as many people as we have now?

I and many others have spoken out against this, and DetSys representatives (founder Graham and co-founder Eelco) chose to stay silent about it. So it’s clear to me that our values fundamentally diverge, in a way that is incompatible with this time and place. So I think it’s best to part ways. DetSys already parted ways at least with the open-source aspect of the community, and they keep trying to use the community to market themselves - so I think it makes sense to take a strong stance of banning them, to essentially say: the Nix community IS NOT DetSys community, and we fundamentally differ and can’t come to an agreement.

And yes - what I said was toxic. I tried to be civil, but I failed at it. This is my shortcoming. But it’s also not the whole story - this toxicity has long history behind it, and is caused by the unwillingness to listen from DetSys side, and the feeling of powerlessness at protecting one’s community from my side.

Ultimately, I’ll try to stay out of the DetSys conversations. I put the effort into this before too, but Domen’s post was too brilliant to pass by. I no longer want to give DetSys recognition, whether good or bad.

10 Likes

I am fine with companies advertising, but advertising their Nix Installer over the official Nix Installer seems like they’re trying to become the de facto official installer instead, which I don’t agree with any company doing, detsys or not.

9 Likes

It’s pretty cut-and-dried from the Nix community valutes:

We treat each other with respect and civility. No matter one’s individual identity, circumstances, level of contribution to the project, or status, everyone has the right to respect, and everyone has the duty to treat others with respect.

Constant kvetching about DetSys, Eelco, Graham, and whoever else does not show respect. I will also note that this constant abuse and sniping–and make no mistake, anybody reading this, that the last year has been nothing but a pattern of abuse at those folks–is not respectful (though the mind boggles why this must be highlighted).

We are here, first and foremost, as individuals working together. Our priority here is to work on Nix projects for the benefit of all their contributors and users. We value building excellent software with a vibrant and diverse community. Individuals gain trust and status by doing the work. Organisations gain prestige by funding the work of individuals and providing resources to support the project.

DetSys has funded the work of individuals and has provided resources to support the project. People here may be pissy about how though resources are applied. They may be unhappy with which work of which individuals is being funded and how much communication is happening there. That’s fine–adults and professionals need not like everything or agree on everything to be able to function successfully in a cooperative endeavor.

They may have listened and simply have nothing to say that you want to hear–that’s fine and normal and the world is replete with people who do things and say things differently than you or I or anybody would prefer. That does not excuse your–or anybody else’s–shitty behavior, and on the balance this year’s crybullying and insistence on “It’S oKaY tO bE tOxIc If It’S tO hElP tHe CoMmUnItY” has done orders of more harm to the community and ecosystem than any damn fool thing DetSys has done, not done, promised to do but failed to deliver, or whatever else.

25 Likes

Back in Apr 2024 I suggested Consider applying Ostrom Principles to Nix organizational structure

And the 1st principle is

  1. Define clear group boundaries.

and then another relevant one is

  1. Provide accessible, low-cost means for dispute resolution.

If the boundary of what is a community led “commons” is not clear to everyone, then disputes will arise.

If disputes arise, and the community has no support for conflict resolution, the outcome historically in all of human society has been either a total collapse of the “commons” or major dysfunction as people start fighting one another based on individual interpretations.

Are the boundaries of the community led commons that is nix/nixos clear to everyone? Probably not yet, and it’s not always an easy feat to achieve. Or, if they are among a significant amount of people, there probably is not consensus built for the majority of people who would be present to discuss, or carry out actions in the community.

But it would be a benefit to this community to define these things as much as possible, and create a larger consensus around that. And, it would benefit this community to have some fair dispute resolution as I stated back in April, too.

11 Likes

So what?

If DetSys actually comes out with a better installer, better than the community installer, and people use it instead, so what? If I search on Google for “linux installer” right now, I get Canonical’s Ubuntu. The next entry is linux.org. The next entry after DetSys is nixos.org.

The objective is to get people using Nix and growing the community–that’s what matters more than a nix measuring contest.

7 Likes