in reply to Is it worth tracking down absent cpan owners?

This node falls below the community's threshold of quality. You may see it by logging in.
  • Comment on Re: Is it worth tracking down absent cpan owners?

Replies are listed 'Best First'.
Re^2: Is it worth tracking down absent cpan owners?
by adamk (Chaplain) on Aug 30, 2006 at 00:10 UTC
    I'll resist the fact your language comes across as trollish, and put it down to your more formalised training and corporate environments.

    To my knowledge CPAN is, without exception, the single best repository for canonical Open Source code in existance.

    That doesn't prevent us wanting to make it better, but it is far FAR more than a "code dump".

    CPAN has 3500 contributing authors, 10,000 distributions, something in the order of 45-50,000 classes, and a total of around 20 million lines of source code.

    EVERY distribution automatically gets bug tracking set up for it, without needing to be configured, and tracks the permissions of the modules themselves.

    See http://rt.cpan.org/ for that.

    There is a single search and browsing interface across the entire CPAN, with links to all sorts of interesting tools.

    See http://search.cpan.org/ for that.

    Most modules are automatically downloaded to a distributed build farm when a new version is uploaded, and have their unit test suite exercised and the success/fail results reported.

    See http://testers.cpan.org/ for that.

    Every module is automatically scanned for errors at a source code level. This catches bad packages, various problems of various types, and does not need to actually build the modules to do so.

    See http://cpants.perl.org/ for that.

    Every modules automatically gets added to an annotative documentation website, where the users can add notes and caveats and what have you to the documentation without the author having to merge it back in.

    Every module can be commented on, and the reviews of these modules are collated into a "5 star" rating system. And this also integrates with the search website, as does the bug tracker, annotation site, and so on and so forth.

    Every module is available via 330 different mirrors worldwide within 24 hours of upload.

    To implement all of that above (excluding the mirrors) takes an administrative team of I believe no more than a dozen people.

    There are 1-2 people that spend 10 minutes a day registering new users, and a team of about 3 people that spend half an hour or so a day administer permissions and doing namespace control, and handle continuity of service for modules (making sure modules get handed of to new maintainers).

    And there's 1 head admin, who also happens to be the founder, that has to do something directly to the whole shebang once or twice a week.

    And nobody gets paid.

    The reason the CPAN works so well, and is the envy of the open source programming world, is that it is so incredibly efficient at scale.

    While a single module may well be crap on the first day it is uploaded, it will be tested and analyzed and be open for user review and this creates the incentive to keep improving modules. The users can be certain that the module won't just dissapear on them, and there will always be a new maintainer (if needed, them).

    If you were to pay someone full time to look after the CPAN, you could collapse the entire user/namespace/head parts down to less than 1 person's job.

    If you want to install something, and it depends on something else, recursively down 40 authors and 50 modules, it just works.

    If we "forced" people to fill out extra paperwork, they'd simply just not upload.

    Once you get used to using the CPAN, and really get why it works, you'll wonder how you ever did without it.
Re^2: Is it worth tracking down absent cpan owners?
by Asim (Hermit) on Aug 29, 2006 at 17:08 UTC
    Is there anything out there that is like a SourceForge for Perl? Does the Perl community leverage sites like SourceForge at all?

    There are quite a few Perl modules hosted on SourceForge and CPAN -- Log::Log4perl comes to mind as one such dual-hatted module. A number of Perl-based apps are also hosted on SourceForge. A quick search there will pull up a few, although the Search appears to be down currently.

    However, SourceForge will not seriously aid the "abandonware" issue, nor ensure additional documentation -- and neither will any other similar setup. The problem exists in both Open and closed Source apps, and has much more to do with the nature of humans and communications than anything to do with any system. The only solution would be to somehow ensure that every CPAN program had a constant update, and was forced to do certain docs, and that would be an undertaking, as well as distasteful to a number of programmers, for hopefully obvious reasons.

    One possible solution is to "flag" modules where the user has not responded to either a manual or a (yearly?) automated "check in with us, please" email. Yet that's not really a solution, and the potential for inaccurate information (say if the automated email was dumped into a spamtrap) is high.

    All in all, I'm not certain what kind of solution you propose to this kind of issue. From a personal standpoint, I use tons of modules on CPAN for mission-critical code. There's a risk, yet it's a similar risk to what I run into when I utilize .NET-based code from the web -- or, frankly, even the .NET stuff that comes from MS, which isn’t always well-documented, or stable from version to version. At least with Perl, when it's Open Source, I have the chance to dig in, or ask for help, and I've done it myself on more than one occasion, with good results. I cannot force anyone to fix their code, but I can ensure I have the chance to fix it myself, or ask others (such as the good people here) to help me fix it, if it's Open Source.

    Does that make sense?

    ----Asim, known to some as Woodrow.

