X
Business

After Linux civil war, Ubuntu to adopt systemd

After months of often bitter debate, Ubuntu will follow Debian in using systemd instead of its own Upstart for Linux start-up and shutdown routines.
Written by Steven Vaughan-Nichols, Senior Contributing Editor

It was an ugly fight at times. On one side you had Ubuntu favoring its Upstart program to replace the old Unix/Linux init daemon, which oversees the operating system's start-up and shutdown processes. On the other side, you had the Red Hat and SUSE supported systemd.

Finally, after Debian, Ubuntu's parent Linux distribution, voted for systemd, Ubuntu's founder Mark Shuttleworth announced that Canonical would support systemd rather than continue to push for Upstart.

systemd-components.
Say hi to systemd, tomorrow's start-up program for all major Linux distributions.

To understand why this battle grew so heated you need to know something about init. This process is the first one the kernel starts when you boot up a Linux or Unix computer. All other processes are child processes of init. This, in turn, means it oversees implementing file systems configuring the network, and all the other background services and programs. Once that's done, init -- and its successors -- continues to run and watch for special commands such as 'shutdown," which causes the system to close up shop gracefully before turning off the power.

As time went on, it became clear that init was getting too slow and inflexible for today's computers. So, first Upstart, in 2006, and then systemd in 2010 were proposed to replace it. For a time it appeared that Upstart would become the default init replacement, but systemd quickly gathered support. This led to conflict between those who supported one or the other. And, as such things do from time to time in tech circles, it became a flame war.

Even Shuttleworth got involved. In late 2013, Shuttleworth scorned systemd writing, "By contrast, those same outraged individuals have NIH'd [Not Invented Here] just about every important piece of the stack they can get their hands on ... most notably systemd, which is hugely invasive and hardly justified."

Shuttleworth eventually backed off his harsh words, but there was still no love lost between the feuding Linux developers.

This conflict is part of a greater fight between Canonical and Red Hat over the future of Linux. Another argument, still ongoing, is whether the X Window System -- the foundation of Unix and Linux's graphics system -- should be replaced by Ubuntu's Mir or Red Hat/Fedora's Wayland.

With systemd, however, Shuttleworth is taking the high road.

Shuttleworth wrote: "I’d like to thank the committee for their thoughtful debate under pressure in the fishbowl; it set a high bar for analysis and experience-driven decision making since most members of the committee clearly took time to familiarize themselves with both options. I know the many people who work on Upstart appreciated the high praise for its code quality, rigorous testing and clarity of purpose expressed even by members who voted against it; from my perspective, it has been a pleasure to support the efforts of people who want to create truly great free software, and do it properly. Upstart has served Ubuntu extremely well – it gave us a great competitive advantage at a time when things became very dynamic in the kernel, it’s been very stable (it is after all the init used in both Ubuntu and RHEL 6 and has set a high standard for Canonical-lead software quality of which I am proud."

"Nevertheless, the decision is for systemd, and given that Ubuntu is quite centrally a member of the Debian family, that’s a decision we support," continued Shuttleworth. "I will ask members of the Ubuntu community to help to implement this decision efficiently.... It will no doubt take time to achieve the stability and coverage that we enjoy today and in 14.04 LTS with Upstart, but I will ask the Ubuntu tech board (many of whom do not work for Canonical) to review the position and map out appropriate transition plans."

"Init is contentious because it is required for both developers and system administrators to understand its quirks and capabilities. No wonder this was a difficult debate, the consequences for hundreds of thousands of people are very high. From my perspective the fact that good people were clearly split suggests that either option would work perfectly well. I trust the new stewards of pid [process identifer] 1 will take that responsibility as seriously as the Upstart team has done, and be as pleasant to work with," concluded Shuttleworth.

Shuttleworth couldn't resist one last jab, however, adding that "today our [Canonical/Ubuntu] focus is on the cloud and on mobile, and we are quite clearly leading GNU/Linux on both fronts."

Still, this technical war is now over and systemd will be init's replacement on all mainstream Linux distributions going forward. Ubuntu will start using it with its October 2014 release, Ubuntu 14.10

Related Stories:

Editorial standards