Comment by pjmlp

1 day ago

I love how people worship UNIX design in Linux circles, especially when complaining about decisions where Linux is catching up with commercial UNIXes, as in the init systems replacements.

UNIX design was so great that its authors did two other operating systems trying to make UNIX done right.

One of the few times I agree with Rob Pike,

> We really are using a 1970s era operating system well past its sell-by date. We get a lot done, and we have fun, but let's face it, the fundamental design of Unix is older than many of the readers of Slashdot, while lots of different, great ideas about computing and networks have been developed in the last 30 years. Using Unix is the computing equivalent of listening only to music by David Cassidy.

A project which is intended to be a learning experience in building a Unix variant (in this case, Linux) is a kinda right place for sticking to the Unix philosophy and design, for illustrative purposes.

Mr Pike has indeed constructed a better OS than Unix; too bad AT&T neither knew how to achieve viral popularity, nor why Free Software (as in GPL) is going to dominate the world. By about 1995, it was already too late. (Something similar happened to Inferno vs Java.)

Still, the Unix principles of modularity, composability, doing one thing well, and unified interfaces are widely considered very sane, and adopted.

  • Not as much as people in Linux community think, especially those that never used commercial UNIX offerings.

    GPL is on its way out, a good example is that all Linux competitors in the embedded space, including Linux Foundation's Zephyr, none of them has adopted GPL.

    GPL based software is now a minority, almost everything uses licenses that businesses rather reach for.

    • I suspect that GPL2 was instrumental in guaranteeing that the work sacrificed into the common pot of Linux kernel is not going to be taken by a competitor when it's still unpolished, closed, and used to achieve market domination.

      FreeBSD came before Linux (as 386BSD), and is also active used by the industry. How much code did Sony or Raytheon shared back to FreeBSD? (LLVM is not FreeBSD proper.)

      1 reply →

    • I find Zephyr to be a somewhat poor example. It's typically used on MMUless microcontrollers where the application is linked into the same binary as the OS. I'm sure you'll point out that it's not strictly necessary to use it in that manner, but that's how most people use it and that's how they expect it to work. Licensing it as GPL would mean that basically nobody would use it because it would require releasing your entire firmware source code, especially when there's other permissively licensed alternatives in that space like RTEMS, ThreadX, and FreeRTOS.

      1 reply →

    • I will be honest mentioning Zephyr in a situation when talking about how outdated the Unix design philosophy is, is a bit funny to me since Zephyr (like ecos kinda did once) tries to be Posix-like in its APIs (but ends up not really improving things over the other embedded OSes TBH).

      1 reply →

I think the main problem of Unix today is that it's not Unix-style enough. Too many namespaces with too many non-composable separate APIs on them instead of "everything is a file". Plan9 is more Unix than Unix and that's indeed better. Redox OS, too.

The Unix security model is mostly useless today, but it seems like something better is possible as an incremental change, and there are projects that do that, like RSBAC.

  • Yes, "everything is a file" but the mouse on Rio is written in stone.

    Aside of that, plan9 wins on the theoretical side, it was a research OS, but in the practical one... it's opinionated.

And we've all heard of the linux people, as opposed to whoever is pushing these post-Cassidy OS. Linux isn't where it is because of some imperial decree, it has been winning out in a slow, protracted war for what OS programmers choose when they want to get work done.

Pike is more than entitled to an opinion, but I think there is some cause-effect reversal at work here. The linux circles aren't people driving the UNIX-love. The UNIX-love is effective in practice - especially the blend of principle and pragmatism that the linux community settled on - so the linux circles happen to be bigger than the most similar alternatives. Better alternatives are going to have to fight through the same slog as linux if they want recognition.

This is not about mindless worship, but about the fact that the UNIX design has stood the test of time for this long, and is still a solid base compared to most other operating systems. Sure, there are more modern designs that improve on security and capability (seL4/Genode/Sculpt, Fuchsia), but none are as usable or accessible as UNIX.

