Thoughts on the Fedora feature process

Fedora 14 was the third release that I’ve been involved in the Fedora feature process and to be honest for most of the things that I do in Fedora I think its going to be my last. I’ve found all processes when involved with Moblin and then MeeGo to be generally unpleasant and stressful so now I basically don’t see the point. My life seems to getting more and more stressful, I’m getting more and more grey hair so I’m reviewing the things that are making me stressed and seeing how I can expunge them from my life.

Don’t get me wrong generally I think for core features such as systemd there needs to be a process but for things like KDE 4.5 what is the point. Its going to be there, and in the KDE case where its likely it will be pushed to Fedora 13 and Fedora 12 anyway is it really a feature of Fedora 14?

So a little bit of history of the problems I’ve had and why I don’t want to participate any more….

For Fedora 12 I introduced the Moblin 2.0 “Feature” and at worked my butt off to get it all into Fedora 12. There were many flames on the list regarding the feature by narrow minded people that hadn’t even bothered to try it. By feature cut off there was one or two minor packages in review but in general the interface was working but because it wasn’t “feature complete” it was decided that it would be dropped. Oh well there goes all that work without even bothering to ask me (the Feature meetings are pretty much impossible for to attend due to timing). That whole process was stressful but it got worse as the spin request was also dropped because the feature was dropped. It turned out that people actually wanted the Moblin feature so spot (from memory) proposed to ask FESCo to review the dropping of the feature and in discussion somewhere it was decided that it the feature would be complete enough to be worthy to accept.

Fedora 13 went along similar lines. I proposed Moblin 2.2 with a fall back to Moblin 2.1 if it wasn’t released in time. It was massively complicated by upstream dropping the 2.2 release and announcing the MeeGo project. Again the Feature was dropped even though Moblin 2.1 was working and basically complete. Admittedly we didn’t have Moblin 2.2 but then that didn’t exist! Some how the Feature being dropped escaped notice by the Spins process and we still ended up with an official Moblin spin albeit about 4 days late to the release due to some rel-eng issue that has long escaped my mind. The same major issue reoccurred though…. the process was stressful and still there were the vicious threads on the devel mailing list! The other interesting part of that process was that I actually started receiving hate mail! I can mostly deal with the, at times, pretty horrific threads on the devel list but personal hate mail took this to a whole new level! This was starting to go from stressful to truly unpleasant.

Fedora 14 was a change…. the feature wasn’t dropped! In terms of the random decision process that is taken to see if a feature is in fact complete it seemed that MeeGo 1.0 ticked all the boxes. It had issues, I knew it had issues and I had plans to address those issues to get it sorted in time for release. The one thing I hadn’t truly expected, although to be fair I should have, in this release process was my $dayjob absorbing essentially 100% of my awaking time. I spent the best part of two months working pretty much 7 days a week. In fact the only weekend I had off in that time was my pre-booked side trip to FUDCon Zurich. The other interesting point was that no one was testing it, I have no idea why as there was nightly spins. I know that because it seems at some point MeeGo UX broke in Fedora and no one logged a single bug report or sent a single mail to say so. In the end I made the decision to drop the feature from Fedora 14. I probably made this decision too late and that was my fault but these things happen. There was also a lot of uncertainty regarding the use of the MeeGo UX where it didn’t meet upstream’s (completely undocumented at the time we were investigating it) demands and policies. What didn’t change in this release cycle was the usual hurtful flames on the devel list and the personal hate mail continues. Of course the people are sending the hate mail because the MeeGo UX in Fedora doesn’t work and they don’t want to actually do any work to help fix the problems, they just want their feature and they want it NOW!

The other major problem I have with the feature process is that no one really seems to follow it properly. The major example of this was the Python 2.7 feature for Fedora 14. There was clearly work going on for Python 2.7 in Fedora 14 but it landed in the mainline development about two days before the feature process closed out. WTF!!! Here you go suckers…. my feature is 100% complete in time…. you spend the last couple of days of the feature process not polishing and testing your features but fixing and recompiling all the crap that I missed in my process….. there goes a week! That sucked. Fedora 14 was branched off rawhide at the alpha release. That is when major changes like python for Fedora 15 should land. That was the whole reason that Jesse proposed the early branch model! Then there’s over 6 months until the F-15 Beta hits for everyone to get it all fixed up. Between that and the five or six unannounced breakages of the evolution requiring dozens of new package builds, the gnome shell guys randomly pushing changes without bothering to check and see if it affects anyone else and then not even helping to fix the breakages.

So the worst thing I’ve discovered with features is not really the actual process but the barrage of “I’m right Jack” attitude as people rush to get their features marked off as 100% complete and the lack of care towards others needs and requirements. Oh and the flame wars on devel and the hate mail.

I feel that if there’s no expectation of a “feature” being there there will be two pluses…. people have no reason to flame me and if it happens to work there will also be a pleasant surprise when they discover it. The downside will be that as its not defined it won’t be there for marketing to use to promote Fedora. I agree that will be a problem but well in the “I’m right Jack” attitude of others…. that’s not my problem.

BTW there will be a separate post to cover the MeeGo UX in Fedora later before people ask.

2 thoughts on “Thoughts on the Fedora feature process”

  1. oh, and BTW, I agree that the feature process is often a bit of a waste of time, especially since our policies make it easier to introduce a feature if you don’t in fact denote it as a Feature. All that denoting your feature as Feature seems to bring is pain, bureaucracy, and a small amount of publicity.

Comments are closed.