Will You Be Able To Run a Modern Desktop Environment In 2016 Without Systemd?
New submitter yeupou writes: Early this year, David Edmundson from KDE, concluded that "In many cases [systemd] allows us to throw away large amounts of code whilst at the same time providing a better user experience. Adding it [systemd] as an optional extra defeats the main benefit". A perfectly sensible explanation. But, then, one might wonder to which point KDE would remain usable without systemd?
Recently, on one Devuan box, I noticed that KDE power management (Powerdevil) no longer supported suspend and hibernate. Since pm-utils was still there, for a while, I resorted to call pm-suspend directly, hoping it would get fixed at some point. But it did not. So I wrote a report myself. I was not expecting much. But neither was I expecting it to be immediately marked as RESOLVED and DOWNSTREAM, with a comment accusing the "Debian fork" I'm using to "ripe out" systemd without "coming with any of the supported solutions Plasma provides". I searched beforehand about the issue so I knew that the problem also occurred on some other Debian-based systems and that the bug seemed entirely tied to upower, an upstream software used by Powerdevil. So if anything, at least this bug should have been marked as UPSTREAM.
While no one dares (yet) to claim to write software only for systemd based operating system, it is obvious that it is now getting quite hard to get support otherwise. At the same time, bricks that worked for years without now just get ruined, since, as pointed out by Edmunson, adding systemd as "optional extra defeats its main benefit". So, is it likely that we'll still have in 2016 a modern desktop environment, without recent regressions, running without systemd?
Recently, on one Devuan box, I noticed that KDE power management (Powerdevil) no longer supported suspend and hibernate. Since pm-utils was still there, for a while, I resorted to call pm-suspend directly, hoping it would get fixed at some point. But it did not. So I wrote a report myself. I was not expecting much. But neither was I expecting it to be immediately marked as RESOLVED and DOWNSTREAM, with a comment accusing the "Debian fork" I'm using to "ripe out" systemd without "coming with any of the supported solutions Plasma provides". I searched beforehand about the issue so I knew that the problem also occurred on some other Debian-based systems and that the bug seemed entirely tied to upower, an upstream software used by Powerdevil. So if anything, at least this bug should have been marked as UPSTREAM.
While no one dares (yet) to claim to write software only for systemd based operating system, it is obvious that it is now getting quite hard to get support otherwise. At the same time, bricks that worked for years without now just get ruined, since, as pointed out by Edmunson, adding systemd as "optional extra defeats its main benefit". So, is it likely that we'll still have in 2016 a modern desktop environment, without recent regressions, running without systemd?
I keep saying it, systemd not an init system. KDE and GNOME should not depend on an init system. Why does the desktop care who's booted it up?
More specifically, systemd is Linux-only. The devs have explicitly stated that they are making good use of Linux-specific features. Fine, but if third party software becomes dependent on it then that implies they won't work on *BSD at all. Right? So now there's no Gnome or KDE on anything but Linux.
So really, choice is being taken away clear across the board. Either that or I'm missing something really big which implies systemd is not a strict dependency.
That was a very nice post and all, but I really lost focus after reading "Do or don't do" instead of "do or do not".
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The ability to legally install it on any hardware I want.
The world's burning. Moped Jesus spotted on I50. Details at 11.
It makes sense that KDE would like systemd. They both are bloated and do far more than they need to.
its because systemd provides features that are normally root only, and delegates them through dbus and a permission system through to logged in users. This lets the desktop environments have more advanced features then they would with init systems that don't do this delegation. If they were to support all inits, they would have to reimplement a lot of the parts of systemd. They used to do just that. They have both decided to stop doing that and just let systemd do it. GNOME/KDE are doing the right thing IMHO.
If the other init systems want to gain support, they have to support this same kind of functionality somehow.
A decent filesystem ?
Decent memory management ?
Decent networking ?
--
The world is divided in two categories:
those with a loaded gun and those who dig. You dig.
This lets the desktop environments have more advanced features then they would with init systems that don't do this delegation.
An init system shouldn't be doing that stuff. You know how sometimes people complain that "systemd is monolithic?" That is what they are talking about: you can't get that stuff separately from your init system.
"First they came for the slanderers and i said nothing."
The questioner has it the wrong way around.
The systemd team didn't create those dependencies, the DE maintainers did. All of these DEs ran just fine without systemd and they still could if someone was interested in doing so. In fact given the maturity of the old interfaces, and the code already existing in previous releases it should be much easier to maintain say, KDE or Gnome, without systemd that it is for the team trying to add it in. There is nothing stopping people from forking the existing code and running their own project, we have seen this happen in the open-source world dozens of times. If there is a lot of demand for systemd less distros, the community will make them.
The question isn't "Will You Be Able To Run a Modern Desktop Environment In 2016 Without Systemd?". The question is "Where are all the systemd-free projects?".
Linus said talk is cheap show me the code. So where is it? For all the complaining, flamewars, and cries of fleeing to *BSD you would expect systemd-free projects to be springing up left and right. So where are they? If Red Hat is making such a huge mistake switching to systemd, then surely their competitors at SUSE, Cannonical, and Mandriva will capitalize on that mistake in the name of profits no? It isn't surprising that seemingly everyone is adopting systemd. systemd is solving problems and implementing feature that people want. That is easy to explain.
What is remarkable here is the massive disconnect between the amount of outcry about systemd and the amount of code being written to avoid it.
So why can't there be other systems that do the various parts that aren't init but systemd is doing?
Lets see... POSIX compliant, bash shell, GNU tools, X Window.... what exactly is OS X missing?
A decent keyboard.
As I understand it, as someone who could care less one way or the other, systemd isn't a solution for end-users, which is why you don't see any substantial changes. Its a solution for *developers*, freeing them from having to deal with the mountain of hacks, kludges, and assorted ugliness necessary to provide modern desktop-environment features through the decades of cruft and "ideologically pure" compartmentalization provided by the lower levels of Linux.
It doesn't offer new functionality - it just removes a maintenance nightmare for Desktop Environment developers, allowing them to focus on actually working on a good DE, rather than all the ugly backend stuff behind the scenes. The big issue, aside from ideological purity, is that in systemd massively redesigning that backend stuff there was inevitably a lot of lost functionality - you can't replicate the functionality of decades of accumulated cruft overnight. And major DEs don't want to wait until there's complete functional parity to adopt it, for a couple big reasons (and probably many more I haven't thought of):
1) Waste: if they plan to adopt the project eventually, then the longer they wait, the more wasted work they do maintaining deprecated systems.
2) Momentum: you want to adopt a project when it's both "good enough" and has a thriving developer community in order to help maintain its momentum. A project no one uses is eventually going to start shedding developers, and may never reach functional parity at all (see GNU Hurd, etc.)
--- Most topics have many sides worth arguing, allow me to take one opposite you.
As someone running OSX on one of my computers, I can think of some problems:
1) Constant OS upgrade costs
if you don't stay on the treadmill you rapidly start losing support for native software
2) Lousy cross-platform support
If you run a lot of cross-platform software, the OSX versions tend to suck - they may be functionally complete, but OSX usually only gets a basic port of the 'nix version designed to run on an X-windows shim, and there's lots of minor bugs and interface inconsistencies you have to deal with.
Yes parallels can be great, but if I'm running most of my software in Windows, what exactly is the point of having OSX and it's expensive hardware* in the first place? All I've done is add a second OS I have to take care of.
* yes, these days the hardware (mostly) no longer has a huge markup for what it is, but what it is is grossly overpowered for what most people actually need.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
Running on hardware of my choice?
My 2011 MBP is great, but I'm not looking forward to the day I have to replace it.
I think you missed the simple fact that everything was working fine before, without cramming everything in the init process. Power management, in this case, existed before systemd came, and everyone was using that just fine.
The system was flexible, allowed for easy replacement and customization at every step. Only downside? Beyond basic use, you had to touch the config by hand. Now this option simply doesn't exist anymore, and a lot of people believe that whatever systemd does now, it's the only way and that without them nothing would work.
Mr. Steven Burn of Malwarebytes
Speaking of Mr. Steven Burn of Malwarebytes, he also said this in that same thread:
Thanks for letting me know. I'll have a word with him.
That's in regard to you spamming Slashdot comments, and he posted that in February. How did that conversation go? Because in this story from yesterday, you posted this exact text 9 different times in those comments, and since it's the end of the day before a holiday and no one is getting anything done anyway, I went ahead and found no less than 39 comments from you in that one story alone. There are only 101 comments total, 39 of them are yours, and 9 of those are that same wall of text advertising your software. That is the very definition of spam. You also posted this text, the one referencing Steven Burn, 4 different times in that comment thread. You are spamming a Slashdot comment thread with a link to a guy saying that he's going to talk to you about spamming Slashdot comment threads. What's going on here? Why is it necessary to go into the comments for certain stories and see tens of posts by you with either the exact same text or you arguing with other people about spamming? Why do we have to endure that on Slashdot? More importantly, do you think that makes you look good? Do you think it makes people want to try your software? What's the point? Why isn't it enough to post a single ad for your software, even though that would still be considered spam? Why do you need to do it 9 times? Can you give it a rest for the sake of everyone else?
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
This is cut and pasted from another comment as I do not want to retype. Init is serial and has trouble adapting to changes once a live system is up compared to more modern systems. Solaris, Ubuntu, and Apple all left init behind and NetBSD discourages writting init scripts by using a hybrid approach with macros that are event driven that you link instead.
My cut ....
The reason is init was not designed for desktops or servers with more than a dozen applications. What if your laptop goes to sleep and wakes up on a different network? How can init with 200 lines of if/fi scripts handle something liek this? WHat if your network goes down on your server? What if your web server is hacked? What if your Oracle RDMS takes a dive?
Writting every possible conceivable combination of events with nested if/fi statements is luducrious! An event driven system makes sense.
FYI Init is not a glorified autoexec.bat for starting up. Something needs to tell the kernel which daemons to start and which arguments to pass on. Those who say otherwise do not know what Init does or it's intended use.
So Apple went 1st and everyone but Linux followed.
http://saveie6.com/
The problem the non-systemd distros are facing with running a modern desktop are entirely their own fault. Gnome and KDE developers pleaded for years that non-systemd distros or anybody else should start to maintain ConsoleKit which now have been abandonware for almost 4 years.
The non-systemd distros ought to realize that it is entirely up to them to maintain their own alternative software stack, and even help out upstreams projects like KDE to support them.
At the moment only a single guy is maintaining CK2 and sending patches to KDE so KDE will work with CK2.
People whine about "Linux is all about choice", but when it comes to maintain those choices they all shy away with a "I am not a programmer", "No time", "No money" etc.
So if you want to run a modern desktop in 2016 on a non-systemd distro, you better start contributing towards it.
The same thing goes for OS containers, the new cgroups API and what not. If you want that stuff, don't expect it to magically being made by benevolent pixies nor developers from systemd-distros.
by taking over and forcing out all other options, it becomes a monoculture. and that, as we know from decades of experience where monoculture OSes have created cartels and monopolies, is incredibly dangerous
And we also have decades of experience with Linux no-culture. It failed to gain more than 1% of the total market. Perhaps it's time to try something else?