What does CPAN mean to you?

ziggy on 2002-02-27T22:08:27

It's old hat that Perl's killer app is CPAN.

But what is CPAN exactly? Is it the globally distributed and synchonized archive of perlybits? Is it the social construct that has thousands of developers (ok, hundreds) (ok, jarkko and matt and some other folks) creating and maintaining open source software that solves real world problems? Is it that all of that is wired in through Andreas' CPAN.pm? Is it all of the above?

I'm beginning to think that the hardest thing to get right is the social construct, which is the true gem. CTAN, by comparison, has many of the same features -- worldwide distributed archive of TeX-y bits, but somehow lacks the excitement. Pythonistas have been talking about creating their own CPAN but always seem to miss the point that it doesn't have to be the one-and-only-way-to-do-it, but it needs to start so that the contributions can start coming in.

Case in point: like many *nix users, I had teTeX installed on my machine at home; it's a well-known pretty featureful distribution of TeX. However, a couple of packages (pdftex and passivetex) weren't working properly. After an entire night of fighting with it, it just wouldn't work. The best I could find was a recommendation to just drop the entire install and start fresh with TeXLive -- the TeX equivalent of installing all of CPAN just to get two interesting Perl modules. The problem still isn't solved yet (it's a 12 hour download over a modem...urgh).

But what is most lacking in this whole experience is the sense of magic that surrounds CPAN. (I'll leave it up to the reader to decide whether this is a fair comparison, or if TeX really isn't as useful as Perl is...)


Hah!

Matts on 2002-02-28T08:05:54

I had the exact same problem with PassiveTeX. I spent quite some time bouncing emails back and forth to Sebastian until we solved the problem. In the end he suggested I just install TeXlive. But I was on 64K at the time, and couldn't afford to wait. Maybe I missed some fundamental ctan(1) program I could run like cpan(1), but I certainly couldn't find anything. Luckily Sebastian's a very nice and responsive chap, who I'd met before at an XML conference, so we solved it relatively quickly.

One thing's for certain - I am *never* upgrading a TeX installation.

Re:Hah!

ziggy on 2002-02-28T14:23:24

There's no technical reason why TeX needs to be such a bear to maintain and install, aside from lack of tuits. MiKTeX on Win32 is a breeze by comparison. The installer isn't exactly documented, but it's easy enough to figure out with a couple of monkey clicks.

Stories like this (and my adventures with Java last year) keep showing how well-engineered Perl is as a technology and as a community. Perl and CPAN wouldn't be nearly as easy to install and maintain[1] without the community standards we have in place for development, testing, distribution an deployment.

[1] corner cases are still corner cases; I don't expect that too many sites to have MSDW's requirements to make large scale installation and deployment an out-of-the-box configuration option.

Re:Hah!

jdavidb on 2002-02-28T18:17:48

I tried to install teTeX from scratch awhile back to run GNU Lilypond and never could figure it out. That's on my list of things I have to do before I kick off. I hate feeling dependent on program packagers.

Re:Hah!

hfb on 2002-02-28T20:54:33

Hey, TeX IS easy to install and maintain these days compared to what it used to be like. The Economics Department had 3 platforms and 8 different versions I had to maintain, 4 of them on SunOS...I lost a lot of hair in those days. When TeTeX came out I was like, DAMN where was this 5 years ago?! You guys are just pampered wimps :) TeX works like a dream on my OS9 iBook too.

Re:Hah!

ziggy on 2002-02-28T21:03:46

Hey, TeX IS easy to install and maintain these days compared to what it used to be like.
And emacs used to take an experienced sysadmin a full week to compile, configure and install. So the bad old days are behind us. What else is new?

What matters isn't that teTeX isn't as bad as TeX used to be, but rather that TeX in general isn't as installation friendly as it should be (compared contemporary packages like Python, Perl, Apache, PHP, MySQL, Mozilla, the gimp, ....).

