In Defense of Debian

This is in response to a couple of things. First, some discussion on a recent BDL, that I did not participate in, sadly… or maybe not ;), and second, a couple of off-hand remarks made in Episode #9 (Deepin) of Linux User Space.

I get a sense that many in our community simply do not know much about Debian, nor do they understand how the project is organized and how it functions.

Many statements made in passing over several months have led me to write this, the specific things that might have been the proverbial “straw that broke the camel’s back” were probably some of the discussion about how Ubuntu should re-base on some other distro and also some comments about “Debian Unstable” and the lack of understanding about what that means.

(Side note: this is all in fun. I am not actually angry. As a LONG time Debian user, I do hope to provide some information and context though. Also, I should probably disclaim that I primarily use Ubuntu now and not Debian, but Debian still holds a special place in my heart. ::tear streaming down cheek::slight_smile:

Let’s start with Debian’s “Unstable” moniker. It probably doesn’t mean what you think it means. We often talk about the relative “stability” of Linux distributions when we are referring to how reliable they are. That’s not what the “Unstable” in Debian means. It is solely referring to the frequency of package churn. Good or bad, the Debian packaging guidelines are very strict and also strictly policed. If your software does not meet the guidelines, it will NOT be accepted. The ONLY repo that new software can be accepted into is the Unstable repo. More on that below.

One of the frequent criticisms of Debian is that the packages are “too old” or “too stale”. If you are someone who thinks that, I would argue that you probably need to learn a little more about it. On a somewhat recent prominent Linux podcast (I would call it out if I could remember which one!) someone made the comment that “Debian should have a rolling distro”. But…. Debian Sid (Unstable) IS a rolling distro! It’s pretty much the original rolling distro!

Perhaps some anecdotal experience would be helpful. I have, at times, and for reasons, run Debian Sid on machine’s for longer than 3 years, without a single crash or reboot beyond kernel updates.

Hear me: Debian Unstable is more stable than a great many Linux distribution’s so-called “stable” releases.

Debian packaging and releases work like this:

  • A developer (or other maintainer) must first conform to all of the stringent Debian packaging guidelines to get their software accepted into the unstable repo. That is hard enough and ensures some measure of quality although it is also a source of contention to many developers who would like it to be easier to get their software distributed by a major base distro like Debian.
  • A snapshot of all of the packages intended to become the next “Stable” Debian get “promoted” to the “Testing” branch where even more stringent testing and requirements are enforced. It’s difficult to even get a newer version of software into Testing once it’s in place. They aren’t allowed to be added for feature set or any kind of cosmetic update. Really, if a version in Testing is going to change, it’s most likely because of a security or dependency issue and much consideration goes into it.
  • By the time a Debian Testing is promoted to Debian Stable, the packages have been frozen in Testing for a great while (in Linux terms at least).

“But… aren’t you just admitting that Debian is old and stale?”
Kind of. Understand this… for the majority of the tinkerers and gear-heads that are in a community like this, Debian Stable is not meant for you. You want the latest features, the latest just-released software, to try out that brand new theme on the very latest Plasma desktop, etc. Debian stable is meant for the University IT Director who has to maintain 10,000 Linux machines with a handful of paid staff augmented by student volunteers or that Enterprise IT Exec with 4000 Linux servers and a fleet of workstation applications that is routinely maintained for 10+ years. Something like an Arch Linux or a Fedora is completely unmaintainable It would be a support nightmare.

Remember,

  • Ubuntu standard releases are based on Debian Unstable
  • Ubuntu LTS releases are based on Debian Testing! (and still some packages from Unstable thrown in)

Some (again, anecdotal) points from my experience (20 years working mostly with Linux):

  • As far as stability, as in reliability - Debian Unstable is definitely more stable than Arch, probably about on par with Manjaro or slightly more solid (for some of you spitting out your coffee and yelling at the screen, I DO say this with a significant amount of experience and no ill-will whatsoever towards Arch).
  • The stability of a standard Ubuntu release falls somewhere between Debian Unstable and Testing.
  • An Ubuntu LTS release starts out about on par with Debian Testing but gets more and more stable as it lives on because Ubuntu is excellent at providing updates and fixing bugs. Given enough time and age, an LTS will eventually reach parity in reliability with Debian Stable but by then they are both very old and proven. :slight_smile:
  • The Debian security team is one of the most responsive and fastest to get serious security issues fixed, EVEN on their dinosaur versions of software! :wink:
  • In terms of just plain rock-solidness, it’s honestly hard to compare Debian Stable with other distros… not even something like Red Hat Enterprise Linux really competes. There are, I think, special configurations of some of the big players like Red Hat and Suse that can compete, but only those special configurations.

The beautiful thing about Linux as opposed to other operating systems is how there such a variety of distributions out there catering to every specific need or want.

Rather than criticizing why distro B doesn’t work exactly like your chosen and favorite distro A maybe learn a little about what that other distro’s intended purpose is and find the appreciation in it, even if it’s not for you.

As for Debian, I can assure you that Debian does not have far and away the most distributions based off of it because they aren’t doing anything right. There is a reason it forms the core of a ridiculous number of secondary and tertiary distros.

If you actually read this far into my worthless $0.02 worth of opinion, I thank you and cheers! :wink:

8 Likes

Great post - Well said.

3 Likes

I run Debian Sid for almost 12 months without any issues myself, it broke because I was overseas for 3 or more weeks, I then updated in the GUI which apparently is the wrong thing to do, I was told I should have dropped to a tty and all would have been ok.
Appreciate the post, very good information.

4 Likes

@John.Andersen, I appreciated your post, thanks for taking the time to write it. I kind of feel like it would be worth while for some of the podcast hosts to give Debian Unstable a real world test drive. I remember an interview, a few years ago on one of the Linux podcasts where they interviewed the Debian Project lead at the time. I’m pretty sure I remember him making the comment that he runs Debian Unstable as his desktop distro.

It has been a while, but I ran Debian Unstable, back in 2006 and 2007 I believe, on one of my older machines with Fluxbox as my window manager. I ran it without any issues at all. It worked great. I considered doing the same for the newest desktop that I put together, but ended up with MX Linux 19.2. I’m amazed at what they do with Debian as their base, and their Fluxbox implementation is polished with so many of the enhancements I would have done if I built my own on Debian Sid. MX has some amazing community packagers as well, who provide you with the later versions of the software you care about the most to have as the latest, while still giving you Debian Stable underneath it all. I’m not quite sure how they pull it off, but it really is amazing how well things work on MX when you run these newer programs on the Debian Stable base.

You made some great points in your post, and I really enjoyed reading it. Thank you for helping to explain the Debian development cycles and staging that they do, so that you can have the best base for your purpose.

1 Like

Thanks @mowest! MX is a distro I would like to spend some more time with. It looks pretty great.

As far as how they pull it off, not in any way to minimize the amazing amount of work they’ve put into their distribution, but I suspect they are doing a more involved variation of backporting, which Debian actually makes quite easy. If you need a newer version of a software application (or kernel, or whatever) than is in Debian Stable, the first place to go is the “backports” repo. The Debian team makes quite a few useful and popular packages there. But if what you need is NOT there, you still don’t have to break stable. You can activate the unstable source repos, install the “build-deps” and source package of whatever software you want, patch the source code with extra code if needed, and build a new package compiled against stable. (I know that sounds pretty Gentoo-ish or Arch-ish but it’s actually quite a simple procedure most of the time).

1 Like

@John.Andersen, I think you have hit upon some of the “magic” they do. They have an MX specific tool for installing packages, because it does all of the work to install the more updated versions of packages. It is a tool that you can use to search Debian Stable, Debian Backports, Flatpaks, and their own MX repos. I believe that when there is a newer package in the MX repos that they will turn on Unstable to get the needed dependencies, and then turn it off again. MX often has the newest version of Firefox packaged and ready to go before the Fedora team get it into the their repos. My teenage son has been doing development for MX specific tools, but then often doing most of his other development on MX as well. There have been a few times when he boots up an Endeavor (Arch based) install mostly so he can try using some of the latest in auto complete tools that have come out for developers. I’m really enjoying my time in MX and have been doing testing and documentation for the part of the MX team that works on their MX Fluxbox environment. They have taken all of the work out of setting up a fully featured Fluxbox to the point it behaves like a full fledged desktop environment for the most part. The MX devs have really carved out a unique place for their distro by “scratching their own itch” most of the time.

1 Like

I haven’t taken their FluxBox variant for a spin yet but I want to. Some nostalgia there for me… I used FluxBox (and BlackBox) as my primary WM for quite a while.

From what I’ve seen I really love what MX has done. It kind of seems like their vision is similar to what Ubuntu’s was in the beginning. That is, making Debian accessible to the average user and with updated packages handled for you. I love that. It’s not really for me because I just like a more minimalist approach and also… I’ve been on Debian (or Ubuntu) for so many years that it just feels like home. I don’t really need the extra TLC provided by MX but I’m glad it’s there nonetheless. Also, my usage profile is just different than most of the Linux tinkerers. While I do run Linux on the desktop and love it, the vast majority of my use is run-of-the-mill server systems where I do not need (or want) the latest up-to-date packages or features. They just need to run and run and run, with as few problems as possible, year after year. For my needs, Debian Stable, Ubuntu LTS, RHEL, and occasionally CentOS have been a perfect fit.

1 Like