[Distutils] Python people want CPAN and how the latter came about
david.lyon at preisshare.net
Sun Dec 20 23:42:50 CET 2009
On Sun, 20 Dec 2009 15:21:04 +0000 (UTC), Steffen Mueller
<smueller at cpan.org> wrote:
> It'll be no secret to anyone reading this that there has been a lot of
> discussion recently about a CPAN equivalent for Python, sparked by
> Guido's "People want CPAN" post to the python-distutils-devel list.
Yes Guido says it's a good idea. Users say it's a good idea, but not
everybody else shares that view.. it's a hard ask..
> I'm from the Perl crowd and would simply like to share my
> late comer's view of how the CPAN came about.
Sure it is interesting.
> My thesis is that the huge success of the CPAN has been facilitated by
> two factors. The first is simplicity.
Totally true. That's what python-insiders find it difficult to grasp.
> When Jarkko Hietaniemi
> originally came up with it, the CPAN was (and mostly still is) just an
> FTP archive with a by-author directory structure that is mirrored many
> times. Everything else is built on this flexible foundation and has
> grown over time.
Yes. Pypi is not so dissimilar.
The difference is that while CPAN kept its simplicity, python on it's
growth phase has taken cheese-shop, added sloppy noodles, and evolved
into a bowl of spaghetti.
Not only that, it's a bowl of spaghetti with multiple noodle types
now, setuptools, distribute, pip etc.
> The CPAN specifically does NOT have an official web
> service or any kind of development platform. Apart from the directory
> structure of the CPAN, the only other key ingredient was the "Perl
> Authors Upload SErver" (PAUSE) that handles credentials of the authors,
> permissions for namespaces, and serves as a single entry-point for
> uploads to the CPAN. PAUSE scans incoming distributions for meta
> information and generates in index of modules (namespaces/classes) and
> distributions that is itself distributed via the simple CPAN mechanism.
Pypi has all that too.. as you say..
> Let me repeat: Everything else is just sugar on top.
Sugar for CPAN yes. But in the python world we get just ghee as
the sweetener. It just has a different taste.
> everything else is sugar provided by *third parties*. Andreas König
> wrote and still maintains PAUSE and the CPAN.pm client. Later, Jos
> Boumans set out to write the CPANPLUS client. Graham Barr wrote and
> still maintains the search.cpan.org website. Randy Kobes wrote the
> similar but equally non-official kobesearch.cpan.org.
It's nice when you have community spirit like that.
> By virtue of the simple design and the (somewhat limited)
> published meta-data in form of the simple module index, everyone had
> the opportunity to write tools that interface with it.
Another (quite) important contrasting difference in python...
> There was no
> need to "get it all right" from the get-go. Things evolved and we now
> have a best-of-breed. The various services by various people are
> loosely intertwined.
There's a different philosophy in python. I think the management style
is more hierarchical.
> There is also very little regulation on what is uploaded to CPAN, but
> curiously little abuse. I think that is because the majority of people
> who are willing to share their work with others free of charge aren't
> the type who'd want to crap on other people's front yard.
Same with pypi.
> My firm belief is that the second most important factor to the success
> of the CPAN is people. There are some individuals who have managed
> herculean amounts of work and have shown incredible dedication over
> years. But it's the combination of a lot of people's work that is more
> than its sum.
Exactly. Python development philosophy is much more fragmented. In python
we just have bike-sheds.
It would be good to see leadership pushing people together in a
cohesive way, towards common goals.
> I'd say the core of the CPAN toolchain gang is not that
> large. Depending on where you draw the line, there are maybe 10-50 of
That's the ideal size.
> Not all, but many of these people have known each other
> personally for years from attending the many YAPCs and Perl workshops.
> Reading the "People want CPAN" thread, it seemed to me that folks are
> fighting each other quite a bit and not always only on technical
You got it.
> On the other hand, it's hard to imagine fighting with somebody
> as friendly and welcoming as, for example, Andreas König. Meeting
> in person helps this tremendously. Discover the common goals and
> agree on the means over a beer.
I too have been beer drinking with the perl crowd. Such a great
time. Those guys are just so friendly...
> So if anyone was to accept a single concrete suggestion from me, it'd
> be: "Enable the right heads to get together over a beer."
haha. What a notion...
> It is the bonds between individuals that can make it all work
> well. The success
> of the CPAN is due to cultural aspects at least as much as due to its
> design and technical merits.
While I agree 100%, we're back to the circular argument as to
whether we even want something like cpan. Guido says one thing,
others another, and users something different.
> Please keep in mind that this is only my personal opinion. Thanks for
> reading. I hope this can add some perspective.
Yes but you're close on 100% right on every point as far as I can see.
All you're really saying is that perl developers are happier after
having a beer together. And that this doesn't happen as much in
python. If that's what you're implying, then I would have to say
that its just so true. Python is different..
More information about the Distutils-SIG