Five percent of indexed CPAN packages come from just two distributions

And both have to do with advertising.

Counting all packages indexed in 02packages.details.txt (possibly across multiple tarball versions), two distributions account for 5% of CPAN packages:

  • GOOGLE-ADWORDS-PERL-CLIENT
  • Microsoft-AdCenter

Here are the top 10 with the number of index lines each:

GOOGLE-ADWORDS-PERL-CLIENT: 5480
Microsoft-AdCenter: 1628
Shipment: 1197
eBay-API: 1160
BioPerl: 851
Graphics-VTK: 707
DateTime-Locale: 469
Net-Amazon: 455
UMMF: 451
Locales: 426

Together they account for 8.6% of the 135,000 or so currently indexed packages.

This entry was posted in perl programming and tagged , , , . Bookmark the permalink. Both comments and trackbacks are currently closed.

5 Comments

  1. Chris Fields
    Posted October 10, 2013 at 8:56 am | Permalink

    Re: Bioperl, we expect to (happily) drop off that list; we're breaking up the core distribution in the next version to something... um, sane? Maintainable?

  2. brian d foy
    Posted October 10, 2013 at 9:11 am | Permalink

    It looks like the GOOGLE-ADWORDS-PERL-CLIENT distribution in not only a translation of a Java-style class heavy structure but it has several API versions (201306, 201302, and so on), containing the entire history of the API in the distro.

  3. Ether
    Posted October 10, 2013 at 12:08 pm | Permalink

    > but it has several API versions (201306, 201302, and so on), containing the entire history of the API in the distro

    ewwww, that ought not to be necessary - just ship one version of the API, and clearly indicate which it is with the dist version.

    • Tatsuhiko Miyagawa
      Posted October 10, 2013 at 8:25 pm | Permalink

      > just ship one version of the API, and clearly indicate which it is with the dist version.

      That's not useful when there are multiple versions of the API deployed.

      While it might not be the case with the Google AdWords API in quesiton, it's common that you have multiple versions of services running in different locations/installations, and having a client ability to specify server side versions is considered sane.

      For example when Twitter upgraded its API to v.1.1 and deprecated v1.0, Twitter API clients could potentially ship only the code supporting 1.1. However there are also Twitter API clones out there (such as identi.ca) that only supports v1.0 - that's why Net::Twitter has the code that both supports 1.0 and 1.1.

  4. Posted October 15, 2013 at 12:00 am | Permalink

    The eBay API is just a Perl representation of the (very complex) eBay API, but it's re-generating all the modules during installation based on the current eBay API description file (XML???). I don't know if all these going-to-be-overwritten-during-installation modules really need to be within the CPAN documentation.
    I wonder that Amazon isn't on that list!?

© 2009-2014 David Golden All Rights Reserved