Holding A Mirror Up In Front Of GNU/Linux

We’re guessing that we have something in common with a substantial number of our readers in that this post is being written on an open-source operating system. A well-known GNU/Linux distribution provides everything you might expect from a PC, but of course it’s not the only open-source game in town. A year-old piece from [Unixsheikh] caught the eye with the title “Why you should migrate everything from Linux to BSD“, and being naturally curious, it was worth a read.  It’s interesting enough to talk about here not because of its BSD advocacy, but because of its examination of some of GNU/Linux’s shortcomings. Using and appreciating an operating system shouldn’t mean slavish fandom, it’s worth every Linux user taking a moment to consider its points.

There are two main thrusts to the argument, firstly that GNU/Linux has become a bloated kernel with a fragmented operating system, and secondly that the interests of the various big businesses that derive income from Linux-based products have led to the resulting ecosystem being shaped by those businesses and in their interests. The piece points to the huge disconnect between kernel developers and operating system users, and the seeming lack of concern over some of the problems this can create. It’s a jarring read for an open-source software enthusiast because while there is much good in the world of free software even the most devoted of fans should admit that it’s not without problems. We think it’s worth a read not necessarily to agree with but in order to stir discussion and debate. Every community needs to look in the mirror sometimes.

As for BSD, it’s worth admitting there lies a shameful gap in a Hackaday scribe’s knowledge. One that deserves to be plugged, in the interests of better understanding.

Header: Tux, Larry Ewing, CC0.

