[systemd-devel] feature request: dlopen

Tom Gundersen teg at jklm.no
Tue Feb 17 14:03:37 PST 2015


Hi Luke,

On Tue, Feb 17, 2015 at 9:24 PM, Luke Kenneth Casson Leighton
<lkcl at lkcl.net> wrote:
>  i note that there was announcement recently that the systemd team
> 'listens to users', so i am taking you at your word on that.

I believe we are listening a lot. That does not necessarily mean that
everyone will get all that they ask for though...

> i'd like you to look at this list of debian packages that are
> dependent on libsystemd0:
> http://lkcl.net/reports/removing_systemd_from_debian/list_of_libsystemd0_dependent_packages.txt
>
> it's an enormous list, comprising some 15% of the packages present in
> debian today.  it includes apache2-dev, bluetooth / bluez, the gimp,
> php, *all* of the video players (xine, mplayer, vlc), *all* of the
> games and 3D packages that use SDL or pulseaudio (which is most of
> them), *all* of the major desktop environments including xfce4, lxde,
> Gnome and KDE/Plasma, cups-daemon, one of the anti-virus daemons, most
> of the music software packages and services, most of the VoIP clients,
> the android SDK, the eclipse IDE, OpenJDK 7, erlang, Apache
> Tomcat..... i'm just absolutely blown away by the extent of the
> dependencies.
>
> oh - and php as well.  what the heck php5 is doing with a hard
> dependency on libsystemd0 i cannot imagine.
>
> now, because those are hard compile-time dependencies, the only
> possibility for the average debian user who chooses *not* to have
> libsystemd0 present on their system is for them to simply... not use
> *anything* on that list of over four and a half THOUSAND packages.
>
> i think the most important question to ask you at this point is: as a
> team, were you aware of the extent to which libsystemd0 has become a
> hard compile-time dependency on so many critical software packages in
> use today?

Speaking only for myself: no I was not aware of that. Moreover, I find
it completely unbelievable. Admittedly I do not use Debian, and did
not check how they do their packaging, but there is just no reason at
all for most of those packages to link against libsystemd.

> and the second question, which is just as important, is: does this
> shock or alarm you enough to appreciate why people find the rapid
> introduction of libsystemd0 to be so objectionable?

Again, speaking only for myself: no. (Again with the caveat that I
don't actually believe in your statements, but for the sake of
argument...) we are providing software that we hope people find
useful. That includes a C library that people may link against if they
so wish. If a lot of third-party developers chose to do that, that is
firstly a sign that we are successful in creating useful software and
secondly completely out of our control. If you don't want people to
use our APIs, you should address the third-party developers who do. I
really don't see what there is for us to do here.

If you find the existence of libsystemd on your machine objectionable
(note that it does not necessarily entail actually using systemd as
PID1), then a more useful way to spend your time would be to post
patches to make sure the existence of libsystemd does not adversely
affect the software you are running (these patches probably need to go
to the projects linking against systemd). In most cases that I'm aware
of (e.g. the code I have contributed to third-party packages), the
usage of libsystemd is a noop on systems where systemd is not running,
so I really don't see the problem here.

> to the trouble of digging into why libsystemd0 is found to be so
> objectionable.  my take on the matter is that the technical arguments
> - benefits or otherwise - of systemd and its alternatives - is
> completely irrelevant.  over time people *will* develop alternatives
> (and are already doing so: mdev, eudev, uselessd, openrc and many
> more).

Side note: these things are not alternatives to libsystemd (they are
alternatives to udev and/or systemd as PID1).

> no, i feel that it really does have nothing to do with the technical
> benefits of the available options: what people are finding completely
> objectionable is that they have *no good choices*.  it's "use systemd
> or go away" - and unfortunately almost without exception (slackware
> and FreeBSD being two notable ones) that "piss off" attitude is being
> replicated across *the entire GNU/Linux Distro world*.  the situation
> is completely unprecedented and without parallel in the short history
> of software libre (and that's something that, honestly, i find to be
> really shocking, hence why i am contacting you).

I disagree with most of that, but importantly you are missing a point:
many (most?) packages linking against libsystemd can already at
runtime fall back to alternatives. There is really no need for dlopen
for this. The only cost you have is to have the (possibly unused)
libsystemd library around on your system. It will be far from the only
unused library you have, so this really seems like a tempest in a
teapot.

> overall, they feel that they're being forced into the use of something
> that they feel has not been properly thought through, is still under
> development, is increasing in scope in a way that alarms them due to
> there being no other choices, causes them some huge inconvenience that
> they'd rather have a bit more time to consider but they are *not being
> given that chance*, and much more.

I encourage you and anyone else who fear the lack of alternatives to
work on creating alternatives. This is really the wrong audience
though. Unsurprisingly, the systemd developers are probably the people
least interested in creating systemd alternatives...

> i have to tell you: i even heard, on slashdot, that microsoft is now

I'm sorry, but that is not the way someone who wishes to be taken
seriously should start a sentence...

Best of luck!

Tom


More information about the systemd-devel mailing list