One topic that’s been getting explored off and on for the last half-decade is distributed issue tracking. The idea is that, with distributed version control systems like Git and Mercurial, maybe it’d be a good idea to also store your issue records (bugs and feature requests) in a decentralized fashion.
The two main upsides to this idea are:
- You can work with the bug database while disconnected, just like git/hg/bzr/etc. allow you to do with your other project resources.
- The status of a bug (open, fixed, wontfix, etc.) can be automatically kept on a per-branch basis, so you never need to worry about keeping track of which version of the code has which status for each bug.
However, there is a fairly large downside: It’s much more difficult to handle things that should be global, like discussion and keeping track of whether a given person has claimed a bug.
Personally, given that many similar arguments were made for staying with centralized version control software like Subversion, I think the idea has more potential than it might seem, but like any decentralized system, it’ll take a lot of time, effort, and PR work before it will be ready for prime-time.
Here are a few links if you’d like to start learning more:
- Distributed bug tracking (LWN, May 2008) (A general overview of the topic)
- Distributed Bug Tracking – Again (Erlangish, June 2007) (Thoughts on how to solve some of the potential problems I didn’t mention)
- Distributed Issue Tracking with Git (David Bremner, October 2010) (List of git-compatible implementations of the concept)
- Ditz (One such implementation that actually has screenshots on the homepage)
Update 2014-04-29: You’ll probably also want to check out this StackOverflow Question.
Update 2014-04-30: …and this Current State of Distributed Issue Tracking blog post.
Update 2021-03-05: One of the issue trackers I remember when working on this post was Bugs Everywhere but, now, git-bug seems to be the most mature option, with support for import/export/sync with other issue trackers and a work-in-progress web UI of its own. Alternatively, there are also git-issue and bug.
Update 2021-09-03: Fedeproxy is an open-source service for synchronizing state between different services.
Topic Glimpse: Distributed Issue Tracking by Stephan Sokolow is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
By submitting a comment here you grant this site a perpetual license to reproduce your words and name/web site in attribution under the same terms as the associated post.
All comments are moderated. If your comment is generic enough to apply to any post, it will be assumed to be spam. Borderline comments will have their URL field erased before being approved.