[systemd-devel] feature request: dlopen

Lennart Poettering lennart at poettering.net
Mon Feb 23 04:11:47 PST 2015


On Mon, 23.02.15 01:37, Luke Kenneth Casson Leighton (lkcl at lkcl.net) wrote:

> > Convince the upstream developers
> > in question not to link against systemd's libraries, or convince the
> > distros not to package it like that.
> 
>  well, you could provide hints in the documentation (and force them to
> be read by deliberately changing the API)

To make this clear: I think dlopen() is a really bad idea. It
complicates code, hides dependencies, fucks up API versioning and I am
very sure I will not push people to use it.

>  and you could provide an example by leading the conversion.  for
> example, i understand that you're the developer behind portaudio?

This is non-sense. I have nothing to do with portaudio.

> that would be a good place to start, showing people how to begin the
> process of dlopen()ing libsystemd0, documenting it well so that it was
> easy to follow.

> > We just offer a library, which
> > apparently is interesting to people to use, but whether they use it is
> > really not up to us.
> 
>  well... they've used it, alright.  so much so that there isn't a
> single major GNU/Linux distro left, nor a major GNU/Linux desktop
> environment, that may be used *without* systemd or a
> systemd-compatible component.  xfce4, lxde, kde, gnome - they're all
> now critically and exclusively dependent on systemd. 

This is non-sense.

>  * distros are forced to follow suit on upstream decisions, without
> consulting what any other distros do

Well, distros don't write software. Upstream projects do. The ones who
write the software make the decisions which APIs the software
use. It's that simple. 

If you want to make decisions on how software is written, then write
software. Or pay people to write software. But that's really it.

>  * distros are (with the exception of gentoo, freebsd and macports as
> they are all source-based) forced to hard-code the best possible
> compile-time options that are *available* to them

This is non-sense. Nobody is "forced" by anyone here.

>  * the upstream decisions on a per-app basis have been made "in
> isolation" without a proper across-the-board cross-project analysis.

Yeah, it's how open source works. The developers can do what they
want. And you have the liberity to fork their stuff if you are
unhappy.

I encourage you to do so, and stop annoying people who actually do the
work.

>  * the development of systemd has been done in the perfectly
> reasonable way of using fedora as the proving-ground... in isolation
> from other distros.

This is non-sense.

When we started Kay was working for Suse not RH, and we probably
adopted more Debianisms in systemd, than -isms from any other distro.

>  end result: systemd is now *the* de-facto PID 1 across all major
> GNU/Linux distros in the space of something like under a year, with

This is non-sense.

Nah, systemd is 5 years old now. It took five years to get most
distros onboard.

>  unfortunately, on all the major GNU/Linux distros, the correlation
> between "libsystemd0 being present" and "every other PID1 management
> system being excluded from consideration" is near 100%.

This is non-sense.

>  the detection tobias mentioned that it may have been *intended* that
> libsystemd0 provide, of remaining dormant if systemd is not detected
> as PID1 should signal to the upstream developers that they should
> *permit* alternative PID1s  to run, but in reality the upstream
> developers have simply ripped out all alternative code - not even
> provided a compile-time switch to support the previous code.  the KDE5
> developer recently removed the code that used console-kit (etc. etc.
> whatever it was) and replaced it with a d-bus call to logind, for
> example.

This is non-sense.

When I added logind support to gdm for example I carefully made sure
to keep the ConsoleKit codepaths in place, so that gdm could work
against either, and the choice could be made at runtime. I did that
precisely to allow people like you to stick to CK.

> and *importantly*, provide a backup choice in case something goes
> wrong with systemd.  hit-by-bus scenarios, monoculture development
> leading to ecosystem-wide malware exploits across multiple GNU/Linux
> distros, that sort of thing...

This is non-sense. You have no idea how Open Source works. Since the
source is open somebody else can and will take over if I disappear.

>  ... except the rapid and wholesale exclusive adoption of systemd
> across the horizontal (isolated) layer of upstream and the vertical
> (isolated) layer of the distros *isn't allowing for any competition to
> grow*.

Well, our project apparently was a lot more convincing than all other
options, hence distros adopted it. 

If you think you can put together something better, please do, make it
convincing, and people will adopt it instead. 

>  regarding the "evil shit" innuendo, amusing as it is, that i feel
>  is

It's not an "innuendo". It's pretty explicit.

> a red herring.  i'm aware for example of several independent technical
> analysis of the code quality of systemd have encouraged others (the
> author of uselessd being one example) to make it much more
> cross-platform portable (he took version 209 i believe as the starting
> point).  that's a good thing: the end result is that the design that
> you went to a lot of trouble to put together now has a [partial]
> implementation that is of very high portability quality so that it
> could even conceivably be installed on FreeBSD or god help us all
> Windows or ReactOS... but this is all irrelevant.

You obviously have no idea about developing.

>  everyone - the GNOME team, the KDE team, the cups developers - they
> all work (very very hard, and very competently, it has to be
> emphasised) in isolation.  the distro maintainers have been presented
> with the fait-accomplit decisions of the upstreams.  _they_ work in
> isolation (again, being extremely competent in their dedication to
> their chosen tasks).

I think you work in isolation. 

I am certainly not. I partake in more conferences, talk to more people all
day, and take part in more email threads than most.

>  and suddenly... without anyone noticing... there's no choice left but
> to use systemd.

Well, 5 years in IT is certainly "suddenly". It's a long long time.

You have written an awful amount of non-sense on this mailing list in
the past days. I think it would be appreciated by everybody on this
list if you did this elsewhere instead,

thanks,

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list