One daemon to rule them all: systemd, a corporate putsch in the Linux ecosystem

Linux is a kernel. It started to be developed in 1991 by Linus Torvalds. The kernel is the core of an operating system, the one that interacts directly with the hardware. You cannot do much just with a kernel, unless you are a hacker, but it is, so to speak, the most essential part of the system.

The Linux kernel is free software and therefore it is also open source software. It is developed by a team of thousands of volunteers, even if many are in the payroll of various corporations. The leader of the development team is still Linus Torvalds. Torvalds, sometimes referred to as a “benevolent dictator”, has a well deserved reputation for being a harsh fellow. However, his leadership is based upon meritocracy. For decades he has demonstrated that the project led by him is a solid, no-nonsense,  piece of software.

Many operating systems use the Linux kernel. Operating systems using the Linux kernel, often referred to as “distributions”, were up to now employed by a minority of users as compared to so called proprietary, non-free, systems. Already a long time ago, Linux first achieved the hegemony in the server market. In recent years, however, the Linux kernel became the most frequently used kernel in the world thanks to the popularity of Android, an operating system developed by Google and used primarily in mobile devices.

Politics in the free software landscape has always been a complex matter. Clashes abound in its short history and the power balance between the most influential independent developers, the corporations and the rest of the community is a precarious, fragile and always evolving construct. One that is about to change, dramatically, in favour of the corporations. And it is not a coincidence that this is happening right now, when the commercial implications of the Linux kernel have become huge and are expected to grow exponentially in the forthcoming years.

23563MIndeed, a strategy has been devised in order to seize control of the Linux kernel. At the core of this strategy lays a daemon of daemons called systemd.

Initially, systemd was presented as a replacement for the venerable SysVinit offering faster boot times and a number of other improvements. It was early adopted by a number of distributions that served as beta testers. Later, it was incorporated in major distributions either developed or sponsored by the very same corporations which pay the salaries of the main systemd developers. More or less at the same time as this was happening, we also learned that systemd really aimed at being a centralised daemon that would manage every aspect related to system administration, from security policies to network connection or package management.

Per se, this is not necessarily a bad thing for it will simplify things for third party developers and packagers. For instance, a company willing to develop drivers for Linux, instead of producing one installer package for each of the majors distributions, might be able to develop a single systemd-dependent installer that will work in all distros.

However, as a mere init system, systemd already found some opposition from system administrators who preferred human-readable init scripts as opposed to a poorly-documented, highly-obfuscated, ever-evolving and ever-growing binary blob. Soon, others pointed out that such large black-box was a perfect place for back-doors to be hidden…

In addition, the distribution that together with its many derivatives, holds most of the desktop market for Linux, was up to now reluctant to adopt systemd. The declared reason being that they had developed their own init system, upstart. However, it is quite unlikely that Canonical failed to notice the privileged power position that systemd would provided to the other Linux-based corporations should systemd be adopted by all major distros.

As a unified system management interface, an increasing number of other user-land tools, from network managers to entire desktop environments, are now dependent on systemd. But, of course, this is a quite logical development: if you have a single administrative interface that is used by several major operating systems, why not to profit from that unified tool?

This was doubtless an important argument for Debian to adopt systemd as default “init system”. Financially weak, Canonical could not afford not following his parent distribution into adopting systemd, as will the many Ubuntu siblings.

As a consequence, in a few years, every major Linux distro will have two essential components: the Linux kernel and systemd, the universal administrative layer providing inter-distribution compatibility. No Linux-based operating system aiming at being widely used will be able to without systemd. Even those more reluctant, such as Gentoo and Slackware (which, not by coincidence, are the ones that remain more UNIX-like) will be forced to either adopt systemd or to provide some kind of compatibility layer (even if only to be able to install most drivers).

At that stage the power balance in the Linux ecosystem will be significantly keeled in favour of the corporations that lay behind systemd. This will give them more influence than ever and will possibly put them in a position as to impose their interests and agendas without much restriction.

They will doubtlessly try to direct the kernel development policies with the excuse of improving systemd integration and compatibility. I wonder what Torvalds will do at that point… Will he bend the knee in order to preserve some limited control over his creature or will he fight with his usual stubbornness? In the later case, would the corporations dare to fork the kernel and impose the new one upon the distributions that had adopted systemd? Hard to tell, but what it is clear is that the forthcoming months and years are going to be extremely interesting for the development of Linux, namely from the political point of view. The trojan horse is already inside of the fortress, let’s see how the different armies react to the threat.

Advertisements

One thought on “One daemon to rule them all: systemd, a corporate putsch in the Linux ecosystem

  1. I copy and paste a comment that somebody else leaved at Distrowatch:

    89 • Yet more systemd clarification (by cykodrone on 2014-12-01 03:41:45 GMT from Canada)
    *sigh*, the main issue is not so much about any one piece or group of software, it’s about developers having to write apps and DEs around ANY beta lock-in app, process, init, whatever.

    Heres a scenario, just an example fanbois so please relax, let’s say you really like a particular text editor and there is no systemd in your installed OS, so you select it for install via CL or GUI package installer, then you get this huge list of dependencies including low level system changing packages, now back in the day, this wouldn’t happen, your favourite text editor would just drag in ESSENTIAL dependencies to make it work, in the new world, it’s quite possible that your choice of text editor (or major app ‘x’) may drag in fundamental system changes (and possibly trash your install), right down to the layer that lies just above the Linux kernel and between you, your apps and your hardware. Some people are not comfortable with this, me included, I do not need or want a beta blob controlling 99% of my system, complete with secretive binary log files and dictating to me what 3rd party apps and DEs I can and cannot install, especially if I didn’t want or ask for a new init system or any other piece of software in the first place.

    3rd party app developers will eventually be FORCED to write everything AROUND systemd, in other words, everything will become dependent on systemd to work (this is a software dictatorship in the making, a slippery slope), including the OS and your choice of DE. Everyday user land apps should NEVER drag in an init system as a dependency, this is a low level OS layer. That would be like VLC saying you can only use it on distro ‘x’. Do you see the insanity now?

    I coined a new term, “distros will become an add-on to systemd”, read that over again a few times, let it sink in. The lines are getting blurred, will you be using a Linux distro or a systemd distro in the future?

    If what Lennart REALLY wants to do is write his own OS kernel, then that’s what he should do, instead of being a barnacle on somebody elses. He can call it Lennux.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s