this post was submitted on 21 Apr 2024
125 points (87.4% liked)

Linux

48721 readers
1882 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
all 47 comments
sorted by: hot top controversial new old
[–] [email protected] 49 points 8 months ago (6 children)

I wonder if this is social engineering along the same vein as the xz takeover? I see a few structural similarities:

  • A lot of pressure being put on a maintainer for reasons that are not particularly obvious what they are all about to an external observer.
  • Anonymous source other than calling themselves KA - so that it can't be linked to them as a past contributor / it is not possible to find people who actually know the instigator. In the xz case, a whole lot of anonymous personas showed up to put the maintainer under pressure.
  • A major plank of this seems to be attacking a maintainer for "Avoiding giving away authority". In the xz attack, the attacker sought to get more access and created astroturfed pressure to achieve that ends.
  • It is on a specially allocated domain with full WHOIS privacy, hosted on GitHub on an org with hidden project owners.

My advice to those attacked here is to keep up the good work on Nix and NixOS, and don't give in to what could be social engineering trying to manipulate you into acting against the community's interests.

[–] [email protected] 25 points 8 months ago

Don't know anything about this particular case so while "social engineering to create a backdoor" is certainly a possibility, so is the more straightforward explanation that it is drama about real or perceived problems in the nix community. I think that it's dangerous to dismiss this altogether because of the recent xz debacle.

[–] [email protected] 21 points 8 months ago (1 children)

Too many people involved I think, someone will have to check this but all those members with names attached look like real developers who were significantly contributing to the project. It is perfectly possible for a dictator for life to have festered a toxic culture that got worse over time, and has happened multiple times before.

[–] [email protected] 8 points 8 months ago (1 children)

How much of those are actual people? I count half a dozen git links in the signatures. Those could belong to a single attacker. Everyone else either has an email or an unlinked handle. Who knows if they are Nix devs?

[–] [email protected] 19 points 8 months ago

I think you're right to be suspicious. The XZ attack has showed that there are people and organisations out there that would love to get hold of a piece of trusted critical infrastructure like Nix. They'll go the long lengths to do it, manipulate people, and exploit the maintainer's desire to do the right thing.

And if the person can't stand by their critism and can only give wooly examples, then best to ignore it.

[–] [email protected] 10 points 8 months ago

I agree. This immediately jumped out to me as a social engineering attack when they started spouting off about "more people with commit access" and otherwise being anonymous and most of the signatories not on the contributor list, especially at the start.

[–] [email protected] 3 points 8 months ago (1 children)

The original signers include members of the infrastructure and moderation teams. You can find about half of them on Mastodon. They're all well-established community members who hold real responsibility and roles within the NixOS Foundation ecosystem.

Also note that Eelco isn't "a maintainer" but the original author and designer, as well as a de facto founder of Determinate Systems. He's a BDFL. Look at this like the other dethronings of former BDFLs in the D, Python, Perl, Rails, or Scala communities; there's going to be lots of drama and possibly a fork.

[–] [email protected] 24 points 8 months ago

So unfortunately the usual toxic bro-culture stuff ... 😢

[–] [email protected] 20 points 8 months ago* (last edited 8 months ago) (2 children)

We have heard from multiple people in multiple unrelated contexts that they are hoping for a hard fork of the entire community over the continued inaction on the toxic culture in the Nix project.

Oh yes, please. My experiences on the nix community forums and matrix have been soured by the actions of high-level contributors. They are simply unable to view things from another perspective and harshly defend their perceived territory. I accept that they make mistakes as we are all human, but they are aware of their positions of power and happily take advantage of it.

My major problem has been the documentation of the project and how top contributors are unable to accept how bad it is. Discussions about improvements and attempts at improving it at regularly shut down or impeded. Coming back to the "harsh defense of perceived territory", it distinctly feels like existing teams are supposed to be the only ones making changes to the things they own. Contributions from "outsiders" never exit nix review hell and are nitpicked to death.

