What is the size of the Perl community?
Sometimes people ask me: How many people are in the Perl community?
If this happens at a YAPC or a Perl Workshop I might ask back: What is the Perl community? or Who is in the Perl community?.
If this is in a Perl training class, especially in a beginner level training class, I cannot do that. I need to come up with a number and 42 does not work well.
The Onion
The Perl community is like Shrek. It has layers.
Unlike the onion though, the layers are fuzzy.
Not only that, but I am sure if I ask people at a YAPC or a Perl Workshop they will have different opinions on who should be considered in the Perl community.
Some would even ask why does it matter?.
Nevertheless, let's see a couple of possible definitions:
- Attended a YAPC or a Perl Workshop
- Committed something to the Perl 5 core.
- Contributed to Rakudo or one of the other Perl 6 implementations.
- Uploaded a module to CPAN.
- Contributed to a Perl based project.
- Attended a Perl Monger meeting.
- Wrote on a Perl mailing list.
- Wrote on Perl Monks.
- Participated in a Perl-related IRC channel
- Wrote an article about Perl.
- Read an article about Perl.
- Sent a documentation patch to Perl 5, Perl 6, CPAN or a Perl project.
- Has written/maintained Perl code.
- Gave money to one of the Perl non-profit organizations.
- Knows what PERL stands for.
For each one of the above we could have a group that includes anyone who ever done that specific thing, and a much smaller group who did it in, let's say, the last 12 months. We could have people who frequently engage in one of the above activities, and people who do it once in a year.
The above activities have some overlap, but in general you will find that any single person might participate in any number of the above activities.
The layers are also fuzzy. You cannot really say what activity is closer to the center of the onion but even where you do, you will find people who participate in some very central activity while not in others.
For example, there are people who are regular perl 5 core contributors, who I think can be considered the heart of the Perl community, but who have never attended a YAPC.
The layers
Despite all the difficulty to define what we would like to measure, we still would like to come up with some numbers.
Let's try to define some groups, based on the level of involvement, and provide some estimates.
Inner circle
There is a group of people, who do one or more of the following:
- They might regularly go to Perl Workshops or YAPCs.
- They might regularly write on Perl mailing lists, on Perl Monks or on the perl or the perl 6 tag of Stack Overflow.
- You'll see them frequently on one of the Perl-related IRC channels.
- They participate in the work of the Perl 5 porters, or the Perl 6 developer. They might be CPAN authors.
- Some of them regularly write blogs about Perl.
This group consists of a few thousand people. Maybe as many as 3,000.
Sources for estimation: Check the number of YAPC and Perl Workshop participants in any given year. Check the number of active CPAN authors in the last year. Check how many people read the Perl-related blogs.
The Perl Weekly newsletter has 3,795 e-mail subscribers and 419 RSS subscribers.
Passive involvement or lurkers
There is a bigger group, maybe 10-20,000 people who are registered to a Perl Monger mailing list, or Perl Monks, or one of the other channels mentioned earlier but hardly ever post anything.
They might have signed up to one of the Perl groups on LinkedIN or one of the Perl projects on Google+ or Facebook.
Source of the estimate:
According to a recent check of the Perl Monger mailing lists there were about 13,000 unique subscribers in more than 350 mailing lists.
Currently there are 255 Perl Monger groups marked as "active", many of them have no activity on their mailing list nor do they have any meetings.
As an example, where I am familiar with the numbers: There are 250 registered e-mail addresses on the mailing list of the Israeli Perl Mongers. Only 10-15 people participate in the discussions and about the same number of people come to the monthly meetings. So about 10% are active and 90% are lurkers.
Perl users
There is a much larger group, maybe 100-500,000 people who use Perl, sometimes on a daily base, but have not got any more involved.
They might search for solutions on search.cpan.org, maybe even on Meta CPAN, but most of them only search on Google.
They don't join any of the above groups. They hardly ask any question on a public forum.
Some of them need to maintain old and horrific code, without real support from their management.
Others use Perl as a helper tool writing small scripts while they are designing DSPs.
They might be system administrators who rarely use CPAN modules. (Either because they don't know about them or because of bureaucratic reasons.)
Non-Perl users
An even larger group include the people who use some Perl-based open source solutions (e.g. Bugzilla, Twiki, Foswiki, RT, Movable Type, WebGUI, OTRS, or maybe Frozen Bubble.)
In addition, there are people who use solutions that are Perl-based but not open source.
Companies and Organizations
So far we only talked about individuals.
There are several Perl-related non-profit organizations around the world. I assume most people would consider them part of the Perl community.
What about companies that use Perl? Can they be part of the community? What kind of participation could be expected from them? Why would that benefit the companies?
Why is this interesting?
I am not sure if it matters to you, but I often participate in discussion on enlarging the Perl community, or regarding communication within the Perl community and outside of it and I often feel we are not talking about the same thing.
I am quite sure there are people who mean the "inner circle" when they say Perl community and there are others who mean all the Perl users and even the companies. I can even imagine, that some people think about a much smaller group when they talk about the Perl community. The few hundred people they are in touch at YAPCs and via IRC.
I think it would be better if such conversation had some clear ideas what each sides thinks about the Perl community.