Adrian Kuschelyagi Malacoda. This identity is retired.

  • 0 Posts
Joined 3Y ago
Cake day: Jun 30, 2020


I’m a little bit on the fence about this. I use linux-libre on my desktop and laptop (because I bought hardware specifically for it) but I recognize the limitations of linux-libre for “normal” users or Windows migrants, so I’m loath to try to suggest a linux-libre distro as a beginner’s GNU/Linux.

I’m thinking having vanilla Linux with non-free drivers/firmware would make libre distros more accessible to “normal” users, so I’m not sure I’m 100% opposed to this. However, I’m cautious of this being a slippery slope. Someone says they need Steam or MS Office or Discord or whatever other non-free thing to function correctly and distros are now pressured to accept non-free userland programs, because they already made the concession to allow non-free firmware. There would need to be an acknowledgement that enabling hardware to function is a special case and not an invitation to allow all sorts of other non-free stuff in the distro.

With Guix System, which is an FSDG distro (more strict on software freedom than Debian), there is a third party channel that offers vanilla Linux with non-free firmware alongside other non-free userland software. I’ve considered separating Linux into its own channel and advertising it, because while I’m open to allowing non-free firmware for the purpose of enabling hardware I’m still vehemently against non-free software elsewhere.

I don’t agree with this position but I also don’t agree with the attacks against them for having this position. It’s not “pathetic” that they don’t implement features you want. The point of free (libre) software is that you don’t have to share the position of the upstream developers, as you can make a fork that has the features you want. That is what has happened with NewPipe.

Unfortunately this is an uphill battle, even here people are just going to call the system “Linux” because of brand loyalty or just because that’s what they’re used to.

Keep in mind also, “Linux” is not strictly speaking incorrect as long as you keep in mind, it technically refers to just the kernel, or more broadly to the family of systems that use said kernel (the definition Wikipedia gives it, which is repeated in the sidebar here). GNU/Linux systems are a subset of Linux systems, but Linux systems also include Android and Alpine variants as well as things like OpenWRT and other embedded applications. Linux is a very versatile tool.

Just keep in mind, Linux is not an operating system or platform in and of itself, none of the userland libraries or applications are “part of Linux,” you can’t really make apps for it (nor should you really want to), you can’t treat different Linux systems as interchangable (especially if one or both aren’t GNU/Linux) and just because a particular Linux system isn’t your preferred type of Linux system does not make it “not real Linux” (looking at you ! )

> no F-Droid link

> no source code repository

GNU Guix System, for the following reasons:

  • User-level management of packages, i.e. each user has their own profile which contains their own installed packages, which is separate from the set of system packages. i.e. no need to be root to un/install packages

  • Commitment to GNU Free System Distribution Guidelines, meaning no proprietary software, proprietary kernel bits, or promotion of such - which I’m aware some see as a negative but I specifically purchased Linux-libre compatible hardware for this reason.

  • Source-based package manager with an option for retrieving pre-built packages (“substitutes”) from build servers. Any Guix machine can become a build server.

  • Packages can be built from a specified git revision, or with a specified patch, etc.

  • A package is just a variable defined in Guile Scheme. A package repository (“channel”) is just a git repo containing a collection of packages.

  • Declarative configuration of system i.e. kernel, packages, services, users, etc.

  • Un/installs are atomic transactions, they create new generations of profiles that can be rolled back. Same goes for system configurations. Each system “reconfiguration” actually creates a new entry in the bootloader so if it breaks you can boot into the previous system generation and manage it.