in reply to Re: The quantity vs. quality lesson
in thread The quantity vs. quality lesson

This node falls below the community's threshold of quality. You may see it by logging in.

Replies are listed 'Best First'.
Re^3: The quantity vs. quality lesson
by adrianh (Chancellor) on Jun 03, 2004 at 20:57 UTC
    You don't find often books of 1st grade students in the university libraries. That is - books that were written by them.

    I dislike analogies since they often conceal as much as they reveal. However if we're going that route, you might want to consider some of these points:

    • How many good books didn't get onto the university library bookshelves because the cost of publishing them was too high, or because the authors didn't know the right sort of people.
    • How many bad/average books had vastly improved second, third, fourth, etc. editions because they managed to get published and had useful feedback and reviews.
    • How many good books are inspired by bad/average books
    • The books on the university libraries shelves are a small subset of the total number of books published in the world. Yet the librarians managed to select the 'good' from the 'bad' without preventing the 'bad' books being published.

    I'd recommend giving The Zen of Comprehensive Archive Networks a read. A couple of relevant quotes:

    Code quality? Ratings/reviews? Moderation/metamoderation? "Approved" SDKs? These all are hotly debated subjects and will not be addressed here since the CPAN is and will stay an open and free forum, where the authors decide what they upload. Any further selection belongs to different fora. Besides, adding any rating or approval processes creates bottlenecks, and bottlenecks are bad.

    ...

    Another important credo is: Avoid bottlenecks and interdependencies. Decentralize. Create and encourage alternatives. For example, the most popular search engine of CPAN isn't actually part of CPAN proper: search.cpan.org just mirrors CPAN and from the data builds the search indices and searching/browsing interfaces. That's way there can be several seach engines of the same CPAN. Similarly, currently we use CPAN.pm + MakeMaker to install modules: but we are not committed to either, and the community is working on replacements. Keep things loosely connected. This allows for different people to work on their own enhancements without disturbing the other parts.

    CPAN doesn't need gatekeepers.

    What CPAN needs (if it needs anything at all) are editors and reviewers. Guides to what is good and bad. Specialist overviews like the perl-qa groups Summary of Test:: modules.

    The good news is all the infrastructure is there. CPAN is open. CPAN Ratings is open. CPAN Testers is open. Gluing them together isn't that hard. If you feel that a peer reviewed view of CPAN is a good idea find some like minded individuals and implement. Don't try to control CPAN from the bottom. Add another layer on the top. To take a couple more quotes from TZOCAN:

    There is no magic. All it takes is a few people that sit down and get first something running, a rough cut. Then iteratively enhance it. Don't try to create a master plan that will get everything right in one fell swoop. The only one that will get swooped is you.

    One way to summarize most of the above is the priceless KISS principle-- Keep It Simple, Stupid. Avoid too complex setups. Start simple.

    ...

    Perhaps the most demanding thing is commitment: someone must keep things running

    People aren't afraid of improving the quality of modules (witness the Phalanx project). What people are afraid of are the unintentional side-effects of changing the way that CPAN works. Adding an approval bottleneck to all of CPAN is, IMHO, a really poor way of addressing the problem of poor quality.

    I'm also not entirely sure if the 'problem' is more perceived than actual. People have been predicting that CPAN will become useless under the pressure of poor modules ever since I started using Perl (a good many years ago now). And yet progress continues apace and Perl just carries on getting more and more useful.

Re^3: The quantity vs. quality lesson
by flyingmoose (Priest) on Jun 03, 2004 at 17:02 UTC
    "You don't find often books of 1st grade students in the university libraries"

    Awesome point. Very concise. You should have led with it as it would make your argument for "levels of CPAN" more clear. Perhaps (though I have alluded to it), we should have varying levels of approval, such as in the Debian system, where private packages can be seperated from the "uber packages", making it easier to tell what you are downloading. That sort of direction is *definitely* an improvement and is doable, much easier than just begging for quality.

    I am disappointed your requests for quality are falling on deaf ears and we're hearing "but I should be allowed to upload my buggy code and bad designs!". I think, once, CPAN served a place like that. But this is horrific on the users, and that time has gone. If we want to establish a CPAN experimental, unstable, testing, and stable, that's fine, and I will gladly set my configuration files to not search through it!

    Anyhow, if Perl is to grow up, it needs to take on a better goal of quality, not quantity. Quantity is for first graders, and I want rock-solid code, because I write rock-solid code. Modules that are halfway-implemented source filters or broken implementations do not intest me, and we need a way to seperate the wheat from the chaff. Not to grade the wheat and the chaff, mind you, but to organize it.

    Something also needs to be done about namespace sprawl to confine modules to more logical places.

      I --'ed nearly every single reply you made in this thread, and I'm going to explain why.

      Both you and Fatvamp are completely missing the point of CPAN. CPAN isn't, nor should it be, a moderated list of modules. SourceForge, which is built on a very similar model, isn't moderated, either. I don't hear people bitching about it ...

      Furthermore, I don't hear you or Fatvamp offering to take on the effort of moderating the submissions. If you were willing to go ahead and do this moderation, I would be willing to listen. Heck, I'd even donate1 some of my time to that effort. Are you?

      Until you are willing to do what Jarrko et al have done and donate 20-40 hours per week of your own time, you don't have the right to get on that soapbox and bitch up a storm.

      Yeah, I'd love to have a place where I can go and know that every module has been vetted and tested and works perfectly. Except, none of my code would ever be there. But, my code2 fills a niche that nothing else does. So, your perfect CPAN would have only the best of the best ... which means it won't fulfill most needs. Are you willing to put the time in to improve the software that people want, but isn't up to your standards? I know I have better things to do with my life, and I'd hope you would, too.

      1. Remember - the entire of CPAN is donated to you, the user. You have never had to pay a penny for it. You get what you pay for.
      2. PDF::Template and Excel::Template create different formats using the same data structures as HTML::Template. TT2 doesn't write to those formats (not easily, at any rate).

      ------
      We are the carpenters and bricklayers of the Information Age.

      Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

      I shouldn't have to say this, but any code, unless otherwise stated, is untested

        I --'ed nearly every single reply you made in this thread, and I'm going to explain why.

        Well - dragonchild - if it makes you feel better, please do so. I personally will refrain from - - ing your nodes, because this would be CHILDish no mather whether one is a manchild or a dragonchild.

        Both you and Fatvamp are completely missing the point of CPAN. CPAN isn't, nor should it be, a moderated list of modules. SourceForge, which is built on a very similar model, isn't moderated, either. I don't hear people bitching about it ...

        Well - first off, this is Perlmonks, my opinion about content of SF is quite similar to CPAN. The major difference is, that SF offers you several indices to blend out "unmature" projects. But SF should not be an issue here.

        I think this thread brought up the essence/gist of the matter up very well. Actually this is what I intended to say, but was somehow unprecise. For this unprecision, I do well deserve the - - es. The gist - with which I completedly agree is:

        The problem of CPAN isn't having both good and bad modules, but the difficulty to separate the wheat from the chaff (I think adrianh mentioned it first.

        Furthermore, I don't hear you or Fatvamp offering to take on the effort of moderating the submissions. If you were willing...

        I wasn't aware of the CPAN ratings system until I wrote that first node. My bad. But you may have realized, that I have submitted some reviews already and will of course continue with that. I also offered Ask B. to edit the bad revisions, but that will need some changes in the code.

        Until you are willing to do what Jarrko et al have done and donate 20-40 hours per week of your own time, you don't have the right to get on that soapbox and bitch up a storm.

        I agree. Unfortunatedly you are quite misinformed about the amount of contributions (money, time and code) I'm responsible for. (No - not just my time, but also the time of developers I am responsible for.) And therefore I think I HAVE the right to "bitch up a storm".

        So, your perfect CPAN would have only the best of the best ... which means it won't fulfill most needs.

        It is probably my failure for not being that precise, although I believe there are always two sides when it comes to a misunderstanding (sender and receiver - assuming the channel is ok). I'd be fully satisfied with a CPAN that would allow me to blend out modules whose "reputation" is below a certain mark. Yes, CPAN does that somehow a little bit in a way...

        Bye
         PetaMem
            All Perl:   MT, NLP, NLU

        I --'ed nearly every single reply you made in this thread, and I'm going to explain why
        The experience cut hurts so very very much. I might not attain level vroom now. Anyhow, I am downvoting all of your nodes every time you advertise for your own 3 little modules when it was unneccesary to do so.
        Furthermore, I don't hear you or Fatvamp offering to take on the effort of moderating the submissions.
        Nope, I wouldn't work on it -- but a community can always listen to suggestions -- I chose to work on other things, and volunteerism doesn't always have to be software related -- the point is you contribute. Meanwhile, openness is important, but evidentally you don't think that way. I think you exist only to advertise your contributions and your 3 modules in every post -- ok -- fine, nice, good for you -- but this does not make your ideas any better than mine.

        So, your perfect CPAN would have only the best of the best ... which means it won't fulfill most needs.
        Do you run Debian? I'm asking for tiers of quality/safety/completeness, that's all.

        Until you are willing to do what Jarrko et al have done and donate 20-40 hours per week of your own time, you don't have the right to get on that soapbox and bitch up a storm.
        So I don't have the right to discuss feature improvements on a public forum? Great. I love the openness here. It's lovely.

        So, anyhow, I'm enjoying the holier-than-thou atmosphere here, someone tries to get the Perl community to rise above it's "line noise" and "crap code" stereotypes and the community just backs them up. What sort of environment is that? It can't excel. It will be continually held back by this small thinking. It grows, and grows, but completely without form, design, and planning. So it's an archive... put it is *not* fit for a standard library or something that would pretend to be one. It says a convient way to download things and resolve dependencies, but it does not recieve attention ... one man's modules are one man's modules, and features are added sporadically -- modules are instead forked or cloned, and there is much duplication -- but little to no cooperation! The source is open to these modules, but the development and maintaince process isn't. Hence the dispartity.

        Yes, this is another post to downvote. Have at me, I don't care. The attitude towards change and free discussion here is really depressing. I don't want everyone to agree, but it would be nice if they got off their high horses once and awhile.

        Well, anyhow, I'm glad some of you have shown your true colors -- I'm resigning from this community as I have no intention of being associated with biggots like you.