Linked by Thom Holwerda on Fri 8th Mar 2013 16:13 UTC
Ubuntu, Kubuntu, Xubuntu Mark Shuttleworth: "I simply have zero interest in the crowd who wants to be different. Leet. 'Linux is supposed to be hard so it's exclusive' is just the dumbest thing that a smart person could say." He's right. Lots of interesting insights in this blog post - I may not agree with everything Ubuntu does, but at least it's doing something.
Thread beginning with comment 554906
To view parent comment, click here.
To read all comments associated with this story, please click here.
Lunitik
Member since:
2005-08-07

Talk about an NIH project. RH could easily have used Upstart or runit or any of the other pre-existing improved service management systems but no,they have to create their own (inferior) one.


systemd exists because upstart is fundamentally broken.

With upstart, if you start dbus, every service which can use dbus which is installed will start. This is not at all useful or intelligent. There are other problems systemd solves too, for instance every service can be managed directly, so its RAM and CPU use is configured as it is initiated. Further, each can have their own /tmp which is one of the leading causes of security issues on a Unix system.

Further, systemd isn't just a simple init, they are integrating the entire core. This means that Ubuntu will have to rewrite things like udev themselves or get on board with systemd eventually. Do you think Ubuntu has the man power or knowledge to manage all that stuff which has contributed to their usability? If they don't adopt systemd we will see soon enough.

If upstart had been done correctly, systemd wouldn't exist, but the simple fact is upstart is awful. There is no possibility of fixing it because its basic design is what is wrong. In the same way, Mir has been implemented because Canonical think something is wrong fundamentally with Wayland. Again, if Wayland had fulfilled what Canonical wanted, perhaps Mir wouldn't exist, but it doesn't apparently.

I don't think either of these have reasons beyond technical for existing, although few want to sign a CLA for the Ubuntu stuff and none of that is being adopted outside Ubuntu because of this. Mir will again be an Ubuntu-only program.

Edited 2013-03-09 23:37 UTC

Reply Parent Score: 2

Soulbender Member since:
2005-08-18

With upstart, if you start dbus, every service which can use dbus which is installed will start


No, that's not how upstart works. Only those services that has been configured to depend on dbus will start with dbus. It does exactly what a service management system is supposed to do: it manages services.

for instance every service can be managed directly, so its RAM and CPU use is configured as it is initiated.


Upstart can do this too. It's called ulimit and it's been around for ages.

Further, each can have their own /tmp which is one of the leading causes of security issues on a Unix system.


a) that can be done trivially without systemd
b) shared /tmp is not a leading source of security issues in Unix, insecurely created files are.

Further, systemd isn't just a simple init, they are integrating the entire core.


And that's one of the main problems with systemd. It does too much and integrates too many things, like suggesting that GNOME has systemd as a dependency. Welcome to stupid design 101.

The only good thing about systemd is that it obsoletes SysV init.

although few want to sign a CLA for the Ubuntu stuff and none of that is being adopted outside Ubuntu because of this.


Really. CLA seems to work fine for Apache, JQuery, Node etc etc. I don't see any lack of uptake for those projects.

Reply Parent Score: 3

Lunitik Member since:
2005-08-07

No, that's not how upstart works. Only those services that has been configured to depend on dbus will start with dbus. It does exactly what a service management system is supposed to do: it manages services.


This is exactly what I said, and is broken.

It should start services that are needed only, for instance I probably want NetworkManager on a desktop system perfectly good, but I do not need avahi to also come up - I would prefer avahi initiate if I use a printer or actually try to do something with avahi.

On upstart, the only way to ensure avahi isn't brought up is to remove avahi because it depends on dbus, this is broken yet is a fundamental design choice of upstart and cannot be changed - it is exactly why systemd exists in the first place, upstart does things in the wrong direction. Systemd starts based on what you're trying to fulfill, upstart starts based on what is possible to start now that this service is up. It doesn't do something intelligent like the avahi situation I started.

Upstart can do this too. It's called ulimit and it's been around for ages.


systemd does this via cgroups, so its rules pertain to every fork of a given process. In the server space, this is very useful, because I really don't want to have to set ulimit on every module of apache, for instance.

a) that can be done trivially without systemd
b) shared /tmp is not a leading source of security issues in Unix, insecurely created files are.


The very fact /tmp is shared is something broken. I assure you whatever trivial way you're listing isn't as easy as systemd's PrivateTmp=yes in the unit file.

And that's one of the main problems with systemd. It does too much and integrates too many things, like suggesting that GNOME has systemd as a dependency. Welcome to stupid design 101.


Systemd integrates things that make sense for it to integrate. For instance, the journal instead of random log daemons that each do something a little different. It is designed again to make an admins life easier. Further, it does logrotate in an intelligent way instead of having logrotate trying to integrate any number of random log daemons. They are also ensuring different files on the system are in particular places, no more divergence for no particular reason. It also does what xinetd and init and at and cron each used to do, which for a UNIX vet all make sense, but for any intelligent person simply doesn't. This brings us to the GNOME dependency, gnome-session also does much which should be handled by the init system itself, because it is initializing GNOME. There is no reason to have 10 different ways to initialize different things on the system, handled differently by every distro due to the differing scripts, all logged in different ways etc. systemd brings all this together, and makes a Linux system make sense again. Yet manages to do this in a way that is actually still smaller than upstart, which does none of this. systemd stops the redundancy of a task which should be extremely simple - which you touch here:

The only good thing about systemd is that it obsoletes SysV init.


But it also simplifies every admins life, while doing the right thing in all situations.

Really. CLA seems to work fine for Apache, JQuery, Node etc etc. I don't see any lack of uptake for those projects.


These are not signing a CLA over to a company.

Reply Parent Score: 2