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

> 1. As the site says, systemd is both an init system and a collection of programs that make sense to have in a system. One can already strip most of everything from it (I think only journald is mandatory), and there is usually a stable api between every component, so one can simply replace them.

The only stable APIs in systemd are the ones that the whole agglomeration of programs provides to the outside world. Anything else can and will change and break without warning according to the systemd developers.

>3. I can agree with that. But it's not that sysinitv or upstart worked on non-linux systems (without ugly hacks)

Didn't matter, they had their own init systems and until systemd came along very little software depended on a particular init system.

> Gnome will depend on systemd when under wayland, that's instead a fact. Actually, on logind, which has an api that anyone can reimplemnt (https://blogs.gnome.org/ovitters/2013/09/25/gnome-and-logind...)

According to the chart someone else linked, which I think is by the systemd developers, logind cannot feasibly be reimplemented and the systemd version can't be used by anyone else: http://www.freedesktop.org/wiki/Software/systemd/InterfacePo... In practice, no-one has managed to reimplement anything beyond the most trivial APIs exposed by systemd. Some (like the whole new-style daemons API used by many daemons ported to systemd) literally cannot be implemented by init systems that aren't structured the same way as systemd.

> 11. Nobody is forcing anyone to adopt systemd. It's getting adopted because distributions and developers think it's better.

In at least some case, it's getting adopted because important software has been rewritten upstream to depend on systemd.




> logind cannot feasibly be reimplemented

I disagree that is what the chart shows. A bit later in the document they say

> If you decide to reimplement one of the APIs for which "Reimplementable independently" is "no", then we won't stop you, but you are on your own.

so I think they mean to say sth different than "the APIs can't be tried to be implemented at all".

I think when they say "reimplementable independently" they mean "to develop a feature-par system", which might be way too strict. For example, the unit format also is marked as "not reimplementable independently", when it is clear it is in some form; plausibly, some attributes one can specify in unit files as implemented by systemd can't be replicated in other systems, but that doesn't mean there can't be similar, partially-compatible implementations. I guess in some (most?) cases, those might be enough.

Also, logind's case might be marked as not reimplementable independently to discourage forks like Ubuntu's, which caused their version to remain stagnant when the API changed upstream. I'm not sure, but logind's API might still be a moving target, so a reimplementation might have to face some issues.




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

Search: