FESCo, features and systemd

One of the new exciting features that was tenatively planned for Fedora 14 was systemd, a new cool init replacement. In tuesday’s FESCo meeting, it was decided to defer this feature until Fedora 15. There were problems in this process that I think we can learn from and try and do better with moving forward, but first; why did we want to defer it? (note: I am not speaking for anyone but myself here).

Documentation was not really ready. It could possibly have been by F14 release, but it was a tricky subject: Do we mention systemctl for only those services that use it? There was no available GUI that would enable/disable native systemd services, so we would require systemctl command line, which doesn’t seem ideal.

chkconfig/system-config-services has not been converted to deal with native systemd units.

Packaging guidelines are not yet in place for systemd unit files. Granted that for most packages the answer is: “keep shipping your sysvinit script like normal”, but we HAVE converted some packages to native unit files. We need to be sure that we are setting them up right and that we don’t have to go back and re-do things when we have guidelines.

A general feeling that we were rushing to get this in NOW NOW instead of feeling confident that we were ready to have millions of people use this.

Note that this is just defering this from being default in Fedora 14. It’s a great idea, and I am looking forward to it.

However, that said, mistakes were made, and I’d like to step up and appologise and see if we can learn to avoid them again:

This should have been on the previous weeks FESCo meeting agenda. The systemd test day was going on then however, so I was waiting for that to have more data, then we just ran out of time. This was my fault. I think we should try and discuss such things even if we don’t have all the data. We could at least talk about the data we do have.

The process for reverting a feature (enacting it’s fallback plan) should be enumerated fully. When can this happen by? Does it require a majority vote from FESCo? We need to add this to our Features Policy. When systemd was approved as a feature there were several people who stressed that we would review it and decide if it should be default later in the cycle. In this meeting we had a number of people who were ok with systemd in f14, but not 5 votes, which I read as lack of approval of this. I feel bad about this process because it seems like we were invinting it on the fly, which is bad.

I could have communicated better with the feature owner. He was CC’ed on the meeting ticket, so should have known it was going to be discussed, but we should have tried to bring him into the discussion. I’m sorry.

I filed the trac ticket on 2010-09-08 asking all FESCo members to vote on the issue. We had 3 people vote and add comments there from FESCo. We need a better way to deal with urgent non meeting items. Special Sessions? Subject line showing we need a vote? If you find yourself unable to vote in tickets or attend meetings, perhaps it’s time to step aside?

Now, some things that went Right here which I think should be called out:

Lennart (The feature ower/author of systemd) has done an outstanding job of working on bugs and getting things working and fixed. I think systemd is on track to be very solid for Fedora 15.

QA has done a great job of testing and finding issues and pointing out bugs.

Bill Nottingham has done a great job of adjusting the initscripts/upstart/other packages for systemd as well as coming up with test plans for systemd.

Finally, I’d like to offer a personal appology to Lennart on how this process happened. Sorry. We will try and do better. Please make systemd good and solid for Fedora 15!