The problem (for those who are unaware of it)

Moved it to the end, to keep the focus on the solution.

Solution

GNU is a desktop OS that was never completed. Linux is a desktop OS that was never completed.

GNU/Linux is a hybrid OS.

Musl, etc. are libraries that were never OSes.

  • So Alpine would be a Community/Linux OS.
  • Debian would be a Community/GNU/Linux OS.
  • FreeBSD would be a Community/BSD OS.
  • Ubuntu would be an Enterprise Community/GNU/Linux OS.

I was thinking ontologically to resolve this problem. It is often confusing to explain to ordinary people why Linux has so and so differences and so and so commonalities, and then the community gets toxic once you get to whether it’s GNU or Linux.

So I think this is a good solution that solves the argument of calling it systemd/Freedesktop/KDE/LightDM/GNU/Linux or the other party that says it’s either GNU or Linux alone.

Why can’t you include GNU in the Community?

Because GNU was an independent OS, and the project did a lot for software freedom, and it was even pivotal to the success of Linux, yet the community does not honour their wish to mention their names, because of aesthetic problems. GNU has never self-identified as a component collection like Freedesktop.

The problem (for those who are unaware of it)

Not everyone may be aware of this, but from the time GNU and Linux based hybrid operating systems became a thing, there was a debate about what they should be called. An OS has a kernel and the userland. Both GNU and Linux were independent operating systems, both of which were never completed.

GNU was a project by FSF under Richard M. Stallman to replace the proprietary UNIX OS. Linux was a hobbyist project by Linux Torvalds to make an OS that would run on the Intel 80386 CPU, while BSD/386 was facing a lawsuit from AT&T for releasing proprietary UNIX source code. GNU was planning to make a microkernel based OS, and it was planning to develop the kernel slowly, while Linus started Linux from the kernel side, with a monolithic architecture.

Since Linux was free software and could run directly on the new hardware, it gained the support of the hacker community, who added patches to the GNU userland to make it work with Linux. But when Linux finally became an OS with the help of GNU, the hacker community said they only care about Linux, not the GNU programs, and gave no recognition to GNU.

Because of this, Stallman asked the distributions to be called GNU/Linux, and that sparked flame wars because of how it is bad to pronounce, and how a distribution has many components beyond just GNU, and that therefore the kernel that runs on the hardware is what should describe the OS, and further several ad-hominem attacks on the personal life and behaviour of Richard Stallman.

