I can't quite follow how package relationship relate to natural language. Packages follow the rules by dependency while language follows by association.
Mixing a small subset of words can generate completely different meanings (phrasal verbs are a good example of that) while you can't just link gnugo to mesa and expect it to show a 3D GO board. Of course, if you would display it in 3D you would link to mesa, but the flexibility of natural languages are much greater than that of packages.
I think this is just another curiosity of how we can fit a set of things under known distribution rules, pretty much as Riemann did with the prime numbers... ;)