So when it comes to projects that teach the fundamentals of GNU/Linux, such as LFS, overwhelming the user with a large amount of user space complexity is counterproductive to that goal. I would argue that having GNOME and KDE in BLFS is largely unnecessary and distracting as well, but systemd is core to this issue. There are many other simpler alternatives to all of this software that would be more conducive to learning. Users can continue their journey with any mainstream distro if they want to get familiar with other tooling. LFS is not the right framework for building a distribution, nor should it cover all software in the ecosystem.

  • The first version of UNIX was released in 1971 and the first version of Windows NT in 1993. So UNIX is only about 60% older than NT. Both OSes have "stood the test of time", though one passed it with a dominant market share, whereas the other didn't. And systemd is heavily inspired by NT.

    Time flies fast, faster than recycled arguments. :)

    • I'm confused as to which OS is the one that passed the other with dominant market share. Last I checked, Linux is everywhere, and Windows just keeps getting worse with every iteration.

      I'm not sure I'd be smugly pronouncing anything about the superiority of Windows if I were a Microsoft guy today.

      It's not surprising that systemd was heavily inspired by NT. That's exactly what Poettering was paid to create, by his employer Microsoft. (Oh, sorry--RedHat, and then "later" Microsoft.)

      1 reply →

  • Except that it didn't, Linux has nothing to do with UNIX design, it isn't a UNIX System V in 2026.

    • > Linux has nothing to do with UNIX design

      Respectfully, that's nonsense. Linux is directly inspired by Unix (note: lowercase) and Minix, shares many of their traits (process and user model, system calls, shells, filesystem, small tools that do "one thing well", etc.), and closely follows the POSIX standard. The fact that it's not a direct descendant of commercial Unices is irrelevant.

      In fact, what you're saying here contradicts that Rob Pike quote you agree with, since Linux is from the 1990s.

      But all of this is irrelevant to the main topic, which is whether systemd should be part of a project that teaches the fundamentals of GNU/Linux. I'll reiterate that it's only a distraction to this goal.

      2 replies →

Compared to plan9, past its sell-by date. Compared to redhat poetteringware, I will continue to attend services.

> We really are using a 1970s era

1970 Anno Domini no less

  • Making it even more so of a religion.

    UNIX is only an OS with some good ideas, and also plenty of bad ones.

    No reason to stick with it ad eternum as some kind of holy scriptures.

    • The article is not about UNIX, what's good and bad, but what's better for understanding Linux. And replacing SysVInit with systemd is, objectively, bad for understand the core of Linux. And this is the core of LFS.

      Discussing whether UNIX is good or bad seems narrow-minded, as there is no solution to that. It's like discussing whether iOS is better than Android. We can always isolate some specific parts and discuss that, but just slashing the whole concept doesn't help anyone and rarely yields any meaningful results.

      3 replies →

    • It's "problem" unfortunately is that it happens to be the only major foss os. If there were other foss oses with good support and "better" models I'd gladly try them out. I know I personally would never switch to any non foss os after the user friendliness I have experienced. I would say that's the main reason many stick to it, including game theoretic arguments for commercial players also. Not because people like to stick to ancient models. It's not a ideal system obviously but going back to locked down crap is a no go for me and perhaps many others. BSDs are ok too but the suicidal licensing makes me less inclined.

      13 replies →

    • That's true, but some of the arguably worst ideas are the ones which makes it the most approachable, hackable and understandable.

      Hindsight is an interesting thing. Makes mistakes more visible while making Chesterton's Fences invisible.

      We shouldn't forget these. These fences are there for the reasons. Yes, fences can be revised, but shall not be ignored.

    • My point was, that there’s plenty of ancient things we plod along with, even though they’re not perfect. Many have tried to improve upon them but few have stuck.

    • You are so vague in your attack on Unix approach that it's borderline trolling. What are your problems with it? Modularity and minimalism have been working perfectly and that systemd does not follow them is a bad thing.

      12 replies →