[systemd-devel] What I think is really wrong with systemd

Ahmed S. Darwish darwish.07 at gmail.com
Wed Sep 16 08:13:53 PDT 2015


Hi,

On Wed, Sep 16, 2015 at 01:20:58PM +0200, Martin Pitt wrote:
> Thanks Colin for your reply!
> 
> Colin Guthrie [2015-09-16 11:30 +0100]:
> > > Normally, you have a major version and a minor version. If the major
> > > version changes, it is an alarm to do throught testing to see if
> > > everything works wellon the new one. Minor changes are minor, so they
> > > require less testing.
> > 
> > Minor, major etc., this doesn't matter. Even minor changes can introduce
> > major bugs. The fact that someone arbitrarily decided "this is a minor
> > change" doesn't make the change safe in any way. Testing of such key
> > components should be the same regardless. Adopting such a scheme in a
> > project like systemd serves no purpose but to create a fake illusion of
> > "safeness".
> 
> I just want to emphasize this. We've seen the smallest bug fixes cause
> trouble in totally unexpected corners. Major new features are actually
> less risky, as nobody is relying on them yet. :-)
> 
> Especially on desktops/phones/customer devices etc. the software world
> has pretty much moved from these "major new release every year"
> towards a continous delivery of features and fixes, together with
> continuous integration testing of those. The latter ensures that we
> don't break stuff no matter how big the change is (in theory at least,
> we all know practice..), and it tremendously helps to take pressure
> off developers to cram their feature into next week's deadline for
> feature freezes.
>

Not to mention that the same rolling-release model was adopted by
the kernel long time ago for similar reasons and much more ;-)

@@@ To dottomi, the original poster:

systemd is a core port of Linux ecosystems these days, just like
the kernel. It's a foundation layer that finally brings some much
needed order, coherency, and vertical integration to the mess that
is Linux userspace.

This vision is _way different_ from how Linux was built in the past,
and people will need to re-learn things and ease out their own
attachments to the old way of doing things.

For more details, check Greg KH article on the futhre of Linux as
a _tightly-coupled_ "core distro":

        https://plus.google.com/+gregkroahhartman/posts/V2t57Efkf1s

This tight-coupling is the vision of things going forward; a tight
core containing the kernel, kdbus IPC, systemd, polkit, logind,
and other core userspace daemons. Initiatives like GNOME xdg-app [1],
and new KDE versions [2] are also tightly-coupled with such core.
Check the link at [2] to understand the valid reasons upstream
developers are voting with their own development time for such
coupling.

Yes, this will leave people who enjoy configuring their systems
to the smallest minutiae (Gentoo users, etc.) a little bit on the
dust. But before putting all of the blame on systemd, please
remember that:

- This is the path most of the relevant upstream developers are
  embracing (Gnome, xdg-app, KDE)

- This is also the path most of the industry has taken since the
  2007 in the form of iOS, Android, OLPC [3], and Apple TV.

- Surprise, surprise, this is also the same vision currently
  embraced in the serverland in form of CoreOS, etcd and fleet.

Regards,

[1] https://wiki.gnome.org/Projects/SandboxedApps
[2] http://blog.davidedmundson.co.uk/blog/systemd-and-plasma
[3] https://lwn.net/Articles/494095/

-- 
Ahmed Darwish
http://darwish.chasingpointers.com


More information about the systemd-devel mailing list