Distributions
We used data available from the CPANTS database to reconstruct the network of dependencies between packages inside the CPAN. After removing small independent sets, emerge the “core” of CPAN.
Discussions
We initialy used Graphviz Perl module to generate an hierarchical, butterfly-like view of the graph.
With this kind of representation, the package on which we focus is a trunk, dependencies are the roots, and other libraries which use the package are the leaves.
This is interesting, because Perl modules (like everything having a lifecycle) grow, evolve, and may die, or be recycled into another library.
But at the macro level, the full community appears as a complete ecosystem: a dynamic system in which each entity evolve with other species in order to adapt to their environment (other packages, industry tendencies, developers lifecycle..).
We believe that visualization and exploration of software repositories as large-scale dynamical networks is, and we hope to see similar initiatives in other softwares communities. We invite anybody interested in such network to download Gephi and the CPAN graph to create nice visualizations and discover interesting patterns!