Re:Hah!

hfb on 2002-02-28T21:19:09

So what if it isn't? Software doesn't magically make itself easy to install, there must be someone who makes it easy. TeX has also mostly moved off the server environment to the desktop with PCTeX, SciTeX and other commercial forms of TeX/LaTeX. The rest of the TeX using world probably just gets on with it and just uses it. Sendmail is still a PITA to install but, if you want someone to make it 'easy to install' you get to buy the commercial version.

So, lofty goals aside as people say "Patches Welcome!". I'm sure the CTAN folks and TeTeX people would love to have your input.

CTAN or CPAN?

ziggy on 2002-03-01T14:31:55

Software doesn't magically make itself easy to install...if you want someone to make it 'easy to install' you get to buy the commercial version.
Whether TeX is easy to install or not isn't the issue. That commercial versions of TeX (or Sendmail or any other package you care to mention) exist to speed installation and simplify maintenance is irrelevant.

Whatever your thoughts on TeX may be, the observation I originally made isn't about TeX. It's about why CPAN such a killer app for Perl. Apparently, it's more than just being a globally distributed archive of Perl modules. CTAN fills that same role, but somehow lacks the magic of CPAN.

Software is a transient resource, and provides ephemeral value. Of course requirements and expectations change over time. I find it quite interesting that Perl is setting, meeting and/or exceeding those expectations for ease-of-use and ease-of-maintenance, especially compared to similar software projects.

Re:CTAN or CPAN?

hfb on 2002-03-01T15:43:41

Well, I suspect you haven't actually installed a lot of CPAN modules lately as there's a lot of outright crap in nearly every namespace. Even some of the more popular modules are a complete and utter mess to install with tentacles into every other namespace while installing 20 other modules it stipulates it needs. Python, Ruby and others haven't ever chapped my ass quite as hard as the whole XML module morass.

CPAN isn't "magic" and only people who haven't waded through it think so. CPAN is a mound of ego, sweat and code that gets distributed around the world hourly. There is no wizard just a couple of guys who actually did something instead of talk about it to death. CTAN would be magical for you if you were an economist and needed macros.

It took 6 years for Larry to acknowledge CPAN as being the best thing that ever happened to Perl. He was right. No Magic, No waiting. Python and Ruby could build their own version if someone would shut up and do something instead of romanticising about how 'magical' open source is blah, blah, blah.

"Any sufficiently advanced technology is indistinguishable from magic."

Re:CTAN or CPAN?

ziggy on 2002-03-01T15:53:53

It doesn't surprise me that we disagree, since you and I have failed to see eye-to-eye on pretty much any topic of substance for the last four years or so.
Well, I suspect you haven't actually installed a lot of CPAN modules lately as there's a lot of outright crap in nearly every namespace. [...]
I respectfully disagree, with this and many of your other assertions. I'm happy to just agree to disagree and leave it at that. Again.

Re:CTAN or CPAN?

hfb on 2002-03-01T16:01:19

We probably disagree since I actually do something whereas you just talk alot about it. Name one thing you have personally done for CPAN that doesn't involve you talking but doing. Disagree all you like but until you shut up and put up you're just another mouth in a big sea of big ideas and little action.

CPAN is not magic, it is the product of a lot of people doing stuff.

pdftex fix?

pdcawley on 2002-03-04T16:36:26

The problem I had with pdftex was that it wasn't finding the fonts. I made this go away by running tex on the input file, then dvips on the resulting dvi file. Once that was done, pdftex started finding the fonts quite happily so it seems it's crap at compiling them on the fly.

Re:pdftex fix?

ziggy on 2002-03-04T16:51:43

That's a valid workaround, but I'm trying to take advantage of pdftex and avoid generating the intermediate dvi file if I'm only going to feed it to dvipdfm.

Didn't look into it this weekend. Busy week ahead. Hopefully there'll be an answer shortly.