Hacker News new | past | comments | ask | show | jobs | submit login

As someone who thinks systemd, as well as the entire OSS practice of "we're bored, let's re-invent the wheel"[1], is taking everything in the wrong direction: you still don't handle this with abuse. You deal with it via forking.

[1] http://www.jwz.org/doc/cadt.html




If systemd was willing to conform to a standardized interface, published on freedesktop.org or similar, so that it was possible to swap out compatible implementations, I would agree with you. But instead the systemd folks deliberately make incompatible changes that they know will break non-systemd systems (e.g. Gentoo). At that point a fork does no good; it's "dos ain't done 'till lotus won't run" all over again.



Those are between systemd parts and third parties. I believe that the issue are instead the interfaces between systemd pid1 and its various parts.

Consolekit could live on top of any and all inits out there. Logind balks if it does not have systemd sitting as pid1.


The good old "design by commitee", catering for a still-unexisting alternative init system implementing the same interfaces?

No, thanks. systemd's interfaces are publicly available and with good enough documentation. Most of them are even declared stable, only the internal ones are obviously free to change.

In fact many project are now attempting to reimplement systemd's interfaces as this is how FLOSS work.


You don't have to design by committee, but you do have to publish your interface and commit to keeping it stable. Yes, this slows down development, but it's essential for interoperability.

Of course the alternative doesn't exist yet when the interfaces change every week.

And systemd's definition of "internal" is rather dubious; to most of us, udev or journald should be separate components that can be swapped out.


Publish the interface and committing to keep them stable is exactly what the systemd team did.

Of course internal interface are not stable and sparsely documented, but they are just that, internal.

Reimplementors should only bother about the public interfaces.

Note that udev does not use systemd internal interfaces and happily runs on non-systemd systems.

Journald can be disabled if you don't want it, or you want to run it on non-systemd?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: