The systemd debate

Speed or torque? Linux desktop vs. server distros

Desktop Linux should be shiny and fast, server Linux should be big and practical. Today's mix doesn't work -- here's the remedy

speed 000007335965

The systemd debate

Show More

My post about splitting up Linux distributions along dedicated server and desktop lines has produced interesting feedback. The comments -- both in public and privately via email -- are all over the place.

According to some, I've clearly never used Linux before, and I clearly don't know anything about Linux. I mean, many distributions have "desktop" and "server" releases, so what the hell, right? Stupidest idea ever. Others seem to think I'm somehow advocating that installing Apache on a Linux box running as a desktop is problematic. A few understood what I was actually saying.

[ Also on InfoWorld: It's time to split Linux distros in two | Choose your side on the Linux divide | Get the latest practical info and news with InfoWorld's Data Center newsletter. ]

So allow me to clarify: I believe the time has come when a major, dedicated, server-only Linux distribution is needed. This distribution does not maintain any desktop packages or dependencies -- and is not a distro that merely offers a different default package set for desktop and server use cases.

To be even more precise, I do not want the consideration of desktop usage to impact my servers. Historically, Linux distributions were essentially servers that could run as a desktop if desired. Lately, however, a preponderance of Linux distributions focus solely on the desktop, and desktop requirements are taking precendence there and in other distributions. This changes the server-first approach, and that needs to be recognized.

A prime example of this is when Gnome 3.8 made logind a requirement. Suddenly, servers built from "server" distros that would never run Gnome required systemd and logind (or a shim) because they were wedded to the same release baseline. This is a clear-cut example of a desktop consideration impacting Linux servers.

The decisions made by small groups of Linux desktop application and framework developers should not directly and fundamentally impact the structure of Linux servers, yet this is a reality. A distribution forging a complete divorce from any desktop support would eliminate this contention or at least provide choice.

Picture a distribution as stable and widespread as CentOS, but completely devoid of desktop packages. This distro could easily provide the option of whether or not to use systemd or any other fundament because there are no desktop dependencies to consider. Further, it would be tuned for server workloads by default and offer specific tunings to run as a VM -- such as much smaller swap space by default, complete elimination by default of a whole host of hardware support that would be completely unnecessary, or anything else that could be consolidated for server-centric VM operation. This, I believe, would have traction. I'd certainly use it.

This isn't about systemd either, though that's a timely example. Obviously, Linux can do all of these things: embedded, small servers, massive servers, desktops, phones, whatever. However, the tunings for those use cases are wildly different, though the core remains the same.

General-use Linux distributions such as Ubuntu, Debian, CentOS, and such are built to cater to general desktop and server use, and these days, that stretches quite far in terms of requirements. At some point, continuing to support both cases in the same general distribution will be very inefficient and will cause both desktop and server use cases to suffer.

Desktops should be Ferraris, servers should be 10-ton dump trucks. It's time we start treating them as such, especially when the requirements of one begin to impact the other unnecessarily. Of course you can take any Linux distribution and turn it into whatever you want, but part of its beauty is when enough people are rolling their own distribution to meet their needs, something similar will likely become a project and gain traction with other like-minded admins. Duplication of effort is inefficient.

To put it another way, I believe that single-user and multi-user Linux environments are becoming so vastly different now that this makes sense to pursue. You should always be able to install Apache and MySQL on your desktop for dev purposes or whatever, but the reasons you may want to have support for and install pidgin on a redis server are vanishingly small indeed.

The move to require logind by Gnome is only the first of what may be many dependencies that cause conflict within general-purpose distributions. Take systemd out of the picture and perhaps it's another part of the plumbing that needs to be alterered to support some new graphics technology or sound or peripheral support that has nothing to do with servers, but will directly affect those systems for no benefit.

There will always be room for general-purpose Linux distributions, but there is now definitely room for a fixed-purpose Linux server distribution that tosses the shackles of desktop support altogether. It's a matter of which and when.