CPAN Report 2022

CPANCPAN Report Thu 13 July 2023

This is a follow-up to last year's blog post, where I posted some charts to show how new CPAN users and distributions have changed over time. I meant to post this in January, but was repeatedly ambushed by yaks, and eventually decided it was too late. Then Olaf asked if I could show him updated charts with 2022 data, and I figured I might as well publish a belated report.

New user signups

In 2022, 147 people signed up for a PAUSE account, a slight increase from 140 in 2021. The best year was 2012, when 850 people signed up:

PAUSE only started recording the signup date in 1999; in previous reports I lumped all signups prior to 2000 in 1999, but I think it's better to show it this way, since that's more than 20 years ago.

As mentioned in previous years, when someone signs up for a PAUSE account, it has to be approved by an admin. That's me, and I try to turn these around same-day. A small number are clearly bogus; I'd say fewer than 10 per year.

First-time CPAN releasers

Not everyone who signs up for a PAUSE account ends up releasing something to CPAN, and of those who do, some get around to it some months later. Here's the number of people who made their first CPAN release, per year:

After a number of years of decline, this looks like this might have levelled out?

I wondered what the month-by-month view looked like, so here it is:

That very obvious spike in 2012 is brian d foy, who released a new version of Intermediate Perl, which encouraged people to sign up for a PAUSE account and release a dummy distribution. He kicked that off with a workshop at YAPC.

So then I decided to look at how many of those first releases were in the /acme/i namespace:

This seems to show a 4-year spike caused by Intermediate Perl, I think.

The second spike in that first chart is the first CPAN Day, when we encouraged people to do CPAN-related things.

Bouncing this round with Olaf made me ponder some additional questions. How long do people wait after signing up for a PAUSE account before releasing their first distribution?

So of the people who sign up for an account and do actually release something, nearly half of them release within a week of getting their account. But a small number wait years. I suspect these are people who sign up for a PAUSE account for some reason other than releasing modules, such as logging bugs in RT, or to use with MetaCPAN.

I then thought the week-by-week view might be more insightful:

This is much clearer: the majority of new users sign up ready to release. But's there's then a long tail. I wonder, if someone hasn't released after 4 weeks, say, would it be helpful if we emailed them "hey, everything ok, would you like some help?"

CPAN Releasers per year

Regardless of whether it was their first release or their hundredth, how many different people did a release in 2022?

Compared to the previous charts, this one shows a continued decline.

I wondered how the make-up of new vs experienced releasers has changed over the years, which led to this chart:

So for a good period there was a healthy percentage of releases being done by relatively new CPAN authors. But in the last 4 years that has clearly dropped, so the lion's share are now released by old hands. I wonder how much of that is down to COVID?

CPAN Innovators per year

There are a lot of existing distribution that see occasional releases, so how many new distributions get a first release each year?

This shows a more consistent decline since 2013, but maybe it's starting to level off?

New CPAN distributions per year

That previous chart made me wonder about the rate of new CPAN distributions, and how many of those new distributions were the first release someone did.

I have a mental model of people having an itch, they create a module to scratch that itch, and then they decide they'll get a PAUSE accout and release it. So I expected to see that a decent percentage of these would be released by first-timers.

Unsurprisingly the best year was 1995, when nearly half of new distributions were released by first-time uploaders. For the next 4 years, up to 2000, it ran at about a third. For the last 8 years it's been between 5% and 10%.

Note that jump in 2008? I wonder if that's down to Dist-Zilla, which was first released in 2008. It made it easier for power users to make releases, and also maybe people were creating plugins and plugin bundles.

Conclusion

The decline continues, but perhaps its starting to level off. Programming languages never completely die, certainly not once they've experienced the success that Perl did.

As I said last year, I still think the best thing we can do is make it really easy for people to release modules, particularly new CPAN authors.

Are there any other analyses you'd be interested in seeing?

comments powered by Disqus