Distributions map for YAPC::EU

Filed under: distributions — Tags: , , , — admin @ 5:00 pm

Distributions

The distributions map has also been upgraded for the YAPC::EU. As for the authors map, we used CPANDB and Task::Kensho. We used modules recommendend by Task::Kensho as the seed. Then we extracted from CPANDB all the modules that depend on the modules listed in the seed. So this map is rather oriented towards the modern Perl. The TK group doesn’t appear anymore.

Discussions

Infos

  • Node count: 2724
  • Edge count: 5426

Nodes

A node represents a distribution. The color and the size represents the count of other distributions using it. Some green nodes have the same size as whites nodes. The color then distinguishes them because we didn’t want to use a smaller size for nodes.

Edges

An edge is created when a module from a distribution is used by another distribution. The edges are not weighted.

Study

Even if we don’t have the same data as for the previous map, we can do some comparaisons. We still see a Moose cluster, and Catalyst is now closer (Catalyst has switched to Moose in June). The Web cluster still exists (with LWP, URI, …).

Some other interesting cluster are the Test::*, with Test::Exception, Test::Simple, Test::Class, Test::POD, … If anyone still doubts that tests are important in the Perl community, I hope this map will convince them.

Downloads

These documents are all licenced under the creative commons licence. You can open .gexf graph files with the opensource editor Gephi.

Distributions : graph

Filed under: distributions — Tags: , , — admin @ 9:23 am

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!

Downloads