120 thoughts on “Holding A Mirror Up In Front Of GNU/Linux

  1. I protest at the use of the name GNU without appending Linux in front of it, as GNU was a failing project that Linux picked up out of the gutter and made relevant to the 21st century. Therefore if GNU is to be mentioned in conjunction with Linux at all, it should be Linux-GNU, so the full name of the OS should be Linux-GNU/Linux.

    1. I’d just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.

      Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.

      There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.

        1. Remember the quote origin?

          “There are only two hard things in Computer Science: Cache invalidation and naming things.” Tim Bray, quoting Phil Karlton

          (I found your https://web.archive.org/web/20120313095508/http://distrowatch.com/weekly.php?issue=20111031&mode=68 comment so I know you repeated that before. Please I ask you to remember. I am very sentimental about asking for open source and open quote sources.)

      1. Technically the kernel IS the operating system. Maybe “operating environment” might be a good name for what you describe. But then, why not throw Xorg into the name? And maybe your desktop or window manager?

        Not that it matters. What we call Linux or GNU/Linux is just going to be all Systemd sooner or later.

      1. You actually sat through the whole thing?

        Sir, I take my hat off to you.

        I was dragged to one of those things years ago and left after about 10~15 minutes of rambling sanctimonious nonsense.

  2. While i like BSD ports and I used Gentoo for some time exactly because its portage, I must admit that with apt(1) my life is much easier.

    Is the kernel bloated? No. It still can be trimmed down to less than 1MiB (admittedly without TCP/IP).

    Disconnection, maybe. I’d say that’s because much more people use GNU/Linux as end-users so obviously the ties ate not as strong.

    1. I can assure you, the ‘disconnection’ is quite real.

      For the most part it’s being driven by RedHat and it’s developers, and while Sievers and Poettering are the worst offenders, neither they nor RedHat are the only ones.

      Sadly, Some of the tools I rely on do not have BSD versions – Some of them don’t even have Linux versions – so I’m stuck with Windows AND SystemD.

  3. Well, some of the “negative” points are actually the very reasons why I prefer Linux and when the author stated that he really liked systemd, I stopped reading the article. Sorry, I already have Windows with registry, svchost and eventvwr.msc and I am not happy with them. Nothing against *BSD, I like them. End of rant :)

    1. Wasn’t the author saying that they liked it but that it had caused far too many problems in the Linux world?

      “but the main problem with systemd is that its continued development is motivated by a company’s financial interests and not the open source community interests.”

    2. I thought I was the only one who felt like SystemD is just like it was Microsoft’s take on a Linux init system.
      Hopefully I don’t have to elaborate further why I dislike it so much.

    3. To be fair, I think he said only that he liked some aspects of how sysderp addressed some actual init issues, but that overall he *dislikes* it bc of the shameless over-reach, the corporate-profit driven motivation behind it, and the more recent addition of privacy concerns.

      But don’t take my word for it, just read what he wrote. The guy clearly isn’t a member of the poettring fan club, and there are some insights to why practically the entire Linux world got sucked into that particular tar pit.

    4. the thing that really gets me about the windowsification of linux is that it is so pointless. if you want a managed OS on linux, there’s chromeos and android. this has already been solved. linux is the dominant mobile OS, and also has a significant share of consumer laptops. the dream has come true.

      i mean, chromeos kind of sucks, and so does android — but really just for the same reason systemd sucks. anything that tries to bundle so much “seamlessly” (i.e, against the unix philosophy) will tend to resemble a bloated opaque monolith over time.

      1. People have more problems with Google and Microsoft as companies, and how they are treating their users these days, rather than the size or construction of their operating system.

  4. I remember in 2012 when arch linux switch from sys-init-V to systemd.
    systemd brought obvious benefit such as speed, while staying moderately minimalist: 1 (fairly large) c project vs a collection of hetereogenous / patchwork / clusterfuck of bash script. The main complain was that the init and log would be binary which was dumb since all unix tools work on text but there was a way to revert it to text so the issue was ignored.

    The systemd author Lennart Poettering was also known for pulse audio which did not inspire confidence either.

    Then the project grew and grew, adding useless or redundant feature one after the other. Arch should have switched back to something else but they didn’t.

    1. If you followed systemd development, you know that those “redundant features” are there to expose kernel capabilities to username. Taking advantage of theme in init scripts with some dedicated tools is a pain.

  5. BSD has for a long time been a bit in obscurity to be fair.

    It is exceptionally rare that one finds anyone recommending an open source alternative to Windows/Mac that isn’t Linux.

    And a lot of software and APIs don’t really support BSD much either, making the case for moving over to it worse.
    I have recently been looking around at various GUI APIs, like wxwidgets, QT, SDL, etc. And they don’t really support BSD at all, Linux on the other hand is supported by them all, though with reservations in regards to different distros. And Windows and OSx/Mac is usually always supported.

    Though, to be fair.
    A lot of OSes have many issues and Linux is a bit on the “too democratic” side of things, where adding features and fairly rapid development is kind of rampant. Where distros are sprung up both left and right for the pure purpose that one can. It is a bit like a wild west…

    BSD is partly in a similar boat, due to being open source. We already have FreeBSD, Dragonfly, NetBSD and openBSD to name the large ones. Then there is the more application specific takes on it, like pfSense, freeNAS/trueNAS among others. And then the commercial takes on it, like the OS for the PS3 and PS4.

    BSD isn’t really all that rare out in the wild.
    But it would really benefit if people gave it a bit more attention in general.

    1. Think you really hit the nail on the head with the BSD support levels, its a pretty universal looking problem to me. Which is not to say you can’t if you put in the work get probably every open-source project to run well under BSD’s…

      I do in many many ways prefer BSD, but to actually get stuff done, or as a suggestion for those wishing to leave Windon’t it doesn’t really register on the whole. For the same reason you suggest Mint, Ubuntu, Debian etc not Arch for a Linux distro, generally you just want your general purpose computer to compute. I enjoy the frustration (well the satisfaction that it leads to at least) and interesting rabbit holes doing all the work yourself opens up, but it doesn’t get work done.

      1. The problem is that people who wish to leave windows are upset about the user abuse, the spying and the forced updates that break things, throwing away hardware and software support… etc.

        The reason why they can’t leave is because the Linux side doesn’t have the hardware or software support either, and there are constant compatibility issues and upgrade cycles that break things. Microsoft gets away with it exactly because the competition cannot offer anything better – even for free.

        1. These days I’d say you are likely to get a better hardware support experience out of linux than windoze… Few niches where Windows still gets more love from the creator of said hardware, but in many cases now Linux isn’t having to wait long for new hardware to be well supported, and still keeps the old stuff (and quite alot of stuff that never worked right on windoze, though far from all poorly supported hardware) running most of the time…

          Software support again, Linux now really doesn’t lack for anything. Unless you absolutely must for some external reason stick with that particular software and it doesn’t play nice with WINE (which is fairly rare I’d say) there is a tool for all uses, and almost any application you want will run fine. Often you can use the same tool natively, as most of the biggest names in various tool families either came from the FOSS world or have created official ports now.

          Updates that break things is more a windoze problem than a linux one, I’ve yet to have an upgrade break anything in Linux unless I’ve screwed something up first… If you are using the Ubuntu/Debian LTS type high quality distro’s and don’t fiddle with what’s under the hood incorrectly breaking stuff in an update is pretty tough (smaller one-man band type distro’s you are bound to find some troubles with, though usually at install not updates)

          In short its pretty hard to say there is any good reason not to leave windows for Linux now, unless you are a gamer, and the games you play have anti-cheat software requirements that do need native windoze platforms to function…

          1. >a better hardware support experience out of linux than windoze

            No.

            Linux has “drivers” for a lot of stuff, but the device will ultimately not work because the rest of the software stack is buggy, incomplete, or missing. Eg. you have a driver for your printer, but no way to change the paper feed settings, color profiles… etc.

          2. Are you sure you’re not using a 3rd party bluetooth suite, because windows is #%$#@ horrible at bluetooth. I had one from Jabra that was heavenly bliss on windoze XP, and my chromebook “just works” with BT, no muss no fuss, but W10 ewww. Windows freaking CE/Mobile/Phone had nicer/saner/functional bluetooth support.

      2. Yes, support for software tends to be the biggest limiting factor to adoption of something “new”.
        One reason backwards compatibility is frankly hugely important in a lot of cases, as far as hardware is concerned. (x86 is a golden example of something that survives thanks to an insane back catalogue of software. ARM is getting there, but ARM has a similar fragmented look as Linux/BSD has. (Ie, some ARM chips do support your software, others doesn’t at all, and some are somewhere in between. Have fun recompiling and adapting your code.))

        Recompiling and adapting software is frankly the biggest downside of open source projects.
        The sign of a good piece of software is that it is all contained in a single folder that one can just unzip and run from anywhere. (though, cross compatibility is its own can of worms… And personally I don’t mind if the program have 1 or 2 dependencies that one needs to install first.)

        I have used plenty of Windows and Linux systems, but so far haven’t set up any BSD ones, mainly due to the limited scope of software support. Since exceptionally few things I use seems to run on it, and fiddling about with making things run on it that doesn’t have “support” for it is frankly an exercise that consumes time. Time I rather spend on other things.

        Windows does have downsides, and all the “analytics” software they have baked into it is frankly discouraging. And the forced updates of Windows 10 is something I personally won’t stand and is therefor still rocking an older OS… (I get enough exposure to Windows 10 updates “fixing” problems when doing tech support for friends/family… It isn’t often, but that doesn’t make it a lesser pain.)

        Though, thinking of setting up a freeNAS/trueNAS solution, since would be nice with some “backup” beyond my current half baked solution.

        But I suspect that someday, one might be moving to something completely different. Who knows what the future holds.

        1. >The sign of a good piece of software is that it is all contained in a single folder that one can just unzip and run from anywhere.

          Though when it’s open source, that tends to mean “Carries half a desktop environment and dependencies with it.” which is as silly as developing software using web technologies and then making it stand-alone by wrapping a browser with it.

          The point of the platform is that you can stand on it.

          1. Yes, that there is the crude as hell method of achieving such elegance.

            Personally I don’t prefer such bloated programs, tends to consume far more resources than it logical for the task.

            Programs I were intending on is where it actually is done properly, not some half baked quick fix.
            (Even if the world seems to mostly live on half baked quick fixes these days……)

      3. “Generally you just want your general purpose computer to compute.”

        That is what seems to get lost in a lot of the operating system arguments – including the rant that started this one. For some reason they seem to fall into the trap of thinking that an operating system is an end in itself. A key question that gets overlooked is “How do I get and run the software I want on this platform? And how reliable will it be when I get it installed?” Somebody like this is going to look for what software is needed and then look at what operating systems it’s available for. Trying to convince a business user that BSD can run Quickbooks in a Windows emulator better than real Windows, or a gamer that BSD will handle their favorite games better even if there isn’t a BSD release, is a tall order.

        Note – advocating to developers why they should include builds for your operating system of choice would be very reasonable, but these pitches seem to often leave this out.

    2. “BSD isn’t really all that rare out in the wild” – Case in point: MacOS. 29.2% of OS distribution is MacOS, Originally built from NeXT, which in turn was derived from BSD 4.4

      Userworld for example is taken from NetBSD.

      1. Yes, but OSx isn’t really all that much “BSD” these days.

        But I do see the point in your argument and were thinking of making it myself, but decided against it since it departed for quite some time ago and have switched architecture twice since then…

    3. “BSD is partly in a similar boat, due to being open source. We already have FreeBSD, Dragonfly, NetBSD and openBSD to name the large ones.”

      The BSD variants tend to fork for design reasons: FreeBSD focused on optimizing for the x86 architecture at the expense of cross-platform portability, NetBSD focused on portability and unified architecture at the expense of platform optimization. OpenBSD focused on security at the expense of breadth and speed of code adoption. Dragonfly focused on multiprocessing and virtualization at the expense of single-system design.

      Trying to merge any two BSD variants would create a project with badly conflicting design goals.

      Because of that, the BSDs (at least the grownups among them) tend to see each other as colleagues with different interests. They adopt ideas from each other, but see each other as separate lines of research.

    4. @Alexander Wikström said: “Where distros are sprung up both left and right for the pure purpose that one can. It is a bit like a wild west… BSD is partly in a similar boat, due to being open source. We already have FreeBSD, Dragonfly, NetBSD and openBSD to name the large ones.”

      FreeBSD, NetBSD, and OpenBSD are separate but closely related. Each has a different main focus. These three “core” BSDs compliment each other, they did not end up this way due to being open source.

      The three core BSDs get re-used/forked all the time not only because they are free, open, and reliable, but because they use the very permissive and simple Berkeley Software Distribution (BSD) license. For example, Apple’s macOS has its roots in BSD.

      In no particular order:

      1. FreeBSD is a jack of all trades OS but most people that want Unix on the desktop will turn to FreeBSD. One the first things many FreeBSD desktop users will do is enable FreeBSD’s Linux software compatibility layer and install the BASH shell. Poof! Now you have “Linux” without the drama, and without the systemd nightmares.

      2. OpenBSD lives best as an x86-64 server. Security and reliability are paramount in OpenBSD. The adage is that you develop and maintain networks on the FreeBSD desktop, but deploy them on OpenBSD servers.

      3. NetBSD focuses on potability across different architectures and platforms. According to Wikipedia, “As of 2019, NetBSD supports 59 hardware platforms (across 16 different instruction sets).”

      See: Comparison of BSD operating systems

      https://en.wikipedia.org/wiki/Comparison_of_BSD_operating_systems

    1. For how long? Linux kernel is the only GPL nail in the corporate world (gcc doesn’t even register here being a tool only).
      I am pretty sure that google will be glad to ditch it in hell, but it take $$$ to do that and they probably are not interested in the move right now. But look at some attempt in the OS field like littlekernel.

      1. That’s what’s Fuchsia is all about, but at the moment the priority is disentangling themselves from Java and the Oracle lawsuits. Then again, Google has so much ADD that it’s hard to tell whether Fuchsia will be quietly join the graveyard of abandoned Google projects.

  6. This seems to just boil down to: What do you prefer, The Cathedral or the Bazaar:
    https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar
    There are sometimes business factors that might drive you choice, but otherwise it really seems more of a personal preference (or tolerance) than anything else.

    I don’t see any of the author’s other points make a compelling case that Linux needs to be abandoned for something else. I care about Privacy a lot, but I don’t see anything that prevents a correction to mitigate the privacy concerns – and concerns around defaults in open source code don’t really seem like a major problem, more of a disappointment or hassle (i.e. you still have the code, you can change them, or make/run distros that support strong privacy defaults).

    Corporate influence is always a concern, but there is also a major advantage here as well, large scale linux adoption by corporations has greatly increased the amount of Linux compatible hardware available (and as the tide raises all boat, this has help other FOSS/FLOSS projects including *BSD) and I’ll take that over any of the advantages the author claims BSD would provide. The have been numerous bad or shady companies in Linux’s past (SCO, TurboLinux, etc.) and they didn’t kill or control it, in contrast RHAT/IBM isn’t “bad” to that level, and there will always be other choices.

    I can’t help but think that if BSD had of seen the corporate success as Linux has, we would be reading articles about how we should switch from BSD to Linux because of corporate influence – I just don’t see how jumping ship give us anything different other than swapping the Bazaar for the Cathedral.

    As for the bit about GPL vs BSD licence, that’s been going on for decades. In that time it looks like all the “bad” things about the GPL didn’t cause the predicted outcomes (GPL will stop corporate adoption, unsuitable for business, nobody will support it, etc.). Perhaps the BSD licence (and the Cathedral model) would be more of a problem/hindrance if BSD enjoyed the same level commercial adopt that Linux does, we may be far less likely to see changes making it back to the main branch, and more likely to see greater fragmentation as folks get incompatible licenses or people refused to release code, more closed source release that phone-home, less choices, less defaults we can change, etc..

    I’ll stick with Linux, as long as I still have choices, and I don’t see those choices going away.

    I’ll also be happy to pick BSD when that seems like the right choice for the problem I’m solving.

  7. > huge disconnect between kernel developers and operating system users

    The guy himself has a huge disconnect on why Windows is/was the more popular OS for users. It’s not about how elegant or well-designed it is, or how horrible it was to support back in 1998-2000.

    First, for people with zero (0) ability or interest to tinker with any part of the operating system, sane defaults and identical user interfaces across machines is a key feature. The second part is the fact that the OS comes pre-configured when you buy a computer, so you don’t have to do anything. The third part is that when everyone is on-board the same system, the hardware and software companies don’t need to split their attention and resources, and you don’t get the “Sorry, this isn’t available for your system” effect. The fourth part is not politicizing software – making it easy to install regardless of source instead of trying to wall you in to a “repository” system for whatever reason^. Binary compatibility, ease of distribution, and the easy ability to NOT show your source code (proprietary software) opened up a vast ecosystem and a market of interesting software and hardware that didn’t depend on the approval and support of any “community” that wants to own the whole system to themselves, telling all the other people how to stir their tea.

    There’s just this illusion that if you “forced” people to learn the things they have no interest in learning (ie.if Microsoft never existed), that we would have everyone using UNIX-like operating systems and software/hardware designed and supported by the community, and that people would have picked up all the obviously clever and elegant paradigms and done everything the way you think it should be done. It’s your basic utopian bull excrement.

    No. Something like Windows would have arisen anyways, and taken the dominant market position, and we would have the same whine about that instead (e.g MacOS was arguably worse). Without something like Microsoft and Windows, home computers would have never taken off beyond a few enthusiasts. Like the best amplifier is the one you don’t hear, and the best window pane is the one that you can’t see, the best operating system is the one you don’t need to interact with. The operating system and the supporting environment is a PLATFORM for doing something else than tinker with the system. This is where Linux, BSD, etc. have always failed hard, and why Android, ChromeOS, OSX, and Windows still keep the vast majority of users.

    If you complain that other people are using someone else’s system that is “worse” than yours, you have to think hard about why people would pick up a worse system and keep using it despite its faults. Maybe it’s because Microsoft put the users (their customers) instead of the developers to a higher priority from the beginning – and that has nothing to do with “aggressive marketing”. You can’t market what you don’t actually have – people aren’t that stupid. Windows won because it was better for the users.

    ^(The repository system in Linux is really a hack around the fact that software installation otherwise is super-rigid and super easy to break absolutely everything, and generally mess things up to the point that you have to wipe it all. The concept that a program exists in a separate folder in DOS and Windows meant that you could easily add and remove apps; “portable apps” didn’t even exist because it was pretty much the default.)

    1. Or to borrow from the Cathedral and Bazaar idea mentioned by someone above:

      Linux (and BSD) developers and enthusiasts think they’re operating a Bazaar, but from the actual users’ perspective they’re just a bunch of competing kings in their walled-off Cathedrals. Sure, they’re doing business with each other, but their lands are full of serfs with no freedom to do anything independently.

      BSD doesn’t make any difference to this, as it’s still operating on a mechanism where a software repository has to pick up the package for distribution before it becomes available to regular users. When this is scaled up to support a billion ordinary users and millions of applications, pretty soon you end up with an App Store or a Google Play, which is showing adverts and taking a tax on every transaction to support the needless bureaucracy while applying arbitrary criteria on what software gets to pass, and who gets to have access to it.

      I for one don’t want any of that noise. It’s a perfectly terrible idea.

        1. Because there wasn’t a need for it. Windows users don’t typically install hundreds of pieces of software on their boxes like FOSS users do. A Windows user is more likely to install a half-dozen or so large integrated packages from a single supplier (Office, Visual Studio, Adobe, etc.). For that use case, it’s pretty straightforward to download an MSI and install it. Remember, these are ordinary people who are using the computer to get a job done, so the application is far more important to them than the ecosystem.

          1. Precisely.

            The ‘average’ user doesn’t care. They simply want to get on with the task in hand whatever that happens to be.

            It’s this very reason why games consoles are so popular. Just stick a disc in or download a game and it works. Well… Most of the time anyway :)

          2. Not to mention that you could just put a CD in a box and sell it in a supermarket, and the software would work on anyone’s computer, without access to a central repository over the internet.

            It cannot be overstated how important that was and still is, especially for the hardware side of the market. The fact that you had a driver CD to go along with the piece of hardware meant that as a manufacturer you did not have to go through Microsoft to get your drivers distributed, which meant that you could just go to the market and sell your stuff. There were no gatekeepers, no “community” to kowtow, no other developers to please or politics to play.

          3. >Just stick a disc in or download a game and it works.

            But remember, it’s easy to misunderstand that to mean that the users value the brain-dead simplicity (“it just works”) rather than the fundamental reason why it just works. FOSS people have tried to emulate it superficially with the repository system by maintaining a handful of popular application suites and saying “But with Linux you just have to type foo bar and you get all the software, how easy is that?!” – but that’s missing the point entirely.

            The alternative ecosystem offered is much like having your prom night at home in your living room, where your parents have strung up a disco ball, your little brother is the DJ, and you get to dance slow with your sister. It’s easy, it’s convenient, and it’s not what you wanted at all.

          4. The fact that such existed belays that. I’d say such existed for the same reason malls and big box stores existed, and that’s people didn’t want to wander the digital countryside looking for that one piece of software that would do the job. They also wanted someone that would vet it for them (C’NET). This entire discussion revolves around convenience and that’s one of the benefits of a repository. It also fits in with our always-on culture (part of why manuals and driver disks have disappeared). Primary difference I see between say a FOSS repository and a Mac/Windows one is one of integration.

          5. >This entire discussion revolves around convenience and that’s one of the benefits of a repository.

            That’s the misunderstanding I was just talking about. Tucows wasn’t the be-all-end-all repository for Windows software – it was just one of many aggregators of shareware and freeware programs. The point isn’t the convenience of it; that’s just the side effect of the liberty and the ability to get your software from anywhere and anyone you like.

            I never used Tucows, I just googled what I wanted and downloaded it directly from whoever was making it.

      1. I thought BSD was following a Cathedral model, no? GNU is also somewhat Cathedral-ish. Linux kernel is Bazaar (or should that be bizarre…). The article seems to be advocating for going to a Cathedral model (BSD) from a Bazaar model (used by Linux kernel and many Linux distros).

        Or maybe stuff has changed and I didn’t get the memo. Cathezaars and Bazedrals?

        1. When you extend the metaphor to the ordinary user’s perspective, it works a bit differently.

          The Cathedral is the developers and enthusiasts (the aristocracy) hiding away in their castle and occasionally coming down to the regular people to say, “Oh, you’re still here. Okay umm… here’s the latest stable and a bunch of software that is compatible with it, now skip along and don’t bother me for another six months.”

          Whereas the Bazaar is when people can go online (the market), find a developer who does what they’re looking for, and download an application package directly from them without waiting for the system to enable the transaction. You’re not going to the cathedral to get married with it, so why should the other developers or the “community” have anything to do with the whole transaction?

          On one hand, you don’t want an operating system that was cobbled together by a bunch of random back-alley tinkerers just the night before. Hence why the OS development side should be a Cathedral. On the other hand, you don’t want your day-to-day software ecosystem to be handed down and controlled from the same ivory tower by a bunch of elitists who are pretending to be philanthropists and morally licensing themselves because they’re not “doing it for the money”.

          The communists back in the old East Germany were simply doing it for the good of the people as well, and did they get any thanks for that? No, the ungrateful masses just kept jumping the wall… The people couldn’t understand that the dictatorship of the proletariat was the best system if you just worked with it instead of against it, and in any case the system was being sabotaged by American capitalists working a massive misinformation campaign to lure people out. Sounds familiar?

          As long as there exists no direct free market between the producers and the consumers, because the distribution of software is deliberately complicated in order to maintain central control, the hardware and software vendors and the majority of potential users just don’t want to have anything to do with it.

    2. Yes I was struck by this irony as well, especially after I read his other follow up post about which Linux distros are best and what he posted about Ubuntu:

      “In any case, I do not recommend Ubuntu or other Ubuntu derived distributions. They generally make the Linux experience miserable because they try to be everything at once, but without doing anything particularly well. The result is a bad user experience.”

      It’s entirely aparrent that his criteria of what entails a good user experience is dramatically different than most other users’. You can lob criticisms at Ubuntu all day from a FOSS, privacy and security conscience stand point, but it didn’t become the most popular desktop Linux distro without merit. Unlike Windows, people actually chose to go through the trouble of installing it, and what’s more, continue to use it because it offers that “it just works” quality that tinkerers tend to hand-waive away.

      He also has many posts espousing the virtues of OpenBSD, which once again just solidifies in my mind his very niche criteria for a good user experience. Not to criticize OpenBSD, because it is great at what it was designed for. However, any user who is not obsessed with security and privacy, and who merely wants to watch Netflix, is very unlikely to say OpenBSD offered a better user experience than Ubuntu.

      1. The difference is that Ubuntu “mostly just works, somehow”, whereas other distributions work very well for A and not at all for B, and most users will want to do both A and B at some point.

        For my case, I would happily use Ubuntu for 90-95% of the tasks, but then there’s always that one thing that doesn’t work (or works poorly) that makes me boot back to Windows. Since the operating system is irrelevant to what I am doing, I just stay in Windows all the time.

      2. My wishlist:

        -Surround audio with a global equalizer, stereo expansion, 5.1-to-2.1 pulldown, crossfeed for headphones, channel delays etc. with a proper user interface – not through CLI and config files. (Windows Audio Processing Objects are vastly superior to anything Linux has to offer, e.g. PEACE)

        -Better printer support with proper color management. Good graphics/photo editing suites. (all the FOSS alternatives are made by programmers, not artists, so they get the user interfaces and functionalities wrong).

        -Games of course. Better GPU support.

        -A/V support: proper drivers for TV cards and dongles and their remotes (not just for SDR hacking), proper A/V software instead of trying to watch TV on “Kaffeine” or some other generic media player with ill support for the task.

        -Better access to software: this is a whole topic relating to how poorly the distribution model in Linux works in general. For example, the need to “backport” packages so users don’t need to upgrade the entire OS to get a new version of Firefox. If it’s not in the repository, the whole thing breaks down to command line voodoo and crossing fingers.

        Then for the niche tasks, I would like good support for MIDI and some synth software, CAD software, LabVIEW, PLC stuff like TwinCat… When you tinker with all sorts of creative stuff and enjoy arts and media, and you sometimes butt heads with engineering and industrial control, any Linux distribution eventually ends up with booting back to Windows. You may go for a week, you may go a month, but you always go back.

        The reason why I don’t use Linux is that I don’t want to limit myself. On the other hand, even if all I wanted was to browse the web, use Google docs and listen to Spotify. then I would just get a Chromebook. The way I see it, the only reason to use something like Ubuntu is out of the principle of it – not because it makes any practical sense.

        1. I would say the repo packaging systems are superior to windoze methods – as it still has the same you need x versions issues, which would force you to windon’t update – the fact updated software is backported means you don’t have to ride the cutting edge with all its new bugs while getting the best of the new features if you want to…

          Other than perhaps the TV cards I’d say you can easily have all that in Linux, though I do have a TV box I use on Linux driver support on them is probably a valid concern – I did much research before selecting this model.

          The real issue with games isn’t GPU support but windows only anti-cheat crud. Same hardware I generally get much better performance on Linux, and almost never noticeably worse loose maybe 5fps max for proton overheads – sometimes Proton will need tweaking, and some games just will not work through it, but that is an ever improving situation..

          If you are using Dolby surround there are license issues that mean you have to jump through hoops to set it up – as the distro’s can’t ship with it ready to go – you may not have paid Dolby! But other than doing that there are gui’s to do all the interactions you might want, find one you like…

          Sounds like your real issue is you know your current suite of tools, and don’t want to learn any new ones – a perfectly fair view to have. But I’ve run Linux basically exclusively for years now – I do have a GPU passthrough VM set up for those odd games that really need windows, but its getting fired up less and less..

          1. The fact that you NEED a backport to get the latest version means that you don’t get the latest version because the repository maintainers don’t bother to do that. They can’t possibly keep track of more than a handful of programs anyhow, so you’re always running old versions for most of the stuff. In Windows my copy of Firefox updates itself, because distributing the binaries is up to the producer, not some middle man who doesn’t care.

            That’s the problem with how software distribution works under Linux. In theory it’s a good idea, but you have this choke point in the system, which is the repository, which is “maintained” by the community and inevitably sucks.

            Oh, and one more item to the list: I want my digital camera to upload new photos wirelessly to my computer. The software doesn’t work/exist in Ubuntu…

          2. >find one you like…

            Yeah, about that…

            Audio in Linux still absolutely sucks, and it’s a horrible thing to set up, and all the GUIs are likewise poor, insomuch that they actually work for anything. The last time I tried, I just could not get center output and subwoofer to work when expanding from 2.0->5.1, because apparently the mixer somehow took the difference of left and right, not the sum or average of the channels, so any sounds that were mixed in mono (usually the bass) cancels out and nothing comes out of the sub unless you adjust the balance to left or right.

            At that point it was apparent that I would have had to start putting the knife to some config files and break(bypass) the GUI on that part, so I just had to throw in the towel and return to Windows again. If it doesn’t work, I’m not gonna bother fixing it just to have a distro upgrade six month later, which may change or reconfigure the audio subsystem and force me to fix it again.

          3. >If you are using Dolby surround

            Dolby Surround is a passive means of tricking surround sound out of a stereo signal by sending the sounds to different channels depending on phase differences or lack thereof. If you have Dolby Surround processing, it’s going to be a special DSP chip in the amplifier. Basically, the greater the phase difference between the two channels, the more they are balanced off towards the rear channels (which are really a mono channel). It has nothing to do with proper surround like playing back 5.1 audio from Netflix, and you can easily approximate the effect with mixing rules in your audio path. E.g. LR = L – R and RR = R – L. Notice how the rear speakers are both the same signal but in anti-phase. Knowing this, you can then mix the original recording to have these phase differences and produce deliberate surround effects when it’s played back. For ordinary music without it, the result is some random effects.

  8. Too often people argue philosophy rather than practicality. What matters is solving the problem at hand with the least effort, time and expense. Often the available APIs and development tools matter more than the system. If developing a volume product, then per unit licensing costs need to be considered as well.

    Having said that, back in the day I started out installing experimental AT&T Sys V, later BSD and finally Ultrix on a Vax 11/750 from 9-track tape sources. I’ve also crossed paths with plenty of hybrid systems that borrowed from both sides of the aisle: A/UX, OS X, Irix, SunOS, Solaris, AIX, HP-UX, Linux, Free BSD, Raspbian, Pi OS and probably some I forget at the moment. Almost all of them borrowed from or used outright GNU to some degree – either out of the box, or GNU utilities had to be installed manually for the systems to be useable. GNU originally took its inspiration from or duplicated the functionality of utilities found in System 7, Sys V and the original Berkeley distribution. Everything is kind of full circle and much is owed to Bell Labs and UC Berkeley.

    1. I’m guessing you probably FTPed quite a few source tarballs from prep.ai.mit and built them. That was the standard back then. Imagine the kids today having to do all of that :-). Heck, the Linux zealots on my team don’t even know what the head command does.

      I also remember this purity was disrupted when Sun decided the C compiler should be a paid add-on. GNU had to compromise their principles and put a Solaris GCC binary up there so you’d at least have something to bootstrap your way through. I’ve done that procedure a few dozen times :-)

  9. BSD needs to get their driver issues figured out. It’s a pain to get something as simple as Ethernet working then get flamed on their forums for not using one of the 2 network cards that’s compatible.

  10. An interesting ball to kick into play. The BSD vs Linux ball that is.

    I don’t think anyone needs to pick a winner, and that really isn’t the point.

    I use linux almost exclusively, but I was for a long long time a NetBSD hold out.

    On one hand things became much easier for me when I switched to linux. I think the various
    BSD distros have improved drastically since my time, but it used to be that I had to compile many
    packages from source. When I switched to linux, someone else was taking care of that and things
    were just there. Nowadays I usually just do “dnf install xyz” and I am done. 10 seconds.

    On the other hand, if you really want to dig into the operating system, the BSD sources are much
    friendlier. Linux has its own culture, conventions, and programming dialect, and unless you live and
    breathe the linux sources, the road is very very rough.

    But I’ll stick with linux. And no, I don’t even think about windows — it doesn’t solve my problems.

    1. “On one hand things became much easier for me when I switched to linux. I think the various
      BSD distros have improved drastically since my time, but it used to be that I had to compile many
      packages from source.”

      Slackware.

      1. Are you saying Slackware is a BSD distribution? I don’t think so, and I’m not interested in switching linux distros. The best linux distro is whatever you are currently using and used to. It is that simple.

        1. He’s saying that Slackware doesn’t jump because the big distributions do. Slackware isn’t non-profit, but it is hardly a moneymaker. It doesn’t cater to popularity. It’s not aimed at the “dumb it down for me” crowd.I

          I found it was easier to install than Debian in 2001, and a lot of the big distributions now derive from Debian (which was set up to be the antithesis of the commercially inclined distributions).

          And in other Slackware news, after almost five years of no release (but constant upgrading), there is talk of beta, so hopefully later in the year a new release, hopefully 15.0.

          I’m really thinking the problem with the Slackware store (a third party set up.to duplicate and mail out DVDs, they were cheating Patrick) broke Patrick’s heart so there hasn’t beern a new release since June 2016. But he never abandoned Slackware.

          1. Thanks for clarifying. I do run Fedora, but have been pleased with my Debian experiences. It is highly likely that Slackware would please me even more. I’m filing this away, even though sheer intertia will keep me with Fedora for the forseeable future.

      2. Slackware is a gift for those who like playing a script version of where’s Waldo. There’s a typo in every config file somewhere. It works “out of the box” on maybe a third of machines. Another third you can get going after a day or two picking through the entrails, and the last third, good luck, you did have a second linux box for the post mortems of why you can’t even get a single user prompt, right?

        “Oh RW, don’t let one bad experience sour you on this exquisite gem!” Yeah-nah, I’ve tried Slackware 5, 6, 7, 9, 11, and 14. Slackware 7 was the high water mark, I managed to get it running on two different machines.

  11. I don’t think my tinfoil hat’s on tight enough to appreciate the arguments in the linked article. TL;DR version is that he has a major problem with some default/fallback services like Cloudflare and Quad9 DNS being configured in GNU applications, as he considers these to be massive privacy trainwrecks for some reason, and that he’s absolutely sure that systemd is a shadowy conspiracy by Redhat to destroy /etc and take over the world. He thinks that letting corporations just have the software under a BSD license removes any incentives to affect the OS’ public codebase, a questionable central thesis considering that he thinks keeping the world’s app developers on board is a major reason for companies supposedly doing this with GNU/Linux.

    Oh and also he’s really worried about Linux kernel bloat, even though hardware advances are vastly outrunning it. He’s partially worried about the potential for increased energy use…which hardware is also vastly outrunning. If you want the satisfaction of knowing that your computer’s kernel is a highly efficient precision machine that’s fine, but it’s not a selling point for most uses and the difference won’t be noticeable to a user on a modern computer. Technological advancement basically requires software bloat somewhere, and if the software’s needs are stable or shrinking relative to hardware over time that should be good enough – in my experience it appears that Linux has done well in this area.

  12. I agree with every criticism that was leveled at Linux. And I respect the hell out of the BSD developers and maintainers. But at the end of the day, BSD just doesn’t have the software or hardware support to meet my requirements. I wish it did. I’d switch in a New York minute.

  13. “GNU/Linux has become a bloated kernel with a fragmented operating system” . IMO the kernel itself has become fragmented, a dumping ground for whatever green technology is in fashion. “device-tree” comes to mind. If compiling config files and dealing with module dependencies wasn’t enough, you now have to compile overly-convoluted hipster-made YAML-binding-json-schema quazi-hierarchical (but not) DTS code into DTB bytecode using a DTC javac-like (but not) compiler. That’s just for defining some pins on your SOC. Can Linux PLEASE stop integrating these truly awful half-baked cloud/web technologies?… These clueless hipsters have taken over the ship and renamed Linux the Titanic-Concordia. BSD? Apple macOS comes to mind as the dominant implementation, not much else. If macOS were a free and open platform, not bound to proprietary hardware, BSD could then maybe/possibly/but-still-probably-not overtake Linux.

  14. Systemd was a big step FORWARD.

    Sure it had some shortcomings at the beginning, mostly rooted in the transition and on bugs that are long resolved.

    The hate is not justified. Most of the people bashing systemd can’t concisely answer the question “What’s wrong with systemd?”, without being vague or repeating like a parrot that “it’s the Windows way” (to have a long-running service manager) as if that per se would be a bad thing.

    Diversity is the basis for evolution. We had systemd and also WORSE alternatives that we discarded.

    I have been using and administering Linux systems for 21 years. Systemd is faster, better documented, and has more features that what your older startup system had or has.

    1. This, I don’t get the systemd hate. The popular init systems in use before were largely Rube Goldberg machines made of shellscripts, they had become a mess and a cruel parody of the Unix way, and for a while they were causing Linux to get left behind in startup speed compared to other OSes (at least until upstart came along). HaD had a good article on the issue here: https://hackaday.com/2019/10/16/pack-your-bags-systemd-is-taking-you-to-a-new-home/

    2. you’re misrepresenting the opposition. the problem with systemd is easy to say, and often said: it violates the basic unix principle of doing one thing well.

      i’ve used debian for 25 years and there has always been change going on, but until systemd the change has always been in independent packages with overt (visible) interactions. now systemd has centralized all these tasks, and snuck tendrils into everything.

      incidentally, they’ve made a ton of bad implementation choices. it’s a *bad* centralized toolkit that touches everything. i could go on for hours about the unforced errors that have given me so much grief.

      but the basic case is not an hours-long affair, it isn’t complicated, and it isn’t obscure: they replaced a ton of separate packages with an opaque nest of tightly-coupled services. even in the best possible implementation, its mission statement is directly opposed to the way unix has been done all these decades.

      1. And so what? Why is the UNIX way preferable to any other way? Why the zealotry? If you can do two things at once while you’re at it, why wouldn’t you? Especially when you’re talking about something like system startup that typically has to execute in the correct order because various things depend on one another.

        Breaking that up into elementary operations that you just makes things inefficient – like going to the store to buy eggs, and then going to the store again to buy milk, and then going to the store again to buy bread… just buy the whole shopping list while you’re there!

        1. That is easy – The Unix way makes solid, dependable, portable and reusable tools – if GIMP was built in the monolith windon’t way from the beginning the world of GUI on Linux and beyond would be very different. If Nobody could just use the right parts of ffmpeg etc.. the list go on, a tool for its job, and only its job means that tool is useful for other things.

          A tool so covered in niche bloat to fill every role the way Systemd has become is just not that flexible. Not that I particularly hate it, as it least it mostly works…

          1. GIMP is an excellent example of non-usability and completely misunderstanding the needs and habits of your users, so I’m not sure what is the point you’re trying to make.

      2. >you’re misrepresenting the opposition

        Is he? ” It violates the basic unix principle”, is basically the same complaint as, “it’s the Windows way”. Same difference: “My way, or no way.”

    3. Systemd was a major step in a particular direction. Whether you consider that ‘forward’ depends on the direction you’re facing.

      The most measured criticism of systemd I know is, “it makes difficult things possible, and makes simple things difficult.”

      If you want to manage a server farm that spins up virtual machines on demand and supports thousands of users, systemd looks great.

      If you want to build an automated test system for a board you’ve designed, so you can send it to the assembly house doing your fabrication, systemd looks like more trouble than its worth. A device that boots and automatically runs one process doesn’t have enough dependencids to justify a management tool.

      Both are valid applications for hardware, but have different platform requirements. Tying Linux to systemd biases it toward applications with complex dependency trees, and away from the range of applictions a step or two above microcontrollers.

      The applications systemd supports tend to be corporate-friendly and toward the peak of a Zipf distribution. Those it doesn’t tend to populate the long tail. The usual arguments about the relative sizes of those areas apply.

      1. > Tying Linux to systemd biases it toward applications with complex dependency trees, and away from the range of applictions a step or two above microcontrollers.

        The irony is, those applications usually benefit from a real-time operating system, so Linux is usually the wrong choice anyhow because of the additional hoops you have to jump to make it behave. Like for example, the automatic circuit tester, which should in principle run hard real-time so it doesn’t introduce random delays and glitches by itself.

  15. Interesting article article and yes, my largest concern is the mega-corps have now taken over the Linux Kernel. Just look at the GPL2 vs GPL3 controversy. Corps. were doing everything they could to kill the GPL3 and to make sure no GPL3 code hits the kernel. That is one of the reasons CLANG became popular. Right now on my work Linux Workstation, one of the main rules for installed software is NOT to install GPL3 utilities that does not come with the base distro repo.

    Sadly I think in 10 years time, Linux will discard the GPL and go with something that will fit fully into the Corp world

    1. “Just look at the GPL2 vs GPL3 controversy. ”

      Well fear of IP like patents as a potential loophole.* Other being it would be rather hard to get all the code onto a new license.

      *The Oracle case should certainly remind us of that avenue.

    2. “something that will fit fully into the Corp world” like BSD licenses?

      Feel free to use whatever your reasoning you want to use to switch to BSD, but I doubt you will convince many, a license that doesn’t require distribution of source code to be less fitting to corporations.

  16. I tried FreeBSD for a short time on my laptop. It’s an old, slow laptop but FreeBSD ran pretty nice on it. I could definitely see replacing Linux with FreeBSD. But… I wanted to watch Netflix and Hulu. Yah, I know, DRM and binary blobs suck but come on. Mainstream media is NEVER going to open up so unless you want to dual boot or live under a rock..

    Maybe things have changed now, that was a couple of years back. At the time there were sites describing how to make it work using a Linux compatibility layer but it was difficult and sounded like the kind of thing that would break with future updates.

    I already stuck through Linux back in the days when some popular things just weren’t available. Remember when it seemed like the whole internet was Flash but Linux’s Flash version was stuck in the past? And things that worked but required annoying hacks that broke all the time. Remember having to use wine to read pdfs and docs? Remember when instant messengers were still a big deal and the services an Linux client writers played a constant cat and mouse game with the services constantly changing their protocols to kick off unofficial clients (all Linux clients)?

    I’m happy with my Linux desktop that ‘just works’ and will stick with it until Poettering et al. manage to make it not work.

  17. BSD has hardware support and software support issues that make it a less capable OS for most users. Don’t get me wrong, it’s variants are pretty solid systems, but you have to have specific hardware and software to use it. Linux users can be frustrated by these limitations just as Windows Users get frustrated when Linux machines can’t run desktop Adobe and Microsoft Office applications. It’s a niche of a niche OS and the author completely forgot the number one BSD fork on the market: Apple’s MacOS.

    1. There are a few issues with your statements. Most users use common hardware and FreeBSD has support for most common hardware. While it’s true Linux may support 10,000 devices, and FreeBSD might only support 9763 of those same devices, you only need one of each device and FreeBSD probably supports it. Motherboards, nVidia graphics cards, and on and on. My workstation and servers use common, off-the-shelf hardware you can find at any computer store or online.

      In addition, FreeBSD runs most of the same software you install on Linux. If you have something FreeBSD doesn’t run natively, it has the Linuxulator–a native Linux emulator that Phoronix (I think) once said runs Linux applications faster than Linux can.

      And macOS is NOT a fork of FreeBSD. macOS has a lot of FreeBSD’s userland in it but the OS is not a fork. The Ninetendo Switch is a fork, I guess. So, then, would be the Sony PlayStation among many other things.

      I’ve been running FreeBSD for 17 years on Windows computers people gave me as they “upgraded” their systems though I buy my own hardware now.

  18. All the chatter aside, for those who are interested simply in giving BSD a spin for themselves, GhostBSD (.org) looks like a convenient starting point. I also corresponded with Unix Sheikh, who recommended getting your feet wet with FreeBSD and a set of three “how-to-setup-freebsd…” tutorials on his site.

  19. End users see Linux as too fragmented, nobody knows what to choose and why they should switch from Windows or MacOS. Even ChromeOS offers a better alternatives to those heavy OS’s because its familiar as most already probably have used Chrome or use Google services. There is simply too many Linux desktop distro’s all with slightly different takes on the OS. Maybe a different desktop, or update system, or package manager. Just to name a few, can you imagine the grief if Windows had that many different takes on Windows?? This ideal people will ditch Windows or some other proprietary OS just because Linux is free is a complete joke. People use a OS to run applications they use, they really are not interested if its developed by a organization for no profit or a big corporation. Just as long as it works the way they want it to. If Linux was so great and knowing that it’s free and supported for free. Then you would think users would be downloading and installing some distro. In fact maybe they do and then realize its just not for them.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.