Avoiding loops and crossing edges in the final graph, which
directly results in a tree where you can follow the edges from
one author.

Of course some SOB links will be lost, but that is the tradeoff.
What will definitely be retained is:

 - the author's existence and his attachment to one
   subsystem s/he contributed, though probably not the one
   with the major number of contributions

 - gatekeeper positions in the tree (but by chance only)
   you can expect to find Andrew and Linus near the tree root

What could be improved as I think about the issues...

 - count the number of submissions to a particular upstream
   person and instead of longest-chaining, do "weighted-chaining";
   essentially stacking a contibutor into the subsystem he
   contributed most to.
