The Distroless Linux Future May Be Coming

Over the decades the number of Linux distributions has effectively exploded, from a handful in the late ’90s to quite literally hundreds today, not counting minor variations. There lately seems to be a counter-movement brewing in response to this fragmentation, with Project Bluefin’s Distroless project being the latest addition here. Also notable are KDE’s efforts, with KDE Linux as its own top-down KDE-based distro, but now with a switch to BuildStream from Arch likely as a distroless move.

It should be clear that there is no obvious course here yet, and that opinions are very much divided. The idea of ‘Linux’ becoming a more singular OS appeals to some, while to others it’s the antithesis of what ‘Linux’ is about. This much becomes clear in [Brodie Robertson]’s exploration of this topic as well.

The way to think about ‘distroless’ is that there is a common base using the Freedesktop SDK on which the customization layer is applied, such as Bluefin, KDE or Gnome’s environments. You could think of this base as the common runtime, using the Freedesktop standards for interoperability for a user-selected layer that’s installed on top. This way the idea of basing a distro on a specific distro is tossed out in favor of something that’s vaguely reminiscent of the Linux Standard Base attempt at standardization.

It’ll be fascinating to see how things will move from here, as there are definite arguments to be made in favor of less fragmentation and resultingly less duplicated effort. In many ways this would bring Linux closer to for example FreeBSD, which avoids the Linux Chaos Vortex problem by having a singular codebase. FreeBSD ‘distros’ like GhostBSD and NomadBSD are therefore essentially just specialized customizations that target a sub-group of FreeBSD users.

Of course, when we start talking about package managers and other base-distro specific features, we may very well risk igniting the same problems that tore apart the LSB so many years ago. Will we also standardize on RPM over DEB package files and kin, or something else?

