BackPAN - A Complete History Of CPAN

This is a BackPAN site - a copy of everything that has ever been released to CPAN. A BackPAN site is like a regular CPAN mirror, but with one special difference...

PAUSE & CPAN

To share their code with the Perl communities, authors upload distributions via PAUSE, the Perl Authors Upload SErver. Each author has their own author's directory on PAUSE, which contains each distribution, a README file (if the distribution contained one) and a distribution meta file, together with a CHECKSUM file containing the MD5 checksums for each file in the directory.

A CPAN site is an aggregation of the current content of the author directories for all PAUSE users. Whenever an author uploads a new distribution to PAUSE, it is initially mirrored to the master CPAN server. Once a distribution is on the CPAN master, all of the "tier 1 CPAN mirrors" will grab it, via rsync. Then other CPAN mirrors rsync from the tier 1 mirrors, and so on. In this way you can see that a release that it uploaded to PAUSE will gradually "ripple out" across all CPAN mirrors.

Deleting releases from CPAN

However, authors can also delete files from their author directory, via PAUSE. Eventually, and sometimes after encouragement, authors delete old releases of their distributions from CPAN, or after a period of deprecation they may remove all copies of a distribution that is no longer used, or perhaps never was.

When a file is removed from an author’s directory, all the CPAN mirrors replicate the removal, and remove the deleted files from their own servers. As such, it will then disappear from all CPAN mirrors as well.

BackPAN

CPAN is a continually evolving repository of files and directories. It contains the latest versions of distributions, and typically a few versions back as well. However, what happens to all those deleted distributions? What if you need an older version because it works on an older platform or older version of Perl? That’s where BackPAN comes in.

BackPAN is a special CPAN mirror. Whereas regular CPAN mirrors replicate and delete files and directories, a BackPAN mirror only replicates files and directories. Any deletions are ignored, so all those old distributions are still safely stored.

A BackPAN site is CPAN mirror that never deletes anything. A Backup of CPAN.

Exceptions

It should be noted that there are exceptions to this rule, where distributions have accidentally contained confidential information or have released closed source code. Upon request to PAUSE admins, these are deleted from CPAN, and a special request is made to known BackPAN mirror administrators, wherein these distributions are also removed from the BackPAN mirror. However, thankfully these requests are few and far between.

The organisation of BackPAN

All of the releases live in directories under authors/id/, organised by the first letter of the author's PAUSE id, and then by the first two letters. PAUSE author ids are always given in UPPER CASE. All the releases uploaded by user FREDERICK will be found in

BackPAN indexes

There are a number of indexes available for this BackPAN mirror. These either list all files on this mirror, or all release tarball files only (ie excluding READMEs, checksums, and metadata files).

The indexes are all generated using the BackPAN::Index::Create module. If you want to know more about the format of the indexes, have a look at that module's documentation.