Global Relationships between bugs

Henry Story henry.story at
Tue May 29 17:10:43 UTC 2007


One problem with all bug tracking systems, is that they only allow  
you to state dependencies between bugs on one open source project.  
Problem is, that most open source project use libraries from other  
open source projects, which may themselves have bugs. So it can  
easily turn out that a bug in a project depends on a bug in another  
project. Since it is inconceivable that all open source projects use  
one big centralized bug database we need to do with the distributed  
system we have.

Luckily this is easy, since we have URLs to name things on the web.   
So instead of identifying bugs with some primary key that is local to  
one database, we should be identifying them with URLs, and a good one  
to start with is the URLs of where they are published. So take the  
netbeans bug 51486 . It has URL

So we should use that to describe it.

Now if we want to say something about it, that it has a property of  
some sort we need to identify the property. Since we need this to  
work on a global scale, we should name the property in a way that is  
clear globally, and the only way to do this is to use a URI. So let's  
create one for saying that a bug depends on another bug

Ok, so far so good, so we just need to get the URL of the bug it  
depends on, I'll invent one here

Now we can write this out as a relation:

<> <http://> < 
bugzilla/show_bug.cgi?id=13099> .

or if we use namespaces

       baetle:depends_on < 
show_bug.cgi?id=13099> .

Naming these relations is what the baetle prject is working on at

It would be really great if we could get the involvement of the  
bugzilla community.


Home page:
Sun Blog:
Foaf name:

On 29 May 2007, at 06:59, Gervase Markham wrote:

> developers,
> In, people were lamenting that it's difficult  
> to correctly show that one bug was a regression caused by the  
> checkin for another. Neither "blocks" nor "depends on" are entirely  
> appropriate.
> A (proprietary) bug system I've used in the past has, instead of  
> just dependencies, the more general concept of relationships: you  
> give a bug number, and then say if it's blocking, blocks,  
> regression, duplicate or just related. (We wouldn't use  
> "duplicate", of course.)
> shaver rather liked this idea. Is this worth considering? We could  
> also use this mechanism to remember that a bug was a clone of  
> another, or perhaps that two bugs were for the same underlying  
> problem but on two different code branches.
> The UI could be simplified to show only those lines where there was  
> actually a bug in that relationship:
> Depends on: 12345, 34556
> Clones:     65433
> Branches:   75347 (1.3.1), 84346 (1.2.9)
> Add relationship: this bug [ blocks  |V] bug(s): [       ]
> where the "blocks" dropdown could be "blocks", "depends on", "is a  
> branch version of", "is related to", "was caused by checkin from" etc.
> You could still plot dependency graphs using the "blocking" and  
> "blocks" relationships as we do now.
> What do you guys think?
> Gerv
> -
> To view or change your list settings, click here:
> <>

More information about the developers mailing list