3 ms·
One existing technology Red Hat leveraged to achieve this was Gnome. A few years ago, the Gnome developers (many of whom were employed by Red Hat) decided to cr
by makomk 7y ago
One existing technology Red Hat leveraged to achieve this was Gnome. A few years ago, the Gnome developers (many of whom were employed by Red Hat) decided to create a hard dependency on logind which was part of systemd. Other distros were mollified by being told that logind didn't really depend on systemd and they could just take it out and use it. Then, once that was safely ensconsed, Poettering declared that actually using logind without systemd wasn't supported, they shouldn't have done it, and he was going to completely break it. All the desktop distros were forced to abandon their own init systems and switch to systemd, with all the headaches and bugs that entailed.
Another technology they're using is to some extent the Linux kernel itself. The API used to create device nodes when drivers are loaded is undocumented and the only supported way to use it is udev; anyone else can expect to have their code broken by new kernel releases. That, in turn, is now part of systemd and using it outside of systemd is no longer supported. In effect, the only supported way of using the Linux kernel is with systemd and anyone else is on their own dealing with undocumented, backwards-incompatible changes that the developers have no interest in helping them with.
- Xylakant 7y ago> A few years ago, the Gnome developers (many of whom were employed by Red Hat) decided to create a hard dependency on logind which was part of systemd. Nobody was willing to maintain consolekit, the logind folks stepped up to provide a replacement and the gnome folks started depending on it. Everyone could have prevented that lock-in by maintaining consolekit or providing another replacement. Nobody did. To this day, tons of folks complain that gnome depends on logind.
- makomk 7y agoConsoleKit was a Gnome project which was abandoned when they decided to switch to logind. There was actually a fork of it called ConsoleKit2 for a few years but because everyone had to support logind anyway in order to support Gnome and systemd it was a second-class citizen that slowly died out. The distros shipped systemd+logind as default because that was the only option Gnome supported, and the other desktop environments did their testing with logind and let the ConsoleKit2 code bitrot because that's what all the distros used, and gradually it became less and less usable.