A hard fork doesn't guarantee existing problems won't be copy-pasted into a new community (humans be humans), but at least if a new one started there'd be an attempt at resolving existing problems.

(no, I'm not xz'ist - this is a real person with a real opinion)

Edit: I realise I don't have the same issues as described in this open letter which seems to be focused on Eelco. There have been no interactions with the dude, so I can't judge, but interactions with some high-level nix members haven't been pleasant.

Anti Commercial-AI license

[–] [email protected] 5 points 8 months ago

My major problem has been the documentation of the project and how top contributors are unable to accept how bad it is. Discussions about improvements and attempts at improving it at regularly shut down or impeded. Coming back to the “harsh defense of perceived territory”, it distinctly feels like existing teams are supposed to be the only ones making changes to the things they own. Contributions from “outsiders” never exit nix review hell and are nitpicked to death.

I made a one time contribution to the nix docs, I also got the impression that managing documentation could be better but it did got accepted after a few changes.

With that said there are alternative projects that provide a form of documentation to nix.

[–] [email protected] 19 points 8 months ago* (last edited 8 months ago) (3 children)

So... why don't they just write that people (or they) want a more progressive NixOS management?

Would be more to the point.

Edit: if you doubt, just check all the examples in the letter.

[–] [email protected] 18 points 8 months ago (1 children)

Honestly, without concrete examples of why this is a problem, I just wish people wouldn't do this. Open source projects aren't democracies. They are do-ocracies. People get "positions" by getting off their arse and contributing. Nix OS surviving doesn't depend on how many users it has. It depends on how many developers it has.

If critisism is coming from the developer base, fair enough. If it's coming from the user base then all they are going to do is stop the developers wanting to do what they do, and then the project is dead.

I know there was the poor choice of sponsor for one of the live events recently, but I suspect this has opened the flood gates for people to pointlessly criticise from any direction.

[–] [email protected] 0 points 8 months ago (2 children)

People get “positions” by getting off their arse and contributing.

I have a lot of issues with the letter, but it’s hard to deny that certain demographics get better opportunities to have the free time & will to contribute. Does that mean you force other demographics in or not? I’m still on the fence as it the upsides have some drawbacks, but discussions should be had--especially by those other demographics & folks better educated on the topic than myself.

I know there was the poor choice of sponsor

It was a defense contractor I believe. I’m not pro-autonomous drones or anything, but it seems odd to hone in on a single sector. Defense makes obvious tools for killing in the form of weapons, but we wouldn’t have GPS or the internet, etc. without research from the sector either (also see dual-use technology). It’s easy to criticize the military industrial complex, but we have just as many non-military corporations & industries absolutely putting their profits above folks & the environment which is just as destructive--just not as immediate/obvious. If you start kicking out all unethical sponsors, you’re gonna end up with no sponsors under our current capitalist system that doesn’t put any value into or reward being ‘ethical’ or even giving the correct value for labor.

[–] [email protected] 8 points 8 months ago

Considering the Internet, GPS and weather satellites, three widely utilised and ubiquitous global services rose out of DARPA, whilst I'm not American, taking issue with investment in a Linux distro is closing the barn door after the horse has bolted.

Wait until these people figure out where computers came from.

[–] [email protected] 9 points 8 months ago

My thoughts exactly. Also, these are a lot of words for very little content, feels like an attempt to obscure the actual intention.

[–] [email protected] 3 points 8 months ago

Because they don't

[–] [email protected] 14 points 8 months ago (1 children)

Fork it, maintain it, and move on. RHEL was forked into Alma/Rocky when the original provider's goals, and their community's goals were not in alignment. So far, the forks have improved the ecosystem over all. Fork Nix/NixOS and build the community. Its no different than the Debian derivatives like Mint or Ubuntu.

[–] [email protected] 14 points 8 months ago (3 children)

Could someone share the contents of it? Have newly registered domains blocked by default.

[–] [email protected] 32 points 8 months ago* (last edited 8 months ago) (1 children)

Someone has to rewrite this...

