Email or username:

Password:

Forgot your password?
Top-level
Christine Lemmer-Webber

A lot of this stuff got out of hand because Nix and Guix *didn't* exist for a long time, and thus the easiest way to do things was to develop a language-specific package manager which bypassed the underlying distro, but none of those compose, and hence containerization as a way to make things "easier"

10 comments
Irenes (many)

@cwebber yeah we see it fundamentally as a choice to encyst complexity rather than engage with it. it absolutely cannot work, because the iterated version of it winds up with just endlessly wrapping the whole thing in more abstraction layers as people lose patience with it.

████

@irenes @cwebber 'Encysting complexity' is one of those pitch-perfect phrases I will be unable not to constantly use from now on.

:big_mood:

Irenes (many)

@nckx @cwebber you're very welcome! we're very pleased with that one

Katherine Cox-Buday

@cwebber I remember telling my professor in university who was a Linux sysadmin how I was frustrated because I couldn't use the latest version of things because they all required different versions of the same library. I asked him how to solve it and he kind of just shrugged.

I checked out gobolinux.org/ but I didn't stick with it for some reason. The nix store is about what I was fumbling for. <3 #Guix

nisha :questified:

@cwebber After 7ish years of railing against docker, I’m convinced it’s not going away because it’s the easy button, and the easy button wins, regardless of how much crap it produces. Nix would be my goto if it had an easy button for package management.

Daniel Barlow
@cwebber yes, but. I was using nixos in 2015-16 or so, at which time docker was still young enough (iirc) that it required unionfs and other weird hacks. We could have gone Full Declarative back then, but the Dockerfile - it's just shell commands one after the other - is a much easier sell to sysadmins than "btw you have to learn scheme" or even "btw you have to learn this weird ml-syntax-but-no-types lazy-evaluated language you've never seen before"

I don't know the state of the art on Guix, but even in 2023 I would still be cautious about recommending Nix for packaging, say, a large Rails + React monolith - especially a closed-source/internal one
@cwebber yes, but. I was using nixos in 2015-16 or so, at which time docker was still young enough (iirc) that it required unionfs and other weird hacks. We could have gone Full Declarative back then, but the Dockerfile - it's just shell commands one after the other - is a much easier sell to sysadmins than "btw you have to learn scheme" or even "btw you have to learn this weird ml-syntax-but-no-types lazy-evaluated language you've never seen before"
Ben Ramsey

@cwebber The barrier to entry for Nix seems high, to me. I’ve heard how great it is, but I haven’t been able to understand the syntax. One of these days, I’m sure I’ll get it, but in the meantime, it’s one of those things that appears to be a big up-front mental investment that I’ll keep putting off until I absolutely need to learn it.

Emil "AngryAnt" Johansen

@ramsey Personally I found that putting it off wasn’t worth it - when I finally just threw it on a VM and started exploratory tweaks, it wasn’t nearly as scary as I had made myself believe.

keithzg
@cwebber I think the technical side is only part of it; it's no coincidence the two big containerized solutions on Linux are from Canonical and Red Hat respectively. Both were always going to want their own equivalent of an app store in the sense familiar from proprietary OSes, especially if the other had such a thing.

And some of the downsides of "bundle all the libs with your app" approaches aren't even seen as valid downsides by many engineers; many devs, especially proprietary devs, *want* to basically just ship their exact dev environment with no change, because they Know Better.

A depressingly large number of software devs (in my experience especially ones with engineering degrees...) get very frustrated when their software doesn't compile or otherwise work right on others' systems and refuse to consider that this could be showing fragility on the part of their software. Hence, as implied by @technomancy 's quip here, much of the popularity of Docker—"if other environments are so broken they can't run my correct and perfect code, that's their fault" and so the question of portability is solved by petulantly just porting over the entire environment!
@cwebber I think the technical side is only part of it; it's no coincidence the two big containerized solutions on Linux are from Canonical and Red Hat respectively. Both were always going to want their own equivalent of an app store in the sense familiar from proprietary OSes, especially if the other had such a thing.
Thomas Depierre

@cwebber i think it is worse. Most of them did not work.

It is not that they do not compose. Docker and co exist to solve the python and C packaging tools being broken. That is their main use.

Go Up