I'm the one who originally submitted this on 9/1/14, FWIW.
I'm not sure if there's any substantial progress update yet. Last I heard, they're still waiting for kdbus to be merged, after which they'll need to finish up the GNOME sandboxing features, and only then will they truly start.
Given that kdbus is receiving some shaky reception, it might prove to be a while.
The weird thing to me is why Nix was never brought up. Not only that, but Lennart was actively avoiding the question when he submitted this to his G+ feed.
It's indeed extremely odd they never say a word about Nix, Guix or even Gobo Linux.
Ignoring history usually leads to reinventing things in a bad way. Nix for example, has put a lot of effort into getting all these things right. Why not having at least a look into it to see if we can borrow many of their ideas?
That's the same thing they did when systemd was first released. Everyone complained it's not too wise to have a huge process running as PID 1, yet they never even considered these criticisms.
While systemd brings some valuable things to the table, I wonder if they price to pay is too much. We seem to be destroying all elegant Unix core concepts and creating a messy architecture of tightly coupled components.
Because they don't use the sexy tech de jour, containers.
Gobo and Nix (Guix is something of a reimplementation of Nix) get around the whole "dependency hell" that Poettering's container fetish is supposed to solve without requiring the use of container, cgroups, or any of the other "sexy" that systemd uses (though i have come to understand that Nix has adopted systemd).
Heck, Gobo is basically driven by shell scripts. And its boot system is the sysv's init binary combined with homegrown scripts (it may be likened to BSD init).
Containers are also part of Nix (which unlike Guix uses systemd). AFAIK, in Nix these are used for booting up an isolated environment (e.g. if you're running some binary which you perhaps would like to isolate).
But they are two different things: nix package manager -> managing dependencies, containers -> managing isolation.
By performing both at once, I feel systemd is not only breaking the Unix ethos (do one thing, and do it well); but it may eventually also creep into the package manager arena. Eventually, most userland will belong to systemd.
Ignoring Nix is a blatant sign of failure. systemd could learn a thing or two, or even a few dozen things from the language design itself.
About UNIX concepts, they're hidden temporarily because systemd, IMHO, is surfing a deep wave of change in the way OSes are understood. It's very declarative, open to instrumentation (virtualization). Turning the machine into an object. In a few years ideas will have settled and maybe tiny unix-like core components will emerge.
I assume they didn't mention nix for the simple reason that RedHat and Debian and other distros aren't going to give up their own packaging setup. So the only way forward is to work with what you have.
Err, what the blog entry describes is just as disruptive to the deb/rpm setup as what nix is doing.
Heck, i think with some clever symlinking you could in theory dump a rpm into its own (optionally versioned) subdir and still have it working in the grand scheme of things.
The biggest stumbling block for current package management is that of versioned libs. Usually they work around this by putting different package names on different major lib versions.
NIH isn't limited to the commercial world. There's a problem to be solved, and inventing a solution is much better for one's career than pointing out an existing solution.
It seems to go a bit beyond just treating each package as its own fiefdom but all the way to doing it with separate OSes, but it's the same basic idea: cooperation is impossible, every package for itself.
It's essentially how Apple's app bundles work too: everything has to package all of its dependencies. This seems to use btrfs instead of dmg.
App bundles work for Apple because they have perfect control over the API/ABI stability and what consists of the base system, and then the user applications.
On GNU/Linux, where you work by assembling white-box components, it's not so straightforward. That said, there have been similar attempts: Autopackage, Klik, 0install, Slax packages... none have received widespread adoption. Seems like no one actually cares until you force the ecosystem into it.
Maybe assembling components is the problem. Why should we expect a good OS to emerge out of components that are independently developed with no coherent vision?
Funny because I only care about Linux on the desktop and I don't have this problem, either.
He talks about a state explosion of packages and libraries, but in practice, I don't see that it matters.
Yes, there is technically a state explosion, so you can't test every possible combination of packages. But you don't need to because they don't interfere with one another much in practice.
I won't pronounce that as universally true (I suspect some people would strongly disagree), but that's been my experience.
If you only need versions in your distro's repos then this is usually fine - although often the more obscure stuff is broken in e.g. Ubuntu repos. If you want a newer version? Things break fast.
Is btrfs really the right choice for this? Even their own faq lists it as still being experimental, and if this becomes as ubiquitous as systemd (which is likely if it's bundled with systemd) we'll really want a stable and performant file system.
Can we please stop with the posts in every thread being pedants about article age without any useful comment of their own. It's been getting noticably worse into the last few months.
I'd rather not see these kind of posts stop. Frequently, there's a good reason to post an older article on a particular day, and calling it out helps bring out the new modern context. Otherwise, reminding readers that a submission happened in a different environment from today is worth while on its own.
Can somebody just open up a fork of Linux for Poetering et al to fuck around in so they don't feel the political necessity to screw around with the infrastructure we all depend on?
I want to put you down for negativity, for a lack of optimism, but damn it, I agree. It bothers me that come 2016 I will have no option but to move to a systemd based distro if we want to remain on a supported Linux version. Change is not always good.
If it were optional, sure, but it's being rammed down everyone's throats via the popular distros. And unfortunately, I kind of frown on going the whole "Well, just roll your own Linux without the parts you don't like".
As for negativity and lack of optimism, well, I would be very disappointed if sunshine, rainbows, and unicorns became the standard of commentary here.
So your problem is really with the distros, not with Poettering et al. But as the old saying goes, if you think all the distros are assholes, maybe the problem isn't with the distros.
The problem is that key components are being "depreciated" by the Poettering crew for no better reason than "code elegance". Thus distros either have to take over maintainership a ever growing codebase, or accept the Poettering code wholesale.
One can really wonder what is going on when Gentoo opts for picking up maintainership while Debian, that has previously forked Firefox over trademark issues, does not (and Poettering etc are leaving snide remarks aimed at the Gentoo people for this "defiance").
One thing to keep in mind is the gorilla behind the curtains, Red Hat. Key devs of systemd etc are on their payroll...
I'm not a huge fan of the distros either, because they should've been on guard for this (having seen the nonsense of, say, PulseAudio).
The bulk of the blame, though, lies with Poettering and friends. Without rehashing every "systemd is terrible" argument out there (and there are many, and I find them as tiresome as you do to review here), the fact remains that political wheeling and dealing is the reason that the project has taken as much root as it has, and that the sheer smugness in the face of reasonable critiques is irksome.
Poettering is part of the group that is "Hey, Linux can be on the desktop too!". History hasn't borne this out, nor likely will it. They'd be welcome to experiment elsewhere, but for them it is anathema that the ecosystem as a whole not follow in their footsteps--and that kinda makes sense, honestly, because for their plan to work they have to kill off all of the features that conflict with their vision of the desktop. Unfortunately, those features are what are kinda important to us folks writing server and infrastructure systems.
It's never going to get fixed, and so we must go beyond the rim.
I know very little about systemd, but it sounds like it solves some issues. The only concrete thing I've seen is starting up services, which has traditionally been idiotic on Linux distros, needing silly boilerplate scripts copied all over. Even Windows does this better in a way.
Independently though, if it's so bad and do obvious that it's bad, why is every major distro picking it up? Is RedHat leaning on Arch behind the scenes?
As far as unsupported distros go, void is pretty nice.
One of very few interesting distros out there without being a full departure from the norm like nixos.
BY which time we'll know if it is really so bad or if it is actually an improvement.
I doubt Red Hat (which has to actually sell it's OS and still flogs a load of Red Hat 6) will carry on pushing it if it really turns out to be a turd. (Yes I know where the main author works).
I don't get it anymore, either. It seems that nowadays the hardest problem of all on Linux is just to start a freaking program after booting. They keep breaking method after method and every single time theres just a mountain of fucking boilerplate to wade through for this months favored solution.
I'm not sure if there's any substantial progress update yet. Last I heard, they're still waiting for kdbus to be merged, after which they'll need to finish up the GNOME sandboxing features, and only then will they truly start.
Given that kdbus is receiving some shaky reception, it might prove to be a while.
The weird thing to me is why Nix was never brought up. Not only that, but Lennart was actively avoiding the question when he submitted this to his G+ feed.