in reply to Upgrading CPAN - Yes We Can

Are you talking about upgrading CPAN or They aren't the same thing.

CPAN is the network of mirrored sites that contain distribution files, indices and so on. is just one particular portal CPAN and the ecosystem of websites that people have built for bugs, forums, annotations, test reports, etc.

So what part of the ecosystem do you think needs fixing?

Of things you mentioned:

* Module activity levels - like on GitHub * Author activity levels - like on GitHub

Do you mean repository commit activity or release activity?

If the former, some META.yml files in distributions are now listing repositories (these show up on if they exist). Of course, some of those URLs are to actual repositories and others are to repository "dashboards". If you can figure out the difference, go for it.

If the latter, there are already several "recent upload" feeds. Just start tracking one and create a site to report aggregate details.

* The ability to "follow" modules - so you will know when they are upd +ated.

Same answer as I just gave -- except now create the user registration and tracking preferences to go with it.

* Discussion forums that: o Are faster o More modern o Include the features that thousands of other forums should Just Ha +ve.

Do you realize that the forum software that drives is the CPAN::Forum module on CPAN? There's even a page of notes for developers including the subversion repository. So if you think it needs features/fixes, I'm sure Gabor is open to discussing your patches.

* Source control - either via SVN, Darcs, Git or what-have-you.

This will never work, since CPAN has thousands of authors who may prefer different source code systems. And why should the Perl community rebuild what already exists on googlecode, sourceforge, github, etc.? That's not a good use of anyone's time.

* Forking/Branching/Merging - like on GitHub. Abandoned modules should + not be allowed to languish forever. This process could replace the c +urrent "Take over a distribution" workflow in PAUSE.

You're mixing several issues here. Fork/branch/merge is about evolution of a code tree. "Take over a distribution" workflow is about ownership -- more specifically, permission over changes to the index for a particular namespace. Nothing stops you from uploading your own Foo::Bar module if one already exists, but it won't be indexed for CPAN/CPANPLUS clients unless you have permissions for that namespace.

A new site or a github-like "fork" button isn't going to change the permissions process. A willing author can give permissions in under a minute on PAUSE. And there is a process -- manual and subject to administrator oversight -- to do the same in the case where an original author can't be contacted. And I don't think we should ever take human judgment out of the loop in the latter case.

So, ultimately, if you think "CPAN" can be upgraded, then start writing code -- no one is stopping you.


Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.