Is It Time To Split Linux Distros In Two?
snydeq writes Desktop workloads and server workloads have different needs, and it's high time Linux consider a split to more adequately address them, writes Deep End's Paul Venezia. You can take a Linux installation of nearly any distribution and turn it into a server, then back into a workstation by installing and uninstalling various packages. The OS core remains the same, and the stability and performance will be roughly the same, assuming you tune they system along the way. Those two workloads are very different, however, and as computing power continues to increase, the workloads are diverging even more. Maybe it's time Linux is split in two. I suggested this possibility last week when discussing systemd (or that FreeBSD could see higher server adoption), but it's more than systemd coming into play here. It's from the bootloader all the way up. The more we see Linux distributions trying to offer chimera-like operating systems that can be a server or a desktop at a whim, the more we tend to see the dilution of both. You can run stock Debian Jessie on your laptop or on a 64-way server. Does it not make sense to concentrate all efforts on one or the other?"
It's up to the distro to focus on what they want and make declination either for desktop, or servers, mobile, embedded, etc. None of this has anything to do with linux which is, you know, just a kernel.
Video of some good progressive thrash music
This is already done. For instance, I personally use Turnkey Linux for my servers and Debian Linux for my workstations. Both of these use Debian as their back end repository system, but Turnkey Linux has a system setup tuned specially for working within a virtualized server environment, whereas Debian Linux is more general purpose (which is what a workstation needs)
The issues that brought systemd into existence (coordinated handling of a frequently reconfigured hardware as things are plugged in and out and connections go up and down) is not different to hardware that reconfigures frequently due to power saving, with things turning on and off. This just isn't a big issue in server chips right now, but it will be in the future as advanced power saving techniques move from mobile to desktop to server. Then the split will look silly.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
Splitting upstream would be disastrous. (Desktop would lose the behemoth of code contributions from Redhat for the most part). Just leave it to the distro's to do the 'splitting'. EG Ubuntu Server vs Desktop
Yes, more fragmentation in the Linux community will make things even more usable for your average user! He should write a custom package manager for servers and another for clients, because we don't have enough of those. Let's fork the kernel too -- or at least make a completely different fork of GLIBC so we'll need to recompile every package we want to install from source -- as God intended. The year of the Linux Desktop is here!
-- Political fascism requires a Fuhrer.
Betteridge's law of headlines. No. The article doesn't say a whole lot. Just makes the assertion that "servers" and "desktops" are different, and lightly appears to dislike systemd. Tries to make the assertion that the security concerns are different on the desktop and on the servers, but doesn't provide a strong argument for that assertion (or really any assertion it makes).
I've always been impressed with how rock-solid, and well, server-like the Debian desktop has been. I wouldn't want to give that up - it's simple, it's clean, it's ultra-reliable. If I want to run a website or allow remote access, there's really not that much to learn. Compare that to the complexity of Windows server.
Is this split actually a valid suggestion, or more anti-systemd rhetoric? If there was no such thing as systemd, would you even care about splitting?
Allow me to make the following naming suggestions
Desktop:
Linux Standard
Linux Pro
Linux RT
Server:
Linux Storage Workgroup
Linux Storage Standard
Linux Server Foundation
Linux Server Essentials
Linux Server Standard
Linux Server Datacenter
RedHat 7 ships with systemd. But, but, but, we all know that RedHat totally and completely abandoned the desktop years ago.
So we have two options. Either systemd is not just for desktops or RedHat never completely abandoned the desktop. Either way, there is no need to split distros. RedHat does provide a nice tool called 'tuned' that helps tweak kernel and system parms for desired load.
I am a linux sysadmin, and many of the packages required for desktop use not only don't apply to me, but are pretty well useless. I would love to see a distribution where any dependency on X11 was not only stripped out - but *compiled* out. I would love to see a distribution where systemd was not getting its mitts into everything.
But it's not only that, it's tuning. I discovered that Ubuntu's default scheduler settings on a Dell R620 with 384G of RAM and a nice beefy RAID 10 array are actually the *worst* settings for this kind of system. Everything else I tried - other schedulers, tuning CFQ, etc., they all led to better write throughput. Which leads me to wonder how many processor and other cycles are wasted because sysadmins just install with the default settings and hope for the best?
There needs to be a distro where the adults are in charge. I'd even build it if I had time, and I most certainly would be willing to put some time into working on one.
For linux tips: http://www.linuxtipsblog.com
A server is just a bigger laptop. Don't laugh: technologies such as virtualization, para-virtualization, SSD, dual-type disk drive HDD+SSD, low-power CPUs, multiple high-density CPU cores and even high-end graphical cards can be found in both types of PC (Think OpenCL on the server, and Unreal Tournament -- or whatever the shoot'em up du jour is -- on the laptop for that last one).
Linux and BSDs make this possible, even trivial. Heck, these days, a lot of people even test entire server platforms or AJAX applications on virtual machines on their laptop - I know I do. Ideally, all machine should be both servers and personal machine.
I want my operating system to be flexible and able to adapt to different computing platforms. I want something smart enough not to push a GUI down my throat if I don't need it. Improvements on one platform will also be a benefit to the other. Having a laptop with 24 to 48 CPU cores may still be science-fiction today. But it won't be tomorrow. On the other hand, building a fast SSD-only Petabyte server using nothing but laptop SSDs would allow you to cram way more data... for less price than those slow SATA disks.
In other words: splitting Linux is simply a bad idea. Thanks, but no thanks.
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
... a `Professional' and `Home' edition as well?
Seriously... is this what some people believe is holding back wider Linux adoption? There's already more than enough FUD in the press and on the web in articles about Linux providing too many choices now without adding a server and desktop edition for the naysayers to complain about.
CUR ALLOC 20195.....5804M
Last week, the complaint was that systemd was making Linux look like windows. This week, the plan is to adopt the Windows server/workstation design philosophy as a fix to the problem..
I saw a lot of assertions in the article, but none seemed to actually have any data behind them. Nor, is it really apparent how a fork would leave either branch the critical number of developers needed to handle the respective branches.That is aside from the fact that the 2 kernels would have about 95% overlap in code base, which would separately need to maintain their own build environments and development paths.
Let us look at one of the assertions:
"However, they're also demanding better performance for desktop-centric workloads, specifically in the graphics department and in singular application processing workloads with limited disk and network I/O, rather than the high-I/O, highly threaded workloads you find with servers. If Linux on the desktop has any real chance of gaining more than this limited share, those demands will need to be met and exceeded on a consistent basis."
How would a kernel fork address this? If the need is there now, in what way is the current environment stopping the developers from releasing code to address these issues?
After all, you can take a Windows server and essentially turn it into a desktop OS with a little tweaking. The problem with Linux is that it is very fragmented, which is Linux's greatest strength and its greatest weakness.
Linux is great for technologically savvy users who want to customize it for a specific role. It is not so great for users who lack technical expertise or the time to administer it. Linux evangelists have been claiming it would take large amounts of desktop user share from Windows. You still see some of those around, but they tend to be quieter. The Unix OS that took away Windows market share was OSX, because like Windows, it has a unified, consistent codebase and is developed to be easy for end-user.
Splitting up Linux would not suddenly make Linux server or workstation uses stronger. Most technical end users of Unix (that I have known) have switched to OSX or some combination of Windows and Unix environment (cygwin or SSH to a UNIX/Linux box). Paid development and unified code simply has advantages that Linux will probably never be able to match. All splitting up linux would accomplish is divide already scarce developer resources.
People should love (or hate) Linux for what it is, a fragmented mess for the average end user that is imminently hackable and customizable to fill any possible role by experienced users who are willing to put in the time and effort.
Install Ubuntu Server 14.04.1 and you have a fairly minimal server OS. Do 'sudo apt-get install kubuntu-desktop' and suddenly it's a desktop OS. Going back isn't quite so simple, but you can 'sudo apt-get remove kubuntu-desktop' to get most of the way there.
Paul Venezia is just another sore systemd hater who can't accept that all major Linux distros are changing to systemd.
That he think systemd is mostly for desktops just show how much he has lost contact with Linux. There simply isn't any commercial interest in keeping SysVinit or even Upstart alive. The market would have reacted long ago if any companies where queuing up to pay for new Linux SysVinit releases. They are not.
Several companies have even switched to using systemd even though it wasn't officially supported on their distro yet, simply because systemd offers so many advantages over legacy script based init-systems.
There is no coordinated non-systemd development taking place in the Linux community at the moment. The few non-systemd distros left haven't even begun to cooperate. So it looks unlikely right now that any non-systemd distros of note will survive into the next decade.
There is a reason why commercial Linux vendors like Ubuntu and Red Hat are supporting desktop editions, even though they don't generate any money; without the desktop you will start to lose developers. It is that simple. That is also the main reason why BSD's are using GPL'ed DE's even though their sponsors can't resell them as close source software like the rest of the core BSD components; without a DE, the BSD variants would have even fewer developers.
So it is pretty much distro suicide to split a distro up in two different and incompatible versions, one for the desktop and one for the server.
One of my favorite distros is OpenSUSE. In its repos, it has several different kernels -- there is a default one, but also ones for virtualization and a desktop specific one. I always figured they had the different kernels that were tuned/tweaked for the different needs. If you wanted to switch from a desktop to a server or vice versa, simply install/uninstall the packages you need, including switch the kernel, then reboot and you're done.
I don't know enough about their tweaks to know if the desktop vs server kernel makes a difference, but I imagine it does or at least could in the right circumstances. I think the power of being able to change around some packages and get the effect you want is better than fragmenting the distro. I appreciate having access to all the features and being able to mix and match.
I'm friggin tired of installing Linux as either server or workstation and finding a bunch of stuff that's oriented to making a laptop work well. I want to be able to do a clean install that by default has no support for Bluetooth or wifi or dhcp client, let alone a propensity to rewrite /etc/hosts or handle any aspect of networking in anything but a hand-configured way. Also, even if systemd's part of the distro, standard text logs should be there by default, as well as cron and a working /etc/rc.local file.
"with their freedom lost all virtue lose" - Milton
One of the big reasons that I like Linux is the fact that it is really just a conventional server OS with a GUI bolted on top. That is not a bad thing. That is a very GOOD thing. That means that there is a solid foundation on top of all of the shiny shiny.
Linux is not Windows.
Linux is not MacOS.
There is no point in mutilating Linux to pander to people that will never appreciate Linux on it's own terms.
That's rather the whole point.
A Pirate and a Puritan look the same on a balance sheet.
98 of the top 100 fastest supercomputers in the world run Linux. Most phones also run Linux. See also consumer electronics of all kinds - TVs, routers, webcams, consumer NAS drives ... Linux works everywhere. As Linux has been installed everywhere over the last few years, Microsoft has gone from a monopoly, the 800 pound gorilla, to trying to catch up in order to survive.
There is a reason for this. Linux didn't make any assumptions about what hardware people were going to use next week. Even the architecture could be whatever you anted that day - DEC Alpha, Blackfin, ARM (any), Atmel AVR, TMS320, 68k, PA-RISC, H8, IBM Z, x86, assorted MIPS, Power, Sparc, and many others.
Microsoft built specifically for the desktop, and supported one platform - x86. Suddenly, most new processors being sold were ARM, and screens shrank from 23" to 4". Microsoft could only scramble and try to come up with something, anything tat would run on the newly popular ARM processors, and ended up with Windows RT. Linux kept chugging along because they had never made any assumptions about the hardware in first place. To start maing those assumptions now would be stupid.
We don't know whether smart watches will be all the rage next year, or if cloud computing wll take off even more than it has, or virtualization, or a resurgence of local computing with power, battery-friendly APUs and roll-up displays. To specialize for "dektop" hardware or "server" hardware would be dumb, because we don't know what those are going to look like five years from now, or if either will be a major category. How many people here remember building web sites for WebTV? How well did that pay off, investing in building a WebTV version, then a Playstation version? The sites that faired these changes the best built fluid, adaptive sites that don't CARE what kind of client is being used to view them - they just work, without being tailored to any specific stereotype of some users.
I assume that this is yet another click-bait blog-spam article, because I can't imagine that anyone who knows jack about Linux distributions wouldn't be aware that server and desktop variants of various distributions have been and still are done.
More to the point, anyone who wanted it done that way would've or could've already done it. That the more popular distros don't generally make the distinction or don't emphasize it should be taken as a fairly solid answer to the question posed in the headline.
Log in or piss off.
Indeed, the reason I and many others started using Linux in the first place was because of this. Improvements made to the system to increase server performance usually also wind up being good for desktop users. Rarely it's the opposite.
And if the kernel itself were 'split in two', desktop users would wind up getting the shaft, since there is far less incentive for people to work on improving desktop Linux.
A fool and his hard drive are soon parted.
I agree with you totally, but felt the need to add quite a bit.
Desktop workloads and server workloads have different needs, and it's high time Linux consider a split to more adequately address them, writes Deep End's Paul Venezia.
That statement reeks of an agenda. Linux has had the ability to run as a Server or a Workstation or both for as long as I can remember. The guy making said claim is an idiot, and I'll offer evidence to prove it.
What makes it a "Server" versus "Workstation"?
If you claim "Tuning", I'll tell you that every server gets tuned differently. An Oracle DB server gets totally different tuning from my SunOne LDAP servers, which are both different from Squid Proxies, which are all different than SMTP servers, and all of those are tuned differently than CAE or GPU simulation. Each of those tunings will be different depending on the hardware the OS is running on. 10Gb NICs get different tuning than 1Gb NICs, or Oracle on 128Gb memory vs. PAMCrash on 128Gb memory for two easy examples. If you make a "server" package with predefined tuning it will be for 1 application stack, and will probably the wrong tunings.
Further, these same tunings are also done on a Workstation all the time. Most often, this is for development and testing the changes. Just like most "server" applications are generally run for the same reasons on Workstations. So the goal of the author to split to Server/Workstation is a failure without any further consideration, and completely idiotic since it would require development, QA, and SA teams to buy more and more hardware.
Let's look at a couple other claims. SystemD vs. Init. Big whoop! That won't make a server different from a workstation either, Unix requires some type of initialization system. Different Distros may adapt different INIT systems, I'll pick the distro I find works best. The market and time will fix all problems with that one.
I suggested this possibility last week when discussing systemd (or that FreeBSD could see higher server adoption), but it's more than systemd coming into play here. It's from the bootloader all the way up.
Ahh, now that's the payload statement right there. Someone has the belief that if there is more fragmentation things will turn out their way, or that the threat of fragmentation will make things their way.
Sorry pal, that's not how things work. If you want to make your own distro, go to town. You can control every aspect from systemd (or not) to what packages and package manager you run, to what tunings you are providing out of the box. If it's a good distro, people will follow along and help you out. If it sucks ass for most users, you will be on your own with your own custom distro that nobody uses.
As I said above, your suggesting that Linux should be split is simply wrong. In fact it's provably wrong. Go look at Distro history. As soon as Distros start to strip things people need from their packages, people leave and find a new Distro. With the exception of Lindows who was sued out of existence by Microsoft, (and perhaps a couple others) thousands of Distros vanished or brick walled because some dickhead control freak(s) said "My way or the Highway" and started supporting only what they wanted instead of what the users needed.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.