You have to read thousands of words past Executive Summary to see what's going on, which eventually turns out to be the usual left-right culture war (aargh...) The worst is that this actual theme is hidden in the links and is never directly mentioned in the letter.

The letter also stops short of taking side between left and right although the links clarify it's obviously the former.

It instead accuses the NixOS platform of having "systemic" problems in "leadership," "structure," etc. etc. I was like, "just say it, you simply believe in a more progressive NixOS team."

They only say "bad behaviors," then define bad behaviors with abstract terms using one paragraph. That's shortly after the text uses the metaphor of "missing stairs in a staircase", without explaining what these missing stairs are about.

So abstract, without examples for all this depth of abstraction.

They go on with their "bad behavior", bad behavior, bad behavior, and finally there are links. If you click on the first (?) of these links, you finally see that this one example was about minority representation in NixOS development. In the rest, you see examples of the usual conservative vs. progressive culture war.

There are proper ways to do this.

[–] [email protected] 4 points 8 months ago (1 children)

You're not missing anything. Also I'd like to know how you're blocking those.

[–] [email protected] 5 points 8 months ago

NextDNS. Has a setting to block all domains that's newer than 30days. Which imo is a very very good idea to have on, considering malware and scams. And I very rarely visit such new sites, and if I do (I learnt now) I can just shive the url in Archive and it will show it to me that way.

[–] [email protected] 6 points 8 months ago (1 children)

Can someone ELI5 what's going on? Seems like they are still fighting about Nix allowing a defense company to sponsor their conferences, and trying to ad hominem the project leaders.

[–] [email protected] -2 points 8 months ago

not without getting all my messages removed by mods, apparently. they're probably either in on it or being harassed by these people too.

[–] [email protected] 2 points 8 months ago

I can't say I care much about this. It sounds like they are just making noise

[–] [email protected] 0 points 8 months ago (1 children)

Nix is already beyond fucked because they actively dismiss the need for appropriate security measures to prevent supply chain attacks. There were multiple discussions about this over the years that appear to have succumbed to neglect.

I wouldn't trust nix, just like I don't trust pip, brew, or a whole plethora of other package managers and repositories. They are just too neglectful

[–] [email protected] 2 points 8 months ago (1 children)
[–] [email protected] 0 points 8 months ago (1 children)

If I were to fully elaborate, I'd be typing for hours, so I'll sum up:

  • pip - default behavior is to install to system-wide site packages. In a venv, it will try to upgrade/uninstall system packages without notice/consent unless you specify --require-virtualenv. Multiple things can fuck up your ENV to make the python binaries point to system-wide, while your terminal will still show you as in a venv. Also why TF would package metadata files need to be executable? Bad practice, -1/10
  • nix - they acknowledged years ago that they should probably have some kind of package signing and perhaps an SBOM or similar mechanism, but then did nothing to implement it and just said "oh well, guess we're vulnerable to supply chain attacks, best not to think about it"
  • brew - installing packages parallel to your system packages manager, without containers. My chief complaint here is that brew is a secondary package manager that people might treat as a "set and forget" for some packages, rarely updating them. So what happens when a standard library used by a brew package is vuln? A naive Linux user might update their system packages but totally forget to update brew. And when updating brew, you can easily hit max_open_file_descriptors because kitchen sink

From there, it's all extremely nit-picky and paranoid-fueled-- basically, none of the package managers I mentioned are conducive, in my eyes at least, to a secure and intuitive compute environment.

Unfortunately, there's not much I can do about it except bang pots and pans and throw maintainers under buses when the issue that has been present for years rears it's ugly head. Because they are the only ones who can change this, and pressure is the only thing that might motivate them to.

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

Those criticisms seem reasonable. Regarding package signing, are you referring to https://github.com/NixOS/nix/issues/613#issuecomment-134361033? Additionally, that default for pip seems veritably insane. I understand using system packages, but modifying packages outside the virtual environment is definitely weird.

[–] [email protected] 0 points 8 months ago

I have never used Nix and I don't see its immediate applications for what I do but seeing this has me concerned about adopting it.