1. 11
  1.  

  2. 19

    I think there’s another problem: FreeBSD (possibly other BSDs) doesn’t go all-in on its strengths. A few examples:

    • ZFS was largely a FreeBSD-exclusive feature for a long time. We now finally have boot-environment support, but it isn’t integrated with the update functionality. pkg doesn’t do anything with snapshots and there was a lot of resistance to feature that take a hard dependency on a specific filesystem. Compare this with Nexenta that added automatic snapshots before an upgrade and integrated rollback.
    • Jails have been around for almost 20 years, but all of the container tooling was developed on Linux. If FreeBSD had added tooling early for deploying and managing jails, it may well have surpassed Linux for large-scale deployments.
    • FreeBSD adopted UCL for a few things ages ago and then stopped. Managing large fleets of FreeBSD systems could be a lot easier if everything in /etc/ used UCL.
    • Juniper added libxo to a few things and, again, the community stopped. Having a uniform set of schemas for XML / JSON output from any tool would make integration with other things much easier.
    • Capsicum is the easiest OS framework for writing compartmentalised applications that exists currently, but it’s largely unused except in a few bits of the core system. I’d love to see FreeBSD ports maintainers working to upstream Capsicum support everywhere.
    • LLVM. FreeBSD was the second system (after Apple) to ship clang as the default compiler and ship LLVM in the base system. There’s a load of opportunity here, for example providing IR for packages and doing CPU-specific specialisation, doing LTO for kernel modules at install time, and so on. But there was a lot of resistance to anyone working on features that have a hard dependency on any specific compiler.

    There are a bunch of other things like this, where the project squandered its differentiating features. I still use FreeBSD a lot and vastly prefer it to Linux but both are now quite dated. They’re huge monolithic C codebases providing a set of abstractions designed for minicomputers. You can kind-of wedge them into mobile devices or large servers, but they don’t fit well. I’m curious to see what will happen with Fuchsia - if Android dropped Linux that would be a huge dent in the Linux ecosystem. On the server side, there are a load of interesting unikernel-inspired systems that are the logical conclusion of the containerisation model for Linux: a single minimal kernel (often written in a modern language) that provides the OS features needed for one microservice and runs on a hypervisor. Linux’s biggest advantage for a long time over the BSDs was driver support, but in a cloud setting you really only need two device drivers (network and storage - and storage is optional because the large / cheap storage is often network-attached). I don’t really see Linux or *BSD in the future.

    1. 2

      Jails have been around for almost 20 years, but all of the container tooling was developed on Linux. If FreeBSD had added tooling early for deploying and managing jails, it may well have surpassed Linux for large-scale deployments.

      At least why I don’t use jails, the tooling seems kinda missing, and unlike Linux’s basic primitives for containers, it feels like it ralroads you into specific usage patterns.

      Capsicum is the easiest OS framework for writing compartmentalised applications that exists currently, but it’s largely unused except in a few bits of the core system. I’d love to see FreeBSD ports maintainers working to upstream Capsicum support everywhere.

      At least on this point, both OpenBSD developers were better on the “actually get ports to adopt pledge, even upstream” front. OpenBSD culture tends to be a little more…. zealous than FreeBSD though. I prefer FreeBSD over OpenBSD and Linux (though I don’t care about running it on the desktop), but a lot of the community seems kinda unenthusiastic to the work like UCL/libxo often undertaken by vendors - they don’t really care about the new shiny or even cleanup of existing stuff. No wonder why Juniper got cold about FreeBSD.

    2. 12

      TBH a lot of this reads as mistaking personal neurosis as “BSD”. What’s so Linuxy about dbus? The pointless mention of CoCs? Not to mention their read on the ZoL situation is completely unlike what I’ve heard from pretty much every FreeBSD developer.

      edit: hahaha I didn’t even catch the mention of STREAMS, I thought most Unix enthuiasts hated it!

      1. 10

        +1 solely for “mistaking personal neurosis as BSD” the author seems to view FreeBSD not as an OS, but a refuge.

        1. 2

          What’s so Linuxy about dbus?

          KDE, GNOME, and SystemD all require DBus.

          There are a handful (I can count them on one hand) of distributions that do not use SystemD, and after running one of them for several years now (Alpine Linux), the differences were enough that about once or twice a month I’d have to recompile something from source. The majority of Linux Distributions are dependent on DBus, and therefore the majority of Linux is dependent on DBus

          1. 4

            And who cares about dbus? I’ve never had to think about it, even when I was running typically “minmalist” software. Who cares that it’s porcelain over domain sockets?

            If BSD enthuiasts get caught up over dbus instead of the numerous and far more impactful things David mentioned above, no wonder the Netcraft prophecy will come true.

            1. 3

              I think the point of the reddit post went over your head.

              I don’t agree with all of it, but I can see the point very clearly. Which is: when much or all of FreeBSD starts resting on top of systems developed primarily for Linux, that are Linux-centric, it ties the fate of FreeBSD to Linux. Which is possibly dangerous in future terms to be so tightly wound into systems that do not have FreeBSD’s interests at heart. Linux is funded now, primarily by large corporations and big businesses, that for the most part could not give a shit about BSD or it’s userbase – their only motivation is Profit, and having a large workforce developing most of an operating system for them largely for free aids them in that. At the moment, Microsoft seems to be trying to do Embrace, Extend, Extinguish directly on Linux, after ignoring it for three decades. Poettering et al – i.e. the builders of large pieces of Linux infrastructure, not only tend to not give a shit about the BSDs, but Poettering is on record saying that UNIX as a whole is a dead philosophy.

              Ten years from now, what will become of FreeBSD? Will FreeBSD be a Linux-lite™? Will Linux even exist? Because currently, that’s the path that we’re on and that’s what has a reasonable chance of occurring. How long before Linux itself is unrecognizable, not because of technical concerns and the need to push forward, but because the motives of profit have pushed it in a direction more favorable to large corporations? And with FreeBSD so tightly coupled to Linux, will FreeBSD be pushed into the same place?

              1. 3

                Poettering is on record saying that UNIX as a whole is a dead philosophy.

                This is an entirely valid standpoint. OS development should not reach its apotheosis in a student-run hack for a very cheap mainframe.

                1. 2

                  Poettering is on record saying that UNIX as a whole is a dead philosophy

                  Can you give a citation for this one? The closest thing I can think of is very much the opposite where they try to ground systemd in the UNIX philosophy. But I’m not very plugged into that kind of discussion, so you’re probably right, I missed it, and I’d be curious to read the source if you could link it.

                  If you can expand a bit, I’d also be curious to know where you think FreeBSD comes from if not corporations motivated by profit? BSDi (later Wind River) wasn’t exactly some cooperative of BSD users. It was a for-profit corporation. Saying ZoL is more problematic than clang seems to be splitting hairs. Both seem less problematic than netgate’s wireguard port. And the netflix networking contributions also seem motivated by profit. Do these backers give more of a shit about “BSD or its userbase” than the corporate backers of Linux? If so, how does it matter?

          2. 9

            I was going to write a long response to this, but this guy pretty much sums up my feelings

            1. 5

              because not only do I not want to pay thousands of dollars for cheap designer status symbol trash that is macOS and its fischer price interface, but because this elitism among developers has led to the desktop being patently ignored by many

              I’m no big fan of the trends in Mac OS these days, but come on, a little self-awareness here.

              1. 4

                As a really, really long-time Linux user I find this a little amusing. I remember BSD users telling me earnestly in the late 90s, early 00s how Linux was doomed b/c the BSDs are soooo much better. Not so much, I guess.

                The author complains about similar things here, such as “GNU/Linux does prepare to move to new tech all the time in a never ending treadmill of trying to fix by replacement instead of actually confronting the underlying issues” but at the same time “we have no BSD-native answer to say, GNOME, QT, Firefox etc.”

                On the one hand you have a large community that is continually trying to re-invent itself. On the other you have a community that seems to be largely looking backwards and trying to define itself by what it isn’t. (e.g., not Linux.)

                I’m also skeptical when people start carping about CoC issues, especially somebody who acknowledges being banned for “conduct issues.” Typically it’s not easy to actually get thrown out of a project for conduct issues, and if you have I’m inclined to think you’re not a peach to work with.

                “Can we trust the GNU/Linux community to be better to us than it has?”

                I mean… the real thing here is that the author seems to want the Linux community to cater to the BSDs in their effort to… not be part of the Linux community. I am happy for people to use whatever OS makes them happy, and I’ve always hoped that the BSDs would survive and thrive because variety is good.

                But the request (if I can tease it out of the author’s post) is to make Linux less… Linux-y. They seem to have gripes with D-BUS, systemd, etc. and other dependencies that are common with Linux. It’s not the Linux community’s responsibility to make things less useful / interdependent so that the BSDs can consume them.

                If the BSD community doesn’t have the critical mass to be self-sufficient it’s poor form to complain that the community they’re trying to avoid being part of isn’t responding to their needs sufficiently.

                But, that’s not new to me. As I alluded to earlier, I was told point-blank more than 20 years ago that Linux was doomed by a NetBSD contributor who was staffing a BSD booth in a .org pavilion paid for by a Linux vendor, at a Linux event.

                1. 1

                  I’m not sure I like the Linux bubble reinventing themselves. All backwards-incompatible changes I remember in the last years haven’t been good.

                  Also I hate to be one going “everything was better years ago” - but I’ve been using Linux as a desktop OS (and daily driver for work) for so many years, I’ve always been happy (but only because I don’t need 3d performance). The BSDs are missing the “hard things”, support for a wide range of software and (graphics) drivers. There’s a reason why my main private computer still runs Windows and not even Linux. The things I want to use work (at all) and the things I don’t need daily (software development) I can still do via SSH or other remote tools.

                  1. 1

                    The BSDs are missing the “hard things”, support for a wide range of software and (graphics) drivers

                    Care to give examples? FreeBSD’s GPU support isn’t that far off Linux’ and shares a lot of the code (and for proprietary drivers, is supported officially by nVidia, including . I believe CUDA support is included in the drivers, but the toolchain is Linux-only and so you need to run it in the Linux compat layer.

                    The biggest obstacle on the software side is Google’s resistance to taking *BSD patches in Chrome. The patches to support Capsicum in the sandboxing logic were about 100 lines of code, at least one order of magnitude smaller than any other platform, but Google refused to take them. This has a huge knock-on effect on anything that uses Electron (though as of a few months ago, there is now a version of Electron in ports).

                    1. 1

                      Maybe I was overly vague when I shouldn’t have been. Games, simple as that. If I buy an RTX 3700 or equally fast ATI card I want the same performance (maybe -5%) as on Windows. And that’s usually not the case, or at least not in the first 6 months after the cards are releases. And it completely ignores the fact that there has to be a linux version or working wine version of the game in the first place.

                      Call this a one-sided approach, but if it wasn’t for games my main computer at home would’ve been running Linux or BSD for the last 10 years, probably longer.

                  2. 1

                    As a really, really long-time Linux user I find this a little amusing. I remember BSD users telling me earnestly in the late 90s, early 00s how Linux was doomed b/c the BSDs are soooo much better. Not so much, I guess.

                    I’d argue that in the late 90s/early 00s it really was. By this time FreeBSD was already a solid well-documented and consistent system (well, as consistent as Unix gets anyway), whereas Linux was … not so much. At this time I found getting started on FreeBSD a lot easier than getting started on Linux for example.

                    Since then, a lot has changed though and today I find there is little difference except various details and various fairly specific use cases (i.e. the TCP/IP stack is supposedly better on FreeBSD, or at least was, I don’t know if this is still the case).

                  3. 4

                    “I also, once upon a time, maintained some ports before getting banned for “conduct issues”’ and “How about you stop with the intimacy like you know me, unless you’re too chicken to tell me who the hell you are.” … This guy is toxic.

                    1. 1

                      The criticisms ring true to me, but I’m not sure how to fix them or what can be done.

                      1. 1

                        I empathise with this rant, aside from point four. The browser situation, while not unique to the BSDs, is a material pain that’s starting to feel dire.