|
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
subjective explanations.
I'll go over the points and try to relate them to Perl and the Perl community.
On Ubuntu Innovations
the author points to the following reasons:
- Simple install
- Regular release schedule
- Live-CD that you can install from
- One application for each purpose
- Secure by default
- Over 20,000 applications can easily be installed
- Include non-free hardware drivers
- Made the color brown sexy
- Get an Ubuntu CD for FREE
- The Ubuntu 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
this problem.
- 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
Perl Community
The Ubuntu project has written directions on how to behave. While many of the entries
are obvious it is worth to take a look at both the
Code of Conduct and the
Leadership Code of Conduct..
The points are:
- Be considerate.
- Be respectful.
- Be collaborative.
- When you disagree, consult others.
- When you are unsure, ask for help.
- Step down considerately.
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.
- A good start (vision ?)
- Easy and straightforward installation
- ShipIt
- Synaptic
- Ubuntu forums/Community
- User promotion
- Fragmented competitors
with the following comments I would highlight:
- Promotion of Ubuntu through media and freeCDs
- Synaptic was really impressive, and not having to download
package information from the net every time i do a search was good
These are mostly the same reasons as we read earlier. Let me point out a few issues:
For those who don't use Ubuntu or don't know what it is, the Synaptic Package Manager
is basically a graphical version of CPAN.pm for all the packages distributed by Ubuntu.
It would be probably better if Perl also had a graphical tool to install CPAN packages.
(In Padre we are going to have one.)
User promotion. Perl got into many places by enthusiastic people who started to use it
to solve problems. We should help these people more.
So what do you think, what does Perl need to be more successful in companies and how
can we achieve that?
|