95 thoughts on “The Distroless Linux Future May Be Coming

  1. Yea that will last about 15 mins from the time it releases. Linux releases and FOSS inherently cannot settle on 1 set of features because there are always contributors that want things to go in another direction. There will be other distros just because someone doesn’t like that there aren’t other distros.

    1. Linux contributors are one of the most detrimental groups to the success of Linux, they all seem to have some weird axe to grind and the moment they don’t get their way they split off and create yet another half-assed distro with insufficient support / resources. We don’t need more linuxes, we need a few really good ones.

      1. If you want a centralized OS, use one of the centralized projects like chromeos or android or windows or macos. It’s not bad that the things that aren’t that, aren’t that.

      2. absolutely categorically feck off. I write open source software I need, that solves my problems, I make it freely available, if there are bits you like, you are free to take it, otherwise write it yourself. we aren’t here to serve the entitled needs of those that don’t contribute and just whinge about those who do the work.

        you want something to work a specific way, I bill at $220 an hr.

          1. Nothing they said is wrong and their irritation is completely justified.

            If you want to experience a small fraction of the demands and entitlement FOSS developers deal with: post a few “free, come and get it” items on your local online marketplace.

          2. No, this attitude underscores why it’s NOT a problem. A “standardized” Linux is a solution in search of a problem. The people who have developed all the components of Linux have done so exactly because THEY have a problem they need to solve. If any group decides that their contribution isn’t needed in Standard Linux, they’ll just keep going regardless. You want to try Linux, just pick one. You don’t, nobody will be bothered.

    1. I knew which comic that was before clicking it. One of the most used ones, together with the one illustrating the entire web being balanced on top of one tiny library maintained by one dude in Minnesota or whatever. Let’s hope he doesn’t get hit by a bus.

  2. Can I have something with no Freedesktop software AT ALL? Basically everything they produce is an overcomplicated, unnecessary layer over stuff that works fine on its own. systemd is OK, but overengineered. D-Bus is an abortion. Wayland is mostly pointless. Polkit is another abortion. NetworkManager adds zero value over scripts (and it took about a decade after distros started trying to ram it down my throat before it could express most of my desired configurations).

    The whole assumption that there’s a “desktop” is just an annoyance to begin with.

    1. “The whole assumption that there’s a “desktop” is just an annoyance to begin with”
      yep.

      The whole problem with many of the current distros is they have gone the ms windows route of bloat bloat bloat.. And layer on top of layer..

      It’s why – unless I need something smaller for a specific reason – I only install Arch nowadays and add anything extra I need..

      So the linux uses go from small embedded hardware through to wanting a ms windows replacement.. The common core proposed would have to be small to cope with that range – and getting something small enough to do that, while big enough to be used as a base for all systems, may be very very challenging. Yet in recent years it has moved in the opposite direction, ie even the kernel is getting bigger and bigger…

    1. This is someone summarising linux news, that’s a service, much like “the news”. We don’t all spend every day following the kernel mailing list or the git commits of every project we use, or whatever other sources you’re constantly polling. Someone providing a useful service by giving headlines and summarising recent developments is not parasitic. Actually it’s even what this website does.

    1. well now I think: KUbuntu, Fedora and PI OS (build on Debian) forever :D .

      Anyway, choice is good. Very good in fact. Pick on that floats your boat and allows you to get your work done. Simple.

  3. I feel like this article, and the discussion it highlights, either miss the point or can’t see the forest through the trees.

    Let’s first skip the part where a ‘distroless distribution’ makes no sense.

    Suggesting that we should all be starting with a common base then customizing it is a really great idea…
    … which is why the whole distro system we have built already functions like that.

    We already have ‘core’ distros that get built out.

    We can’t distill those down much further because they exist for different purposes.

    Alpine and Debian serve different needs.
    Arch exists for a reason.

    There are certainly parts of the hierarchy that could be distilled down to reduce user fragmentation and help to make Linux less overwhelmingly diverse.
    But to do that we have to MAKE Linux less diverse on purpose, which is a problem.

    There is no One right way to do something.
    And if we try to create an environment that tries to control or enforce a single way, eventually there will be enough back pressure that people will just branch out on their own again.
    Which is how we got Linux to bein with.

    1. +1

      Particularly the last paragraph. Which is beauty of open source. We may have a time when core distro share is dominated by a single player meeting most of our needs, but eventually it fragment again as needs and priorities change.

      1. The downside of diversity for the sake of diversity is that it’s hard to find the “perfect” option out of a fragmented many: in all probability your first pick will go wrong and you choose something that doesn’t suit your purposes.

        You’ll only know after spending time and effort learning the system, at which point you tend to fall for the sunk cost fallacy and keep on using whatever bad choice you made because you’ve spent so much effort digging yourself into that hole and getting out of it would take un-learning and changing habits.

        1. i don’t think it’s diversity for the sake of diversity…i think each branch of the tree has its own reason. People walk into a room full of blue balls and they don’t say “diversity is good so i will make a red ball”, they say “i want a red ball but all i see is blue ones, ugh i have to make my own.”

          Anyways i think your hypothetical person who is stuck having learned a bad system is actually unduly rosy. I think most people these days, certainly many of the hackaday writers, are averse to learning anything. They just install a new distro for kicks and grins. The lock in to what you know is avoided by knowing nothing.

          Anyways i think if you learned it, it isn’t bad. And if you find that it is bad, then the process of learning that it’s bad will point the way you want to go in the future. Your struggle always takes place where you’re standing, and that’s alright.

          1. Anyways i think if you learned it, it isn’t bad.

            Every problem has a myriad solutions that work but are less than optimal. Some work better, some much worse. Each of those solutions has a learning curve. Once you’ve mastered one solution, going back to try the others is just more work.

            If the difference in efficiency between two solutions A and B is smaller than the work you’d have to perform to switch from A to B, you will stick with solution A even if it’s the less optimal solution.

            What’s worse, you won’t even know the difference between solutions A and B until you try both, but it’ll cost you. You have to go by what other people say, and each group A and B are arguing their solution is the best, because from each vantage point the other solution looks worse.

          2. i don’t think it’s diversity for the sake of diversity…i think each branch of the tree has its own reason

            Perhaps, but those reasons may be good or bad reasons, and that has consequences for the people who have to choose without knowing in advance.

            The overall argument to why this state of matter is preferable is that diversity is good because it gives you options to choose from. That however is just a tautology. It is arguing diversity for the sake of diversity, without regard to what the options actually are.

            Being presented with choices without knowing how to choose is a bad situation to be in, especially if those choices may be wrong and costly mistakes that have a tendency to lock you in. The attitude of “caveat emptor” and “not my problem” that people take on this matter is really just them being a dick about it.

          3. The problem comes in where they walk into that room and don’t see the dozens of different red balls in the sea of thousands of blue balls, or even worse they see and pick a pink ball even though they wanted maroon because they didn’t see the maroon ball in the corner. A more unified core can look like a lot of different things but one of those things could be a modular platform that winds up being something like a paint mixing service – instead of needing to search for and find a niche distro that exactly fits your needs or settling for less, you can assemble a few modular components into your perfect setup. This is arguably what Bluefin and NixOS are trying to do, albeit in very different ways (and that’s ok too, you can look towards an idea like a distroless base without intending to implement it in its entirety, you could instead have a more modular approach to current “base” distros that lets people make their own niche “distros” as layers that sit on top of one of those bases instead of needing to be a separate thing that needs to port updates across from the base, again not unlike how you can layer images on to of Bluefin, or even how Bluefin itself is based on Fedora Atomic)

    2. There is no One right way to do something.

      At least you should pick sane defaults, so most people wouldn’t have to make choices that inevitably lead to fragmentation and balkanization. There is synergy benefits in doing things the same way, even if it’s not the most optimal way to each and every case.

      When presented with the need to make choices and pick options, people with little experience or competence first tend to make bad choices that don’t really work even for them, and then they come to defend those choices as a point of autonomy and habit: once you learn the trick, it becomes easy, and who are you to say it’s wrong? You just have to learn it and become proficient in it, and then you too will agree that it’s the correct way – even if you’re really doing it backwards and blindfolded.

      That’s how we get all the bad UI/UX design in FOSS, and why people keep doing competing projects (like linux distros) simply out of institutionalized disagreement rather than any rational analysis of the point. The “different needs” as you put it often converge to the same need, but done differently and in an incompatible fashion, just because.

        1. This is literally why there are different distribution and all of them allow for significant customisation. If fact, it’s only recently that the fresh users and developers have started thinking of distributions as a problem, and it’s usually because they don’t know what they are talking about. With few exceptions a distro is not a particular desktop. You can in fact install Debian and use whatever desktop you want, or none at all, and most distros are like this.

          Keep defaults, or don’t, it’s up to you.

      1. As an old Unix programmer and DBA, I ditched the Windows/Mac lockdown as soon as I retired and never looked back.

        As we do in society, I just try to ignore the infinite number of things that I don’t agree with and don’t affect me. Thousands of distros means I have the tools to shape things the way I want. In truth, every computer running Linux is essentially a different “distro” with a different mix of tools. To me, that’s as it should be.

        I’d like to see more “Windows-like” distros so more people can mature out of Windows/Mac childhood. But, of course, I would have no personal use for them. That’s Good!

        Computers are of greatest benefit when they serve each us as we need them to.

        1. There is a problematic subtext though. Many of the “distress” people only develop on Linux, they don’t use it as a desktop. Otherwise they would realise that name itself makes no sense. Then there are the developers, granted mostly young, who don’t feel like packaging for a distribution and have been sold on one of the many alternatives… That ultimately mean actual fragmentation on the Linux desktop.

          Are you aware that quite a few tools are distributed primarily on Homebrew now? These aren’t made by Linux users, they are leveraging Linux from a VM, and unfortunately some desktop developers do the same, the core Gnome team for example (even though they pretend otherwise).

          What I’m getting at is a decade ago people complained about fragmentation on Linux, but now it’s becoming a real problem that major projects are actively making worse. KDE no longer supports any stable build of their own desktop. Gnome wants to become a “platform”.

          I’m hoping Cosmic will bring some sanity to this, it’s not going to happen soon.

    3. Purposes?

      I used to use RedHat based distros. (like 20 years ago). Mandrake was awesome for it’s time! Then I met Debian and RedHat had no purpose after that. Next came Gentoo but only for my one main desktop. I still used Debian because… compile time. Debian had the purpose of being low maintenance, Gentoo had the purpose of being infinitely customizable and never experience library conflicts no matter how much crap I installed. Then Gentoo really kicked up their availability of binary packages. Now those uses I would have chosen Debian for can be Gentoo and so long as I go very conservative on the use flags there isn’t so much compiling. Now Debian has no purpose.

      Except… It’s still important to know Debian because nearly every SBC or similar device probably comes with a flavor of Debian as it’s default OS. But if they started with a Gentoo base that would be just fine so long as it came as an image and not starting from scratch.

      1. RedHat probably comes with some enterprise stuff for that crowd who needs it. But I’m sure there’s nothing about RPM or RedHat specific layout that means they couldn’t port that stuff over if RedHat went away. I would not say the same about the power that Portage gives to the user.

      2. All hail Gentoo!

        Seriously, USE flags are Gentoo’s secret superpowers. Set them properly, and everything just works together without drama.

        And if one wants to live on the cutting edge? ~amd64 keyword gives you exactly that.

        If only everyone has 16 core CPUs… 😅

    1. Huh… I’ve heard of Hannah Montana Linux, didn’t know there was a Taylor Swift Linux. I see it sadly hasn’t been updated since 2021 so it’s at least missing Midnights, The Tortured Poets Department, and The Life of a Showgirl.

  4. This was part of the intent of the “Simple End User Project” that I co-founded back in 1997, so it’s not exactly a new concept. The goal was to standardize on a core set of functions, libraries, etc. that any distro could provide (a grand API basically), and then layers that could be added that also provided consistent functionality of various types, again by whatever means the distro chose.

    The project didn’t get too far unfortunately, and has since evolved into more of an app incubator, but IMO it did end up being part of the impetus that created the LSB and Freedesktop Unfortunately those have not succeeded providing that “core” functionality that would be enough to run any app with no question, but at least got some of the more fundamental things under control…

    The whole packaged-app (snap, AppImage etc) concept came up way back then too, but personally I disliked and still dislike the idea because of resource usage: they completely give up on shared libraries etc.

    1. You are literally defining the LSB (Linux Standard Base), and meta projects that leverage it, like Debian. And yes Debian can be very minimal. The entire idea that distributions are somehow getting in the way of simple, light weight implementations, is wrong.

  5. Realistically I don’t see how Distroless (as sort of defined in article) would work — unless you become like M$ and Mac and force your users to conform. You already have Linus and group creating the ‘core’. The Linux core provides the core standard API to real-world hardware. That said … Note the problems Linus has trying to corral on the wild horses, so to speak, just in the ‘basic’ core. So beyond the core … how can you expect to ‘standardize’ on libraries and such that use the ‘core’. I won’t say impossible, but to me standardization (beyond POSIX) at this next ‘ring’ so to speak will only create stagnation. As long as the source code is open, there will always be someone or entity that will ‘extend’ the standard to fit their wants/needs or to get an edge on competition. No, I think it is better to let creative ‘chaos’ reign and see what falls out of the tree over time.

    Another example is Firefox. How many people just lives with the app as it comes? There is always someone crying that an ‘extension’ no longer works, or should allow my whizbang addon to work? And that is just ‘one’ application, let alone an operation system with many different components.

    1. and force your users to conform.

      Or you pick sane defaults that work for 90+% of the people, so it’s simpler to just conform to the rest of it rather than trying to “optimize” your system at great effort.

      The reason why it won’t work is that they won’t. They will continue to cater to the developers and hackers whose immediate needs are far different from the everyday user, while neglecting the concerns and needs of regular users even where they’re not in conflict with the first, which means it will never gain the critical mass to become a de-facto standard and therefore will not gain the power to choose the defaults.

      1. You mean what distributions do? This is why most use Ubuntu as a base. Canonical does some cherry picking on top of Debian testing, and makes builds of various things they like, then downstream distros like Mint customise further. Before that many used LFS, and embedded systems start from busybox most of the time.

        The entire “distroless” thing is nonsense of course, because that is a distro, just theirs, mostly optimised for use in a VM, because most of those pushing for this don’t use desktop Linux full time (or at all).

        As for agreeing on standards? For important things there are people who do that, and often their proposals are accepted because they provide sane defaults.

    2. No, I think it is better to let creative ‘chaos’ reign and see what falls out of the tree over time.

      The problem there is that the chaos won’t stop where you want it to stop. It’ll keep on going and undo all the good things it accomplishes.

  6. If it means “‘distro’ is dead” I’m in favor of it. The word grinds my gears, like a car guy who insists on talking about “trannies”. It’s similarly my understanding that some are ooged out by the word “moist”.

    1. It bothers me a lot more that nobody understands this is a distribution they are making, just like Flatpak is a repository system, not an alternative to package repositories.

      Much of these pushes lately seem to come from more or less straightforward illiteracy of the subject they are reinventing.

    1. Why?

      Linux on the server is maintained by experts who don’t mind that the whole system is a grab-bag of parts that need filing and fitting to work together. They’ve put in the hours to develop the skills, so there’s no problem doing things the hard way.

      It’s like pre-industrialized engineering: everybody made their own nuts and bolts to their own tolerances, which meant that each had a job in making those custom parts – since none of it fit together with anybody else’s. No system had dominance when the need for engineering was one-off jobs by special commission. It’s job security not to standardize, but it’s also holding things back. It’s making things harder than necessary.

      The change has to come from the user side, because there you have a much larger audience that can put weight into standards, and one that demands things to be uniform and functional out of the box because users are not developers, nor should they have to be.

      1. Or, if you want to keep with the analog: engineering became standardized when the militaries needed guns that could be field-serviced with standard parts. The non-expert users defined the requirements and the engineers responded by creating a default option that works for the users.

        What good that did to the other industries can be seen when automobile manufacturers started using the same system, so cars became cheaper to design and manufacture. The old system worked so far as it was the same as keeping horses: you needed staff for keeping your animals, you needed staff for keeping your machinery – what’s the big deal? It’s easy to see why standardization was not immediately perceived as necessary or even desirable. That is, until you start selling cars to the masses who can’t afford to hire a full time engineer to keep a car running and will find it awfully inconvenient having to learn the job themselves. The less engineering you expect of the users, the more cars you can sell, and the more useful the car becomes to everybody.

        Likewise, you need experts to maintain Linux servers, so it doesn’t matter if the software is non-standard hackery – the experts can deal with it. That’s what you pay them for. However much the FOSS community is going on about sharing, it’s really stuck in that small scale thinking where some people collaborate against all others in balkanized groups. They’ve each carved their niche and they want to stay there.

        1. Because the same standard framework can be adapted back to the server stuff, so you don’t have to re-invent the wheel every time. You don’t need to be as much of an expert to set it up, more people know how it works or what to do when things go wrong, so even the desktop-oriented people can manage it.

          With so many people able to perform the same tasks more easily, the “old guard” experts become rather marginalized and it no longer matters whether they’re whittling their perfect custom Linux systems out of the bones of old gods.

          1. We’ve melted them down and woven them into the deepest components already. Modern kernel developers are essentially building everyone’s servers and the level of technology involved is often enough truly arcane.

            What you say has already cooked to pass without even leaving the old devs behind unless they insist.

    2. This isn’t weird at all. The base needed for servers was defined decades ago and even though it’s continually refined it doesn’t change much. The desktop is different, and hands on users aren’t all developers.

  7. Linux is already distroless. Linux is a kernel, and only launch one software: init. You don’t have to choose it, there is no taint in it. What init does is up to you, the user. Let the user decide what is launched and stop bothering about different tastes and flavors when after all, it’s a user choice.

  8. As is tradition, every Linux distro discussion eventually collapses into “I’m happy with my [enter distribution name] running [enter WM name], and would never use anything else!”, let me save us some time:

    I’m happy with my Kali (which uses Debian apt) running i3w.

    Just now sitting in front of my screen perfectly split into 4 rectangles, with mpv playing downtempo downloaded from Ektoplazm.

    Perfection.

  9. I used Linux back when the Internet was Flash and Linux Flash support sucked.
    I used Linux back when people emailed .doc files and Mickeysoft formats where hard or impossible to read in Linux.
    I used Linux when games other than text based or the most basic of graphics where unobtanium.
    I used Linux when people used to still go to a store and actually buy software on CDs or even floppy discs and none of that software ran on Linux.
    I used Linux when getting drivers for 3d accelerated graphics, wifi adapters or random hardware was difficult.

    Yah, back then becoming more mainstream was something Linux really needed to do.

    And there were a few things I could do on Linux then that neither Mickeysoft nor Apple could do. (or at least not without blowing the budget on extra software)

    Multi-user
    Remote
    Editing a PDF
    Serving a website with more than 5 viewers at a time
    Running on scrap hardware (many small hard drives, C:\ always filled up too fast. Install to D:\ E:\ or F:\ and Windows still put 80% of it in C:\Windows\System or something like that)

    So I kept with Linux.

    Today there is very little that you can do on Windows, Mac or Linux that you can’t do on the other 2. Each caters to a different kind of user though. Why would a Linux user want Linux to stop catering to the power user that likes a lot of choices just to achieve “mainstream”? So what? We needed a “year of the Linux desktop” when so much just wasn’t available?

    As far as I am concerned we have already had several “years of the Linux desktop”.

    We had one in 1998 when Mandrake gave us an easy install with KDE and supermount. Linux was suddenly as easy to use as Windows 95.

    We had one when Apt suddenly made installing and updating packages a breeze. (urpmi was cool too but didn’t handle dependencies)

    We had one when Ubuntu was released and suddenly Linux hardware detection was better, more automatic than Windows.

    We had one when Sharp gave us the Zaurus, little Linux computers to put in our pockets.

    The release of Android, basterdized as it might have been, still we could get a terminal on our phones.

    But the best “Year of the Linux Desktop” of all… I’d say that was 2010, given to us ironically by Steve Jobs when he declared iOS devices would never run Flash. That was the day we got the web back!

    There is no reason why we should need to dumb down Linux so it can be the perfect choice for all the mainstream users. We got past all the BS that came with not being mainstream. If that were to happen we would have to start over with a new OS and go through all that again.

    1. Even if Linux goes mainstream, you don’t have to.

      You can keep doing whatever while other people are trying to standardize so the majority of people can have an easier time getting everything to work in a more unified fashion. The major complain I keep hearing here is “Oh no, I may become marginalized and then nobody will cater to my interests.”

      You want to keep things kinda shitty in perpetuity, for everybody, in order to maintain whatever illusion of control you have.

  10. I’m more looking forward to a SystemDless future due to its “everything and especially the kitchen sink, in fact, make that two kitchensinks” and “our way or no way at all” arrogance and entitlement associated with everyone developing or supporting that.

    And don’t @ me you stinky *BSD shills, talk about opposite side of same shitty coin.

    1. FYI, systemd is entirely modular, it’s just consistent. You would have to go smaller than busybox to make an install where the overhead of systemd made any difference at all.

      I get it, it’s different, and the tools are kind of annoying, but it’s not done behemoth, and you can do whatever you need with it.

  11. There are at least two client different audiences – tinkerers and those who just need an OS to run their stuff. Tinkerers like to explore, learn, experiment and may thrive on variety. The other group doesn’t want to do any of that. For them the best OS is one that is essentially invisible. The problem is that a third group I intentionally excluded, developers of software that needs to run on the OS can’t do so for 373,815,865 different distributions of it. Some do it for one. Others do it for few. Moat run away recognizing that it is a heavily fractured market. Common statement that there is a Linux equivalent app/software for pick-somethung is usually a lie. There may be some, but, as if by magic, they’re always made for some other distro you don’t have and you’re forced to jump through hoops to get some, but not all, parts working.

    This is a problem even as a developer (of other things, non-Linux). I need one distro for some of my tools, anothrr for NVidia CUDA development, yet another for DaVinci Resolve, etc. Same story all the time.

    Then there’s bickering between groups that demand full on political engagement with their views “or else”…

    Linux kernel may have few % of desktop market share, but any individual distro has a miniscule fraction of that. While app development is as hard as it is (to make quality apps), there will be no widespread apps that work for everyone. That will prevent mass adoption.

    BTW, I’d pay for my OS. It’s just that the choices are atrocious whichever way I look.

Leave a Reply to true Linux fanCancel 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.