I’ve been using trac for a project at work recently, and it really does seem to be every bit as good as it looks.
Tools you can trust
I’ve noted before how important it is to like the tools you use every day. Until now, most project management tools left me cold: the bug-trackers that provide clunky and restrictive front-ends to a database, the meeting schedulers that only run on Windows XP, the project planning tools that are so expensive only higher management can afford them, and so sophisticated noone can get them to do what they want.
Trac, though, is different. As you can see, the trac project team eat their own dog food — the trac home page is a trac project — which as always is a good sign.
Trac is a pleasure to use.
Trac grabbed my attention because it looks so good, and I suppose that remains one of its killer features.
Actually using it, though, what I really like is the way the tools integrate with the version control system. Want to link from a wiki page to a repository URL? No problem. Want to link to a changeset associated with a repository revision? Easy peasy. Want a page which displays the difference between any two repository revisions? Yep, it can do that too.
Browse the trac project’s own timeline to see some of these features in action.
There are downsides.
- trac was fiddly to install. I needed to get hold of SWIG, then build the python/subversion bindings, then choose a database, then install the relevant python database bindings, then clearsilver, then … well, you get the picture.
- trac is only at version 0.10.2.
- trac tries to do everything. It’s the source browser which thinks it’s a wiki which thinks it’s a bug-tracker which thinks it’s a project planner.
- the only version control system trac works with is Subversion.
To answer these points in turn.
- Yes, that is a concern. The lack of a one-click installer may put off some users. Trac does not stand alone: it builds on proven technologies — Python, relational databases, web servers. Besides, you probably can just grab a trac package for certain Linux distributions.
- I haven’t seen any problems (yet). As a product, it feels stable and well-tuned.
- You don’t need to use all of trac’s features. As a Subversion repository browser alone it pays its way. As a repository browser combined with a wiki, it’s peerless.
- You can make this an upside by upgrading to Subversion!
The only downside I've found is the lack of mail list support. It would be nice if mailman was cleanly integrated...
Good point. I hadn't noticed the lack of mail list support -- in fact I haven't explored any of the email capabilities. I did notice that there are RSS feeds for things like the timeline and tickets.
I'm also guessing that, being written in Python and suitably licensed, it's possible to extend trac or develop plugins.
'Upgrading' to Subversion?
That works well if you're on CVS. But what if you're already on a better system like bzr, and you don't want to downgrade :(
It looks like you can find a bzr plugin for trac. Does it work well? I'd be interested to know more about bzr.