Re^2: Is it worth tracking down absent cpan owners?
by CountZero (Bishop) on Aug 29, 2006 at 19:42 UTC
    Issues like this are why I have tried to stay away from CPAN.
    You can't be serious: because some modules are "orphaned" by their authors, you refrain yourself from using one of the most useful elements of the Perl-culture? Any and all other computer language users turn green with envy when they discover what they have been missing! The only more or less similar set-up is CTAN, the Comprehensive TeX Archive Network.

    Consider the following situation: either you write a module yourself (which takes a lot of time, effort and bug-hunting) or you can use a "works-right-out-of-the-box" CPAN-module? What will you do? And even if the CPAN-module stops working after some time (for whatever reason), you can either re-write it so it works again or write your own module after all and you are not worse off.

    CountZero

    "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

Re^2: Is it worth tracking down absent cpan owners?
by sfink (Deacon) on Aug 30, 2006 at 16:27 UTC
    Issues like this are why I have tried to stay away from FOOD. It seems like the Human community needs a better system. While FOOD serves as a good energy source, it would be nice to also have a system for serious sustenance that has more in the way of safety and accountability. Is there anything out there that is like a Battery? Does the Human community leverage devices like Batteries or Fuel Cells at all? It would be nice if food producers were forced to document more allergens and food attributes like "Is it fresh?", "Does it have E. Coli?", "How hard is this to digest?". These kinds of things sometimes get documented on the WRAPPER, but that does not allow for good tasting/browsing of available food. I hope this does not sound like a flame, I just felt this would be a good thread to air my frustrations. I am still a bit of a Human novice, so take this as an outside perspective on FOOD and the Human community.

    Update: (Because it felt mean-spirited.) Yes, the above is unfair. But you are saying that you won't use the library because the modules (books) aren't labeled well enough. Think of CPAN as a layer, just like a traditional library. It is a repository for modules. When you go to a library, you find what you want by either browsing or using some external rating system (best sellers, book reviews, word of mouth, references, ...) It is not the responsibility of the book author to provide all of the metadata needed to make your selection; in fact, you wouldn't trust the author on most attributes anyway. CPAN works the same way, with mailing list discussions, references between modules, cpanforum, etc.

    You could go to a library, run through the stacks blindfolded, pick a book at random, and immediately sit down and read it cover-to-cover. But it would be unlikely to change your world or solve the exact problem you're having. Similarly, CPAN is unlikely to be useful if you pick a module completely at random, and using the module name (book title) is obviously a huge improvement but still won't get you where you need to go.

    Books do have a better-developed system for doing this sort of thing. Which isn't surprising, considering how many more books there are to sort through (the need is higher), how many people use the mechanisms (the demand is higher), and that most books are produced by publishers trying to make money (the incentive is higher). But CPAN does have constant pressure to evolve in this direction -- the number of CPAN modules is steadily growing, many people are running into the same problems with tracking down what they need, and CPAN authors naturally want their stuff to get used (or they wouldn't have published in the first place.) So please, use the existing mechanisms (better described in other posts here), and complain about specific problems you're having -- preferably by first making an effort to understand why that problem exists, to avoid unproductively complaining about something where there is a very good reason why it hasn't been "fixed".

    Hints: Module authors are unpaid. Any additional burden to releasing modules will reduce the number of modules released, and that doesn't just mean reducing the number of low-quality modules. CPAN maintainers are unpaid. CPAN maintainers have heard many people complaining about these issues already, but few willing to undertake the effort to do something about it. CPAN reviewers are unpaid. Usually, writing a review will result in a larger positive impact than complaining about something.