On 02/02/2018 10:51 AM, Neil Bowers wrote:
For the 5.29.* development cycle starting in May of this year, I would like to be able to use a ranking of CPAN distros which goes beyond asking:

* "How many other distributions depend on this one?"

... to asking:

* "How many distributions by other authors/maintainers depend on this one?"

Would that be feasible?  Has anyone attempted this already?

When we were discussing the River model at QAH, and in discussions afterwards, this came up. In the end we decided to keep things simple and go with the current common definition. There are some tools in the CPAN ecosystem that only count dependencies written by others.

Can you point us toward those tools?

We’d need to agree which dists get ignored in this alternate scheme.

Please note that I'm not looking to replace the current definition. I'm looking to develop supplementary definition(s) -- and their implementations -- that can be useful in particular circumstances.

Consider this example:

Here MARY has released a bunch of dists, but Foo-Bar is also relied on by other dists written by MUNGO and MIDGE.

The river count for Foo-Bar would be 2 here (ignoring the whole branch that contains only dists from MARY), but the Foo river count should be 3, I think. Foo-Bar “counts”, because it in turn is depended on by dists from other authors. Otherwise the river count would be 2 for both Foo and Foo-Bar. Basically we’re starting at the “bottom" of the dependency graph, and trimming sub-graphs all from one author.

Also consider this example:

What’s the river count of Plant — 0, 1, or 3? I think it should be 1, in this alternate measure.

I.e. for sub-graphs by the same author, you only include the dist at the head of the sub-graph.

It would be useful to have both measures available: raw-river and author-river.

When looking at a dist there are (at least) three figures that might be of interest: the full river count (total number of direct and indirect dependencies), the author-filtered river count (as above), and the number of direct dependencies (which could be split in 2 as well).


Thank you very much.
Jim Keenan

Reply via email to