Wednesday, January 21, 2009

do you believe in fate?

I'm not talking about destiny, but rather the new feature tracking system recently launched by the OpenSuse crowd. You can read more about Suse's Fate system on their wiki as well as on Klaas' blog.

It's no big secret that I'm not a fan of Bugzilla. It does the job, it's well known and understood, but .. yeah .. it could be better, shall we say.

One thing I really don't like using Bugzilla for is feature requests. It's just fine for defect reporting, but as a feature request system it leaves a lot to be desired. Uploading screenshots, having discussions, tracking status and much more that is pretty important to the feature request dance is really not well supported by Bugzilla's workflow in my opinion.

The OpenSuse guys, in particular Andre Duffeck and Klaas Freitag, contacted me a little while back about Fate and asked if it might be a good solution for KDE as well. You can read more about their vision for a KDE Fate on their wiki. They even set up a nice little VM image so that I could take Fate and the KDE4 client for a test drive.

Now, all things have strengths and challenges. I think there are benefits to Fate, but also things to consider before recommending it as a successor to Bugzilla for feature tracking. Below is a short list of them with regards to using Fate that I can see.

Strengths

  • It's actually designed for feature request workflow. Sort of like Brainstorm, but with more structure. It's actually very "Suse" in that way. =)

  • It has a rather comprehensive KDE4 fat client so KDE developers aren't stuck with a web browser.

  • The Suse team would set it up and manage it with/for us.

  • It seems more suited to enabling upstream/downstream coordination, at least on features.

  • Fate could improve our communication and remove some overhead. For instance, in the area of feature plans: instead of managing them by hand on a wiki, we could simply approve features in Fate and then Fate could generate reports for us automatically. This would likely be easier for users to track and would certainly be less work for developers to maintain. Essentially, the feature plan would become a by-product of managing feature requests. This can't be the only such opportunity, either.



Weaknesses

  • We have a ton of feature requests on bugs.kde.org. I have no idea how we'd deal with a transition.

  • It is Yet Another Website that our users would have to know about and get used to. We could put a link from our Bugzilla to the Fate instance, however.

  • It is Yet Another Website that our developers would have to know about and get used to.

  • The fat client is usable, but certainly not refined or 100% feature complete. It's new software though, so that isn't a surprise at all.



I'd like this to be launching point for discussion within the community on this topic. I wrote about it in my blog because this is the kind of thing that needs input and support for from users, our community coordinators and the development teams and this seemed like the least audience specific place to put it. =)

21 comments:

johndrinkwater said...

Work more with Bugzilla to improve it, damn yet another solution reinventing the wheel.

Aaron J. Seigo said...

@johndrinkwater: yes, while i'm very hesitant about Yet Another System, i'm just not sure if a proper feature request workflow can be built into Bugzilla's architecture.

for defect reporting, it works though there is also room for reporting. Fate would not replace that functionality, though; it would be just about new features.

so while i'm hesitant to use something else ..... i'm also hesitant to limp along, high-centered on bugzilla for feature management.

Alec said...

What an awful name...

Jan said...

They don't allow anonymous read-only access. I really hope KDE won't adopt such a nonsense.

(As a bit OT question, does it really make sense to require both CAPTCHA and a Google identity to comment on a blogpost?)

Dread Knight said...

I don't believe in fate, but she believes in me.

mahoutsukai said...

I think having one website for bug reports and a different website for feature requests will be a nightmare for everybody (users, bug triage team, and developers). Many bugs filed on Bugzilla are actually feature requests (at least from the developers' point of view). Those would have to be cloned on Fate. Vice-versa I'm pretty sure many bugs would be filed on Fate instead of on Bugzilla. Often it is unclear (and impossible for the users to decide) whether something is a bug or a missing feature.

Either we settle on an alternative to Bugzilla for both, bugs and features, or we stay with Bugzilla and try to correct it's deficiencies.

Another alternative would be using Fate as tool for developers only, i.e. only developers would be able to create feature requests on Fate. If a developer wants to discuss (and eventually implement) a feature posted on Bugzilla he could create a new entry on Fate and link it to the corresponding Bugzilla entry. This way the developers could take advantage of Fate without confusing the users by having two different spots for reporting bugs resp. for submitting feature requests.

Francis said...

The SUSE guys have been using FATE internally [successfully] for several years now, and having used it in the past few weeks I should add that I'm a fan, but would also love to see it improved more with small UI touches and improvements, some similar to Launchpad's tool, but free of course :-)

@Jan: I believe that's very high on the TODO list and will be mended shortly.

xpete said...

And why not use mantis for everything?
http://www.mantisbt.org/

Eric said...

I think it's a great idea; provided we don't start requiring logins to view features.

Also, the way it's configured at the moment seems quite oriented towards a corporate base. "Who is interested:" "How important to requester" etc.

For use on KDE, I think that part should just be replaced with a vote system.

AhmedG. said...

In terms of feature requests being moved. I would think that if the request had enough interest then it will eventually be re-made on fate at one point.

However before such a move is made I think that it needs to be opened up, afaik you currently need a login to view it. Which isn't really very kde.

That kde needs an improved feature request system is probably not in question, more which system is used.

On to one of the issues I've seen raised here. The connection between bugs and features. One of the annoyances I have had using kde's bugzilla is while search for bugs I often have to wade through a whole host of "feature" requests. So the separation from an end user perspective I think is a great thing. However, from a developer perspective, it's quite annoying having to deal with several different systems so the benefits have to far out weigh the costs.

However there is another way. If a framework could be developed so that fate and bugzilla can work together that would be nice. I use the term "framework" loosely here. For example if we can add fate as a plugin to bugzilla or vice versa it would be nice. Or we can develop a system where by fate & bugzilla both plug-in to it. That way the information from both is synthesized in a nice fashion for the developers to view. Also, the developers should have an option to say convert a bug report to a feature request and this framework would then generate a feature request with the same information on fate and remove the bug report.

In the process of describing this I (and perhaps many readers) have started to realize that there are certain systems that could probably do what I just described and wouldn't need any development work. I think launchpad is one of those. Once the source is opened for launchpad then it would certain become an option (I have read that there are plans to release the code sometime soon). I am not a big fan of launchpad (though it's certainly better than bugzilla it's interface is often a bit convoluted).

This is just my preliminary analysis based on my first impressions of these services (though I have yet to use fate) and my opinions could change as I come to understand them more and I welcome any corrections to what I have stated.

maninalift said...

@xpete mantis seems to have a feature to label relationship to other bugs, which seems handy.

As far as enabling discussion fate has threaded comments which is handy if perhaps not the hardest feature to add if that were the only issue.

On the "lockdown" of openfate, you also have to be an approved member in order to create a feature request. Membership is earned by contributing (bug triaging etc). I quite like that, or maybe not.

Janne said...

"Work more with Bugzilla to improve it, damn yet another solution reinventing the wheel"

Sometimes it makes sense to start fresh. Or, instead of inventing Git, should Linus worked on improving CVS instead? Or instead of coming up with SVN, they should have worked on CVS instead? Or instead or creating Safari and Webkit, Apple should have worked on Firefox and Gecko instead? Why work on Koffice, instead of working on OpenOffice?

Is it really "reinventing the wheel", if the new wheel is better than the old wheel?

Linux is a "reinvented wheel" in many ways, yet people don't seem to complain much.

maninalift said...

If you want to keep bug tracking and feature requests in one place bugs 2 "the bug genie" is possibly nice enough that you wouldn't hate using it for feature requests as well as bug tracking... but I guess it still doesn't tick most of the strengths you have listed for Fate. still, it's very nice. Trac looks decent and has Git and SVN integration.

elvis said...

I just have to chime in and say that I also very much like Mantis, from what I've used it (mostly Scribus). It's has a lot of features but at the same time confuses me a lot less than BZ.

maninalift said...

On the subject of downstream cooperation, any more news of the red flag linux dudes?

Birger said...

It's an interesting discussion and I do believe that a new system is needed for feature handling. I'm also in favour of having it separate from Bugzilla, seen from a user point of view. It's also good that Novell can run this for us.

It has only been open for the community for a short while in openSUSE, and it might be that there is some good feedback on how well Fate actually works in a while.

xpete said...

In mantis you can manage changelogs:
http://bugs.freepascal.org/changelog_page.php

and roadmap:
http://bugs.freepascal.org/roadmap_page.php

change bugreports to feature requests
and do any kind of filtering:
http://bugs.freepascal.org/view_all_bug_page.php
this is the example i'am more used with.
Separated things create tends to create duplicates...

nobodycares said...

I find the current implementation of bugs.kde.org awful. It takes forever to find dup bugs, reporting a feature request is terrible and even simple bug reporting is horrible. I'd like to see work on the krash handler so that the debug library could be installed from there and that a bug report could be filled from the desktop rather than through that website.

Also the captcha thing doesn't display in akgregator.

maninalift said...

@nobodycares

"debug library could be installed from [the desktop]"

I don't think that is going to be possible any time soon. I was briefly optimistic when KPackageKit promised "integration" of package handling into the desktop but I don't think it goes as far as KDE being aware what packages "mean".

It would be great if it could happen though. I think it would be a real boon particularly for non-technical users for whom packages are a bit of a mystery.

e.g. "NEPOMUK semantic desktop cannot find a storage back-end, if you would like to use these features you will have to install one. Click "OK" if you would like KDE to look for a NEPOMUK storage back-end in your repositories."

Francis said...

Update with some of the outstanding issues: http://news.opensuse.org/2009/01/29/openfate-new-features/

Maria said...

Cool!