Eventually, the name Linux caught on, but sympathizers of GNU are requested to call it GNU/Linux. This continues to be an unresolved, but sidelined dispute that seems unfair to GNU, especially considering most “Linux programs” are actually dependent on GNU GLIBC, and won’t run on the other Musl LIBC based systems. Anytime someone mentions it, because there is no easy solution to it, it turns into a flame war.

  • Captain Beyond@linkage.ds8.zone
    link
    fedilink
    arrow-up
    4
    ·
    4 hours ago

    I don’t know if grouping disparate projects under the “community” label has any worthwhile benefit. Given the label is meant to classify related operating systems, the label should provide an accurate description of the basis of the system. A simpler solution would be to just say GNU/Linux is a subcategory of Linux (and maybe even sub-sub-categorize by package manager or init system or whatever makes the most sense). Similarly, I think Android and its derivatives are worthy of being its own classification of Linux operating system (as long as you don’t try to claim “it’s not real Linux” or whatever).

    With regards to software compatibility, I think it’s rather the other way around - software written for “Linux” usually works on any POSIX operating system, and sometimes even Windows. Unless you’re talking about binary compatibility, which is meaningless in the Linux space anyway.

    • jyoskykid@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      4 hours ago

      Given the label is meant to classify related operating systems, the label should provide an accurate description of the basis of the system.

      Which is one of the reasons why specified GNU/Linux separately from just Linux for Alpine, instead of calling it Musl/Linux.

      If a software is written for just Linux, it will work on either system. But if it is written for GLIBC, it work work on Musl LIBC based systems.

      Programs linked dynamically with Musl LIBC won’t work on GLIBC based systems too, but considering the trend of everyone using GLIBC, those who build for Musl LIBC would state it explicitly, compared to programs released for GLIBC, which ambiguously only say that it is built for Linux.

    • jyoskykid@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      4 hours ago

      software written for “Linux” usually works on any POSIX operating system, and sometimes even Windows. Unless you’re talking about binary compatibility, which is meaningless in the Linux space anyway.

      In practice, as a person who uses Musl LIBC and the Runit init system, most “Linux programs” don’t even work on it, often even if I try to build it from source because of their dependencies on GLIBC. GLIBC is a very hard dependency that most people overlook when writing software.

      And many programs even have a hard dependency on systemd, to a lesser extent. Even that too only works on systems with GLIBC, and cannot be used with any other LIBC.

      • nous@programming.dev
        link
        fedilink
        English
        arrow-up
        7
        ·
        5 hours ago

        Why not also recognize systemd, or musl, or kde or gnome or any of the other millions of non GNU packages that are needed to make up a complete OS.

        Fuck if I am going to rattle off all my installed packages every time I want to mention what OS I am running. Linux is good enough. People know what you mean when you say it. And these days GNU makes up less and less of the core packages that most distros run anymore.

        Also the copy pasta that this all stems from explicitly calls out eliminating nonfree programs which most popular distros do not do these days:

        Making a free GNU/Linux distribution is not just a matter of eliminating various nonfree programs. Nowadays, the usual version of Linux contains nonfree programs too. These programs are intended to be loaded into I/O devices when the system starts, and they are included, as long series of numbers, in the “source code” of Linux. Thus, maintaining free GNU/Linux distributions now entails maintaining a free version of Linux too.

        And they even link to a vanishingly small number of approved free GNU/Linux distros. Of which non of the mainstream distros are listed. So can we really label anything not on that list as GNU/Linux?

        • Captain Beyond@linkage.ds8.zone
          link
          fedilink
          arrow-up
          4
          ·
          4 hours ago

          Why not also recognize systemd, or musl, or kde or gnome or any of the other millions of non GNU packages that are needed to make up a complete OS.

          Unironically there might be some value in recognizing “systemd/Linux” as a subfamily of Linux operating systems.

          And these days GNU makes up less and less of the core packages that most distros run anymore.

          Linux makes up exactly one package on a so-called Linux system.

          • nous@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            ·
            4 hours ago

            Linux makes up exactly one package on a so-called Linux system.

            True, it was a poor proxy for what I really meant - which was the amount of code that my system runs. Linux as a project is growing quite fast these days and is getting bigger and bigger. But the number of GNU tools I use (and thus their code that I use) is growing smaller and smaller.

        • KeriKitty (They(/It))
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          4 hours ago

          Very agree here. Less and less is actually GNU, so by what metric do we have to include things? “GNU is an OS?” I’m running two at once? No, it’s three, some of this software comes from BSD. Or is it more? Maybe I’ve got tools developed on/from/for other OSes still! Hell, I’ve got Windows software on this system. Gotta tell everybody I’m running GNU and Linux and BSD and Windows and (…) 🤦

          This naming “debate” is absurd.

          Edit: I meant to say, it’s really getting too late to push the naming issue as a means of making people recognize how much of “Linux” is GNU, considering the connections are decreasing. Even the kernel builds with clang these days, GNU tools and libs get replaced… I don’t know that I’m happy about this, but it seems plausible (at a casual glance from a non-expert observer) that GNU’s practically on its way out. On the other paw, I’ll be glad to never hear about this naming “issue” again if everything GNU gets buried.

          • jyoskykid@sh.itjust.worksOP
            link
            fedilink
            arrow-up
            2
            arrow-down
            2
            ·
            edit-2
            5 hours ago

            That’s where the history matters. If you applied patches to the GNU project to make it work with Linux, how does the resulting OS become Linux in the end? Linux holds a special place in that regard because it makes the kernel layer, but it doesn’t completely invalidate GNU.

            Even this commented asked the question of how we call OSs not approved by FSF as GNU/Linux distributions, showing how he does not understand what the idea even implies. GNU is not a political movement, FSF is.

        • jyoskykid@sh.itjust.worksOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          5 hours ago

          Also, the distros listed there are just FSF approved free GNU/Linux distributions. That is regarding what GNU/Linux distributions you must use, and not a description of what GNU/Linux distributions there are.

        • jyoskykid@sh.itjust.worksOP
          link
          fedilink
          arrow-up
          2
          arrow-down
          2
          ·
          edit-2
          5 hours ago

          Just read the post dude. I made it easy to read first, then others asked what the problem was, so I had to add it. I guess I’ll put it at the end instead.

          Musl, systemd, Freedesktop, etc. were never OS projects. GNU and Linux are OSes.

          Also, most “Linux programs” don’t run on Musl LIBC based distros like Void Linux musl edition, which I’m using, and I’m considering returning to the GLIBC edition for my sanity.

          • nous@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            1
            ·
            4 hours ago

            Musl, systemd, Freedesktop, etc. were never OS projects. GNU and Linux are OSes.

            What the hell makes a project an OS project? What even is an OS - that is a debate as old as computers. What makes GNU more of an OS than systemd or musl or anything else? GNU is not a complete OS on its own. It has failed to meet that goal for decades. Is it just because it claims that title? Are the other projects just not ambitious enough? Hell why are we not raising pitchforks at GNU for being a all encompassing project that wants to consume everything like everyone complains systemd is trying to do?

            The lines drawn here are meaningless and arbitrary. GNU is no more important to my systems as any other project mentioned here and makes up no more of my system then they do. I don’t see why so many are obsessed with singling out GNU and explicitly excluding everything else. It is a pointless distinction created by a guy that was pissy that his pet project was not getting the attention he thought it deserved.

            • jyoskykid@sh.itjust.worksOP
              link
              fedilink
              arrow-up
              2
              arrow-down
              2
              ·
              4 hours ago

              Yes, GNU is not a complete OS, but neither is Linux, but we call it as such.

              Hell why are we not raising pitchforks at GNU for being a all encompassing project that wants to consume everything like everyone complains systemd is trying to do?

              The reason is ultimately the actions of the Linux community from the beginning itself. Had they been fair, we would’ve referred to the project as GNU/Linux from the beginning itself.

              There’s no point in going back to change any contemporary label for accuracy, we only have to do so if there is a sense of unfairness in the label. That is the case here.

              It is a pointless distinction created by a guy that was pissy that his pet project was not getting the attention he thought it deserved.

              If Stallman was like AT&T who filed a copyright on BSD/386 for using their work, he wouldn’t have caused this. The entire principle of trademarking exists for this reason. It’s only when a person tries to help other people that they get sidelined. It is our responsibility to give the original developers the due respect.

              As for systemd, it was always created as an init system for the GNU/Linux OS. I use Void Linux musl edition with Runit init system, and it could not be replaced with systemd because it depends on GLIBC.

  • Andrew@piefed.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    5 hours ago

    Just curious: how would you classify Chrome OS? As Community/Linux or Community/Linux/Chrome (to recognise how much heavy lifting the browser is doing). And would you want to call Google’s additions ‘Community’ or something else?

    • jyoskykid@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      5
      ·
      5 hours ago

      Chrome OS would be a Proprietary Community/Linux OS, and Chromium OS would be a Community/Linux OS. Chromium is a community project that’s added to the Gentoo base.

      By Community, I’m referring to the free community projects, not just any contributions.

      Windows for example is an Proprietary NT OS, but all Windows are NT based, so we can just skip the NT part.

      • Joël de Bruijn@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        1 hour ago

        If an historical timeline uses this labeling system it can’t omit the NT part though. Windows NiceTry came out in 1993 but also long after that MS had MS-DOS based editions (up until Windows Me iirc)

  • m4m4m4m4@lemmy.world
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    6 hours ago

    FreeBSD would be a Community/BSD OS.

    I don’t think *BSD folks would appreciate being involved in this discussion as they’re just a different ball.

    On the other hand, you just can do something silly and call everything LiGNUx, but even then people won’t be happy.

    • jyoskykid@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      2
      arrow-down
      2
      ·
      6 hours ago

      LiGNUx is unpronounceable. It’s kind of like xbwhfr.

      Linux is pronounceable, but the recognition of one of the founders who chose to market it while the other who fought for freedom gets unrecognised is unfair, and people can notice that.

      I mentioned *BSD because I’m solving this problem from an ontological level to address systems. If someone categorizes FreeBSD as a BSD OS vs BSD fork, there’s still a small debate that can arise from it. Calling it a Community/BSD OS gives attribution to the core team as well as the original BSD team. And all of it remains easily pronounceable as well.

      You wouldn’t call it GNU slash Linux, but a “community developed GNU and Linux based OS” and just Linux for referring to the Kernel. Most apps for example run only on GLIBC, and therefore calling them Linux apps doesn’t make it inclusive of Musl LIBC based systems.