4 ms·
NixOS generic user here: allow me to be a bit rude, NOT to light fire but to extinguish them: - apparently the current rupture came from a company sponsorship
by kkfx 3y ago
NixOS generic user here: allow me to be a bit rude, NOT to light fire but to extinguish them:
- apparently the current rupture came from a company sponsorship to a Nix Foundation conference, due to the fact this company (Anduril, a heavy NixOS user and contributor) is a mil-tech one, well... I doubt that's the reason. I know many with strong opinion to a point of leaving if some of their principle is touched or even discussed, but that's can't be a community-wide cause, nixpkgs is one of the largest package system of the world, hard to believe that it's community polarize around such event;
- IMVHO the very issue is that Nix{,OS,pkgs} is a FLOSS project but itself it does not reflect a FLOSS one, having some "central" elements (the cache, github infra etc) that are more a commercial structure than a community owned one, and there is a big dispersion in current development: NixOps seems to be abandoned, Disnix is not a complete replacement, Flakes seems to be the future, but they are still experimental end not much documented, home-manager is still a separated things and so on, the hard-to-digest nix language does not help.
Long story short it's not a matter of mil-tech, lack or abuse of authority but the fact that:
- a commercial project have targets, a vision, all party involved do what they can to implement/reach the defined goals
- a community project have a multitude of visions and targets, it change a bit a time, sometimes fast, sometimes slow, with many branches, sometimes competing sometimes cooperating,
Unfortunately, to go the commercial project route we need a hierarchy, contracts and so on, to go the community project root we need a community-matching structure, central points, with people owning them do not works well.
Now, having no official repo, build system etc is hard, some have proposed some tools, but they do not develop much and they do not perform much. I think the point is looking at a more classic FLOSS approach, an entity do the commercial aspects with an official release, while the larger slice of the community create independent hubs, there is not need to be all in the same place as long as the codebase start openly and openly evolve.
- rijoja 3y agoSo why not fork the project?
- kkfx 3y agoBecause there are some central points, for witch you need or a decentralized system (absent, so far) or big money to build another... That's the "hybrid model issue" I'm talking about. Shared binaries from /nix/store in a torrent-style setup might be feasible, but so far there is none. Similarly distributed build for large projects (LibreOffice, Firefox etc) might be possible, but so fare there is none. There are servers dedicated to that, paid for that. Not-so-small companies could pay. Public universities as well, but in the present world public uni do not even mirror anymore FLOSS projects, so... We need a distributed architecture to keep up FLOSS.
- rijoja 3y agoRight right, so you'll need money from somewhere, and the people who has money aren't necessarily moral, is that what you are getting at? Wouldn't the thing be that the reason that they needed to get sponsorship in the first place? Maybe it's just not possible to run Nix without getting money from people that are involved with murder, in one way or another? I mean there are plenty of people who wants to boycott banks, and even countries for this that and the other? .. or why don't they just spend their energy on creating a torrent-style setup, instead of complaining about what the guys behind NixOs has done successfully so far?
- kkfx 3y agoSo far nearly all FLOSS projects was built without money from someone, simply the users offer resources, every university offer mirrors, most large companies using some FLOSS project donate resources to the project. At some point in time this disappear, maybe when most actors decide to ditch their own operation for someone else "the cloud", and as a result there are no spare resources to support FLOSS. Similarly the FLOSS community became thin, quarrelsome, not really supported etc. This is why many say the FLOSS ecosystem is dead because there aren't anymore FLOSS model contributors. The current state of FLOSS is mostly big corp show embracing the model because they need pre-existing sw developed and licensed this way. Personally I have nothing against mil-tech sponsorship, I'm deeply against the absence of a FLOSS model. The Ops-less state of things, where no one own it's infra, have iron and so on, is a terrible vulnerability waiting catastrophic detonation and Nix/Guix success and failures are in the same line: most people get convinced that's normal to have a system based on paravirtualisation, they see nothing strange in downloading pre-built docker images for anything, run k8s on a single homeserver and so on. We are loosing knowledge trying mimicking GAFAM model witch is archaic and anti-users, and it's built especially for that, to lock in people, these days even mentally, since so many see no vulnerabilities in using for instance GitHub not as a mere repo host but for PR/CI and so on, even if we have witnessed bans, massive geo-bans and so on. We have a big slice of people unable to visualize the dangerous IT mess we are in. Nix community in storm is just a symptom.
- Borealid 3y agoThe primary value in nix is in the packages, not the configuration language and not the prebuilt cache system. If one were to fork the project, the sensible way to do that would be to build a nixpkg-compatible alternative system that doesn't have some of the design flaws (such as a global non-discoverable configuration namespace and an underdocumented custom functional programming language...). I don't think anyone's gotten together the hours to do that. But I'd certainly love to build an immutable, repeatable system using a Python or Kotlin config myself.
- rijoja 3y agoRight but the people complaining doesn't seem to think that an "underdocumented custom functional programming language", is a design flaw. So given those assumptions, why don't they fork it? Also when you say that the value in nix lies in the packages what exactly do you mean by that? Do you mean the totality of all the prebuilt and checksummed packages? If you where to fork-fork, and not rebuild nix, wouldn't you still be able to use them? Apart from what is built afterwards?
- Borealid 3y ago"The packages" are the "the files describing how to go from source code to an organized filesystem hierarchy containing the useful portions of a particular piece of software". That's the good part of nix, much like it's the good part of the Arch User Repository (AUR), and the BSD Ports system. I think the people who think the nix language is the valuable part are trying to save it, not fork it. But that's a generalization. A fork would be able to use nixpkgs even if it didn't use nix-the-language itself, with some careful planning for migration.