Shoveling stuff in other people mouth

Recently I came up to read this thread the initial proposal is to add systemd in some kind of fashion to gnome, with Lennart suggesting new and many features coming from that.

That alone isn’t a problem until people not caring about a broken toy from him (both systemd and pulse had been and are considered as such) can keep playing with gnome with their toys (e.g FreeBSD, any non systemd linux distro). The thread then evolved in something that could be sort of summarized with systemd developer not caring about anything else but Linux and so Gnome should do as well, with extremes from other people suggesting to ditch distributions and have a Gnome OS alone.

In the light of what happened before with HAL and on a minor degree with pulse that makes me wary.

So people willing to use Gnome in Lennart opinion must probably:

– Use Linux

– Use systemd

A quick reality check tell me that:

– Sun contributed a lot to Gnome, there are plenty of BSD users hacking on Gnome and/or using it.

– systemd is still a broken increasingly complex mess and the fact it needs _that_ many linux specific features to try to work tells a lot (Remember the UNIX way: small simple things you can understand and replace quickly)

– Gnome isn’t something that doesn’t have good or better replacements (Unity and Xfce come to mind if we want to consider gtk+)

I already switched from Gnome to e17 long time ago since I want that the WM/visual shell doesn’t get in my way and let me do what I want as I want.

Keeping Posix as baseline is important. Having your software working in different environments help you spot bugs quickly, get a more wider audience and generally improve. Even if I don’t particularly like KDE still I consider their approach to make porting KDE everywhere as easy as possible laudable.

***Update***

Sebastian asked me if there could be something constructive about this post since it looks pretty much a rant. Well, most of the post IS a rant (and categorized as that) and a not so humble request to not rush adopting/forcing upon people random technologies as they are sound and tested when they are not at all.

There isn’t anything constructive to be said, I just hope that we don’t have yet another situation like the one we had with other unproven technologies forced upon people like HAL had been.

On a side note, not completely related I wonder why people wants systemd  and doesn’t ask us to adopt upstart then. It is from Ubuntu as systemd is from Fedora, and Ubuntu at least tries to be present in non-desktop environments while Fedora is quite focused on the Desktop and only that.

Gentoo has OpenRC as init system. It is simpler and smaller. Works well in quite a good number of environments and for a quite large deal of situations. Surely there is space for improvements but at least does not require daemons to be written for it and had been tested in years.

14 thoughts on “Shoveling stuff in other people mouth”

  1. Just so you know, I’ve been using Gentoo since 2003, and I really love it. It’s on all my machines (laptop, desktop, media center, servers, you name it), and I don’t think I will ever change… unless something cooler appears in the future. But that doesn’t seem probable in the near future.

    I also have been using Linux/Unix since 1996. I have used (and programmed in) Solaris, HP/UX, AIX, and *BSD.

    And I also use the GNOME 3 overlay, together with the systemd overlay. I also love them, BTW. And while I don’t use the GNOME 3 overlay in all my boxes (I don’t need GNOME 3 in my media center nor in my servers), I do use systemd in all of them.

    I really respect your opinion as a Gentoo Developer (and thanks, BTW, for helping to make my favorite distribution even better), but I respectfully disagree with what you are saying here. Not only because I think systemd is great (and pulseaudio and avahi too, BTW), but also because I think you are misinterpreting some things.

    If systemd is integrated into GNOME, it still will be able to compile and be used in all the other Unixes, and it will not be *mandatory*. But if it’s available, it will give us some really cool features.

    GNOME will implement some interfaces (via dbus, probably): if the underlying OS can fulfill them all, great: If not, it will be marked so and not use those features. That’s all.

    With the use of USE flags, people in Gentoo who (for whatever reason) doesn’t like systemd would not have to use it. And people in *BSD or Solaris, who actually *can’t* use it, would not need to worry about. They will lose some features, that’s all.

    So nobody is shovelling stuff in other people’s mouths. This is Open Source: people write what they think is cool code, and we get to use it *if so we desire it*. If not, we can always keep using Linux 1.0, and GNOME 1.2. That’s our choice. Or even better: we can take the code and change so we don’t need to use things that (for whatever reason) we don’t want to use.

    I really like the way the future is looking: GNOME 3 and systemd and the new kernel features and everything managed in my favorite distribution looks awesome, and with the things coming in the future it would look even awesomer.

    Just my 2 ${CURRENCY/100}. And again, thanks for helping to mantain my favorite distribution.

    1. The problem is that pulse, avahi and systemd are half finished and even if for your specific needs they appear to work they have sore issues, the biggest one is that the author refuses to consider them problems at all. From the discussion in the thread we aren’t talking about using abstractions (and in that case nifty stuff like devd would fill the needs quite well) but about “optional now, later maybe not” direct deps.

      1. Again, I respectfully disagree at least with pulseaudio and avahi: They’re quite mature right now, and they work for the use case for what they were designed: The desktop user. I certainly don’t use pulseaudio in my servers: But I do use it in my Media Center. It works great, BTW.

        systemd has been alive one year, so you’re right is “half finished”. However, it’s quite usable, and Poettering has just made a comment about now it guarantees ABI compatibility for future versions.

        And for your last comment (“From the discussion in the thread we aren’t talking about using abstractions”), this is quoted from the thread:

        I don’t think Lennart is being unreasonable in suggesting that underlying systems share interfaces. It’s what we do right now with really core stuff (e.g. libc), and it’s what we do with other desktops for certain D-Bus interfaces.

        I think Evandro’s proposal is fair as well. We could set up a
        wiki page listing D-Bus interfaces we expect to be available.
        And not just for systemd-related things. Don’t like PackageKit? Fine, whatever, but we expect you to make your stuff implement this interface.

        It’s not like Slashdot reported, that GNOME is really considering being Linux only (nor systemd mandatory: If you read the proposal it actualy says “I’d like to propose systemd (GPL2+, http://www.freedesktop.org/wiki/Software/systemd) as blessed external dependency for GNOME 3.2. “).

        Emphasis mine. Blessed external dependency, not mandatory dependency.

        And finally, again: This is Open Source. You can always modify/fork the project if you feel so strongly against the direction it’s taking. Or not using it at all, like you yourself says when pondering about Xfce or e17.

        But really, nobody is shovelling stuff in others people’s mouth.

        1. pulseaudio is known to have bugs, like the fact running it as shared daemon is made as hard as possible even if linux is a multi-user operating system. Regarding avahi it is partially my fault not having tracked the bug I had with it but solve it disabling bonjour in pidgin and be done with the only use I had with avahi…

          The post in which the BSD oses are compared as toys are still there, same could be said for the ones about GnomeOS.

          I do hope there are still reasonable people left in the gnome project. I don’t care much about Gnome alone currently, I care about openrc and not having systemd around nor have people asking for it “because gnome needs it” and other usual way to shovel stuff down people throat, see the HAL debacle and how it had been replaced.

          1. Yeah, sometimes errors occur. HAL was not a debacle: It was an experiment, and it failed. Some users had some problems, some time and effort was lost trying new things.

            In this case (HAL), it didn’t pay off, or it pay off by letting us know that the hardware abstraction that HAL provided was not worth it. But in general this kind of experiments pay off: ALSA, X.org, udev (remember devfs?), dbus.

            The alternative is not trying new things and not progressing.

            I liked OpenRC, I used for almost eight years, and it was kind of OK (it has never been really good, if I’m being honest). But in my humble opinion, systemd is light years ahead of it, and it should replace OpenRC as the recommended init system in Gentoo (as it would eventually replace the init systems in almost all the other distributions).

            Maybe not replace it now, maybe not this year: But at some point in the future I think it should. Various people (including myself) have been working in that direction since some months ago (look at the bug in bugzilla).

            But again, it’s not shovelling stuff in anybody’s mouth: you will be able to use OpenRC as long as someone is willing to maintain it. Hell, if you were crazy enough you could use HAL until the end of times.

            Just don’t get so angry just because some people take a decision believing it’s the technical correct one. Even if they make mistakes, like with HAL: Experimenting new things it’s the only way of making progress.

          2. Why is “light years” ahead? Why should I replace openrc that runs my daemons correctly with something that forces me to rewrite them?
            I get angry because I know HAL was wrong, I wrote about it suggesting something simpler years ago, what we got now fits pretty much the description.
            Shame on me for not writing it myself and/or push people to get in that direction, I’d say.

            I get angry because systemd is just hype and unsound technical choices.
            And it is getting shovelled down our throats either by good-willing people like you.
            Why nobody sane uses xinetd to run apache? That is one of the key issues I have with systemd.

  2. I can’t help but feel this is a classic failure of abstraction. gnome is largely written in C. C is awesome, but GUIs are perhaps one of the few places where OO has proven time and again useful. C can be written with OO style and indeed the gnome stack certainly does this, but a project of this magnitude really does expose the weaknesses.

    Another Gentoo dev recently bashed KDE, saying they worked around platform differences rather than changing things upstream. With this latest turn, I couldn’t agree more. And now we see the harmful effects of failure to abstract and go with a monoculture. Thanks, but no thanks. I’ll stick to KDE.

    1. C has nothing to do with abstracting or forcing stuff into bigger projects to get more acceptance.

      Object orientation isn’t linked on a language (gnome is _quite_ object oriented). Still as I said, the KDE people managed to do a better job in supporting platforms.

      Still xfce and e17 do not seem to have the same shortcomings of the future gnome. Or maybe if enough people will protest and/or code around, not even gnome

    2. KDE is not a good example of successful abstraction. I tried to emerge krita yesterday after reading some stuff about the new release, but I gave up before even saying yes to emerge -a when I saw it wants to install scsi stuff, update udev, install udisks, whatever that is, obviously I would need a new gnupg version to use krita too, and how could I get by without sdparm and x264? And of course policykit, consolekit, even polkit-gnome is pulled in!

      1. Maybe this is a gentoo-specific problem, please make sure to check if it isn’t just an use-chain having unexpected side effects, otherwise please open a bug so it could be investigated.

  3. I like the idea of socket-based init even if the only current implementation is part of gnome’s OS X copycat efforts. Is anyone working on an open replacement for systemd yet? Can’t we plug xinetd into openrc for this?

    1. Yes, we could, BUT most daemons need to manage their own sockets properly and that’s why xinetd isn’t used to run a good chunk of network daemons.
      I prefer solving one problem at time, not adding more in the mix

Leave a Reply

Your email address will not be published. Required fields are marked *