Distributing the CPAN

[email protected] (Tim Bunce)
Newsgroups perl.cpan.workers,perl.module-authors
Message-ID <[email protected]>
On Thu, Apr 01, 2010 at 12:39:27AM -0400, David Nicol wrote:
> On Wed, Mar 31, 2010 at 7:43 AM, Ask Bjørn Hansen <[email protected]> wrote:
> > The main point here is that we can't use 20 inodes per distribution.
> 
> so don't. How much reengineering would be needed to keep CPAN in a
> database instead of a file system?

Random thoughts...

* If you squint a little you can view git as a database with excellent
replication support.

* cpanminus already supports installing from a git repo.

* For backwards compatibility a simple perl web server could provide a
classic CPAN http mirror 'view' over a git repo like gitpan.
This cpan-git-server would create and serve up cached distro tarballs on demand.
Someone could whip up one to work over gitpan as a proof of concept.

* The need for widespread mirroring is less significant than it was in
years past. (Also using git as the inter-mirror transport of source files
means there'll be much less traffic between mirrors. Effectively only
the diffs between releases.)

* New approaches to replication, such as git, don't have to be supported
by existing mirror providers. A new set of cpan-git-mirror providers could
emerge.

* Any cpan-git-mirror provider running a cpan-git-server could be
included in the list of mirrors used by existing installers.

* Over time the number of cpan-git-mirror's and cpan-git-server's could
grow and the number of traditional CPAN ftp/rsync mirrors could fall.

Tim.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.