In a previous post I wrote about The Ubuntu Business model and Perl. This is the second part of that
post trying to look at what made Ubuntu successful, how can that be mapped to Perl and
what can the Perl community learn from there.
The success of Ubuntu
We can understand from the previous post that the Perl community cannot copy the
business model of Canonical, the company behind Ubuntu so let's look at how did
Ubuntu succeed in becoming one of the leading GNU/Linux distributions in such a
short period of time. I searched a bit and found a couple of explanations.
I am sure some people will say they are not true or that they are not the
reasons for the success of Ubuntu and I am sure there are others who will
point at other explanations. So let's take this as my subjective list with my
I'll go over the points and try to relate them to Perl and the Perl community.
Simple install: Perl comes built in on almost all the Unix like Operating
systems. ActivePerl and now Strawberry Perl provide easy installation on Windows as well.
What IMHO Perl is missing is a set of distributions for some some of the operating systems
based on the idea of Strawberry Perl.
Similar to how ActiveState has distributions to several platforms but with the Strawberry
philosophy and with a lot more juice.
Regular release schedule: Here Perl clearly has a problem.
I hope it will be fixed now that the development moved to Git.
It does not have to have exactly time based nor do the releases need to
be earth shattering but a minor update every 3-6 months could help improve
both the image and the level of real users testing perl.
Live-CD that you can install from:
This is mostly irrelevant as Perl does not replace the Operating system.
It can be installed on any major Operating system.
Actually the Portable Strawberry that can be installed
on a disk-on-key might provide a nice demo-ing kit.
One application for each purpose: That's another problematic area of Perl
and more specifically of CPAN. In my opinion people like to have choices but don't
want to choose. We should improve the situation as people waste a lot of time searching
CPAN and I am sure in many cases find a module that is far from the preferred modules of any
of the active CPAN authors. There are many partial projects that are trying to address
Secure by default: I don't know about any issues in this regard.
Over 20,000 applications can easily be installed: There are 17,000 modules on CPAN.
Many of them are easily installable but many others have problems. I think this areas is
both a success (as CPAN has so many packages) but also needs improving such as
perl version and platform aware installing tools and
allowing several possibly incompatible trees of the same distribution 1.x, 2.x etc versions)
Include non-free hardware drivers. That's ok, there are modules on CPAN to
many proprietary systems. (e.g DBD::Oracle) What might be interesting is to
include them in Strawberry Perl or the other future Linux/Unix Perl
Made the color brown sexy Camel ? Onion ? I don't know what to say.
Get an Ubuntu CD for FREE IMHO that's quite irrelevant to Perl and
actually that is one of the only places where Canonical invested money. Though I
am not sure that was a large chunk of their investment.
The Ubuntu Community - The Perl community is quite awesome though there are
places to improve. Let's discuss this a bit further
I'd especially point out the last entry. We have tons of code out there, application
and modules on CPAN and in many other places. Some of this code, actually quite
a large part of it is more or less abandoned. The original developer or last
maintainer has mostly disappeared and there was no real process of
handing over the code to others. There is a process in which others can take over
a module even when the author is gone but I think it would be much better if
the authors took it as their responsibility to transfer the modules they don't
want to maintain any more.
I know the way this usually happens is that the person slowly has less and less time
and keeps telling himself, that soon he will return to that code... so its not
easy. We as the community should work on it.