(as a personal policy I am going to be refraining from replying directly to nodes posted Anonymously. It is so easy to set up a user account on Perl Monks that I see little justification for anonymous postings here)
An Anonymous Monk wrote over there:
[...] (OSX Panther & Fedora Core 1) so I can't see how I have a non- standard Perl on either of them.
There have been a lot of good replies in that thread so far, but I have my own take on things, so I'll offer a few more opinions. I am seldom running short on those ;-). But I specifically want to reply to this node (sort of, while starting a new topic, which is likely to get me into trouble -- again -- with some folks) because I am not one of the Perl users here who says "I've never had any trouble with installing any CPAN modules." My Monknick is "Intrepid" because I have an uncanny knack for finding trouble -- er, finding real challenging problems to untangle. Since I've had plenty of knock-down drag-out battles with installing perl or extentions on various platforms (I come from MSWindows and its positive symbiont Cygwin), I care a lot about these issues and focus a lot of my personal Perl development time and energy in researching them.
The distribution of Perl, like that of many other "core" open standards technologies, is a multitiered effort that is undertaken by numerous volunteers working in different places and different times. On one level there are the maintainers of Perl itself, and there are people on that level who are very concerned about the viability of the modularized software model Perl has espoused, and very significant efforts are made to ensure that the greatest number of users possible will be able to use most modules from CPAN without having to go through such tribulations. Michael Schwern, Perl's Kwality Kontrol Pumpking, is one such individual (not to slight the many others, past and present). The "pieces" of Perl software that are at the heart of installing modules from CPAN, like ExtUtils::MakeMaker and Module::Build, are under active development most of the time. This represents the Perl community (Perl volunteers) doing its best to be responsive to the needs of users, and it is important to be aware of the efforts (often largely unsung) that are being made behind-the-scenes so that it all "works better".
There is another group of people entirely (well, rather, a different focus, people can and do wear various hats) who are very important in bringing Perl to the machine you are using. Neither you yourself nor any other thread participants mentioned anything about this group, so I think it is especially important for me to point this out. "These people" are the packagers who make whatever configurations (and for Perl, that can be a lot) and alterations necessary, for Perl to be built and run properly on a specific OS/Platform (like "Panther" or "Fedora"). In the case of a RedHat OS, those people may be paid employees of that company, while in the case of something like Debian (which is not a business corporation) they are unpaid volunteers. Whichever they are, they do those things so that you won't have to -- create the build configuration, run the compilation cycle, look for failed tests, build failures, bugs and whatnot. They then create a distribution archive in some format or other that can be downloaded by a sys admin who will install from it to the system in question.
This is the stage of the process where major differences in OS/Platform combinations begin to assert themselves. As a (related) tangential point, note that "all {GNU/}Linux is just linux". All Linuces are running the linux kernel, or else they are not {GNU/}Linux. What differs greatly is the strategic architecture of the package management system. All package management systems or strategies are not created equal. I am a vocal partisan of Debian GNU/Linux because I've been through Dependency Hell many times before, and its package management system (based on a tool called APT and one called dpkg) shows its stuff when the going gets tough. Tremendous amounts of software have been "ported" to APT .deb format distribution archives. I've laughed at Monks in the CB who say things like "a more business-oriented distribution like RedHat" because these are people who have been completely hoodwinked by marketing ploys and wrapping paper and laminated cardboard. They've been raised in culture that teaches people to look at the superficial appearence rather than the substance of things. I laugh sadly.
Whether it is the package management system deployed as part of *BSD or *GNU/Linux or any other platform, there is also the major question of how well the package maintainer does her/his job. Just as all package management strategies are not created equal, neither are package maintainers. Some go the extra distance to to get the most out of whatever package management system their platform employs, while others are sloppy. Since so many packagers - porters - maintainers (whatever you want to call them) are volunteers, like the "upstream" maintainers of Perl itself, their "actual" lives can also interfere with the undertakings they are doing with Perl. By having to rush a release, or having no time for addressing bug reports, or for whatever other reason, many cannot always do quite the job of it they wished to do when they started.
It seems only rational to propose, then, that one wants to make one's self as knowledgeable as possible about the process by which Perl gets onto one's system. Know who the Perl maintainer is for the pre-built, packaged Perl that comes automatically with your OS/Platform. I know who the Debian Perl maintainer is -- Brendan O'Dea (and a fine job he does, too). As a really radical thought, even consider raising your own capability level so that you can support the Perl package maintainer for your OS/Platform -- or even becoming one yourself. You chose the platform you run Perl on; instead of assuming that it is someone else's responsibility to make sure that Perl runs well on it ("running well" includes being able to extend or update by installing CPAN modules), take some responsibility yourself. At least ask questions of your vendor, and if you don't feel that they are as responsive as they should be, consider making a change in your own computing platform.
My intent is not to justify specific finger-pointing for the troubles you've had with installing many CPAN-registered modules, but to introduce you to the knowledge that "Perl" didn't come straight to you from Larry Wall or Jarkko Hietaniemi or whomever. It came through the hands of other levels of personnel (either paid or volunteer, either part of a fairly cohesive, standards-enforcing community like Debian, or a worker doing that project largely in solitude .. and either for love, or just because someone told her/him they "have to" do it). Know and recognize this. And when assigning even vague culpability for what you see as Perl's shortcomings, at least have all the relevent facts in mind before painting with a broad brush.
Best regards.
Soren A / somian / perlspinr / Intrepid
P.S. Don't forget: I am expecting all the people the people who say I am
posting to Perlmonks for the XP to automatically downvote this posting w/o explanation, thanks.
-- Try my n.y.p.m.blue Perl Monks CSS Theme (edit "On-Site CSS Markup" in your User Settings)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Where do Perls come from, Mommy?
by Anonymous Monk on Apr 01, 2004 at 06:52 UTC | |
by eserte (Deacon) on Apr 01, 2004 at 09:51 UTC | |
by flyingmoose (Priest) on Apr 01, 2004 at 22:21 UTC | |
| |
|
Re: Where do Perls come from, Mommy?
by flyingmoose (Priest) on Apr 01, 2004 at 22:29 UTC | |
by gunzip (Pilgrim) on Apr 02, 2004 at 23:27 UTC | |
by ysth (Canon) on Apr 04, 2004 at 13:21 UTC | |
|
Re: Where do Perls come from, Mommy?
by Anonymous Monk on Apr 02, 2004 at 03:20 UTC |