[Themaintainers] [EXTERNAL] Re: XKCD comic on maintenance

Edward Summers ehs at pobox.com
Wed Aug 19 14:06:50 EDT 2020


Thanks Don, you make an excellent point.

To know what software *depends on* a given piece of software (e.g. ImageMagick) requires that you build a network graph of all (or some relevant portion) of software dependencies, which then lets you then infer the inverse relation:

A hasDependency B  ∴  B isDependencyOf A

Building a complete view of the network of software dependencies would be very costly, and would be out of date the moment you "finished" it. But perhaps projects like GHTorrent [1] could help, since they have built a queryable database of GitHub repository metadata?

I haven't used it for this purpose, but it also might be workable to infer some of the isDependencyOf relations using GitHub's search API [2] which lets you search the code in GitHub's repositories. But you would need custom logic for the different types of builds you were interested in (Gemfile, package.json, requirements.txt, pom.xml, Cargo.toml, etc) which could get tedious.

The obvious caveat here is that as big as GitHub is, it does not completely represent the universe of software. Still, it could provide an interesting view?

//Ed

[1] https://ghtorrent.org/
[2] https://docs.github.com/en/rest/reference/search


More information about the Themaintainers mailing list