The Jokosher project tracks its bugs and does development stuff through a hosted Trac installation at Python Hosting. They offer free Trac installs for open source projects, which is pretty useful. However, we were having some pretty serious problems with bug spam. There are Trac plugins to help with this sort of thing, but Python Hosting don’t let you install plugins to their free Trac installs (which isn’t too unreasonable a policy, to be honest). Since we need people to be able to file bugs, we had three options open to us:
- Open up anonymous bug submission or account signup on our Trac, and try and stay on top of deleting the bugspam. Don’t wanna do that, because it’s really annoying.
- Write a separate bug form, which people use to submit bugs, and have that submit the bugs for them (by giving it an account on our Trac that it can log into). I had about 90% of this done, but it was pretty fiddly and susceptible to breakage (because it had to pretend to be a web browser to submit the bugs)
- Move bugtracking somewhere else.
After some consideration, we’ve decided on option 3. Where we’ve gone is Launchpad. We were already handling Jokosher translations through Launchpad anyway, so it made sense to move there (our other major options were running our own Trac or the Gnome bugzilla). A few issues have come about while looking at the move. Firstly, there doesn’t appear to be a bug import. I’m still talking to the Launchpad developers about this, but there isn’t any easy way of importing bugs from an existing system. I think this is pretty important; for Launchpad to succeed in the goal of managing lots of projects, it’s gotta be easy to move your existing project from wherever it is at the moment to Launchpad, and that means importing the existing bugs. It wouldn’t matter to us (although it might matter to others) if the import went through a “translation” format: imagine a textfile which listed all the bugs in it, where you get your existing system to dump out all the bugs to that text format and teach Launchpad to import that format. Moveable Type sorted this out for weblog posts some time ago, and it makes it relatively easy to do imports; most weblogging systems support the Moveable Type export format. The Launchpad hackers could even write scripts that dumped a Trac or Bugzilla or Mantis set of bugs into the format, to make things easier. (Obviously it’d be easier still if the import process merely asked where your current bug system was and then did the import itself (by screenscraping or whatever), but then it’ll only work for systems that the Launchpad guys have catered for.) Secondly, the whole Launchpad concept of teams and projects and products is pretty confusing. Now, I understand why they’ve done it; you need a pretty complex set of data structures to represent and handle a project like Ubuntu, where there are many teams working on many bits of software with many people in them. However, Jokosher’s not like that. It would be highly handy if, when you sign up a “product” (which is Launchpad-speak for one particular software program), there was a “simple” version where you specified the name of the product and the core devs and it took care of creating a bug team, a driver, a product, and linked them all together for you. It’s also pretty heavily tied in to bzr as a source code control system. We’re a Subversion project, and likely to stay that way for the near future at least, so we need to keep using our external SVN hosting (at Python Hosting, for which we’re still very grateful). I’m still undecided about Launchpad, I think. On the one hand, it’s pretty cool. On the other, it’s pretty confusing at times. I’m given to understand that it’s being worked on and the next version will Win Big, which is great news. As one final point, I do like the fact that you can run a project and get external hosting for all the key software management bits; bugtracking, source code, specs, releases, everything. That’s great. I like that. We need to get more of that on the desktop, as I have remarked before.