1000th consecutive days releasing to CPAN

Today, Sunday 23rd July 2017, is the 1000th consecutive days of releasing to CPAN. It means a lot to me personally and certainly not an easy task. I have been through many ups and downs in this entire journey. I would say many ups than downs. What inspired to me start the journey? It was one of the blog by Neil Bowers that got me started.

Then came a time when Barbie decided to stop after completing 370th consecutive releases to CPAN. He even wrote a blog about it and mentioned my name in the blog. He even gave few advises how to survive.

I knew if I want to survive in this race then I have to either have to have lots of my own distributions or try to adopt others. Creating new distribution is not easy and required lots of time. Still I managed to get 70+ distributions of my own e.g. Map::Tube::*, Calendar::*, Date::*, Crypt::*, Test::*, Games::* etc. However it was still not enough to keep me going. The other options for me was to request for adoption. Even adoption is not easy as someone would think. You can't just request the author to make you co-maint. You have to earn the confidence of the author. I realised the only way I could do that is by submitting
patches or pull requests.

During this time, Neil Bowers came up with the idea of Pull Request Challenge, which turned out to be a life saver for me. I grabbed this opportunity without even blinking as it is so fun. During my early days, I did annoy few authors with my pull request, but very quickly learnt the tricks, thanks to Neil Bowers again for the tips. So far I have submitted more than 460+, (464 to be precise) pull requests. Out of those, 291 pull requests got accepted and merged (63% success rate).

During the PR journey, I managed to grabbed the attentions of few big names like Gabor Szabo, Matt Sergeant, Cory G Watson. I still remember one Sunday evening, I was submitting PR to one of the distributions that was maintained by Gabor. As soon as I submit the PR, he would accept it and merged it straight away. I did that 4 or 5 PR in a row. At the end he asked me if I want to be a co-maint for the distribution. I didn't waste even a second to replied "Yes". And now, so far, I have adopted 20+ distributions, thanks to Gabor for most of them. Some of the distributions are still actively used by many perl users e.g XML::XPath, PDF::Create, SVG, Data::Verifier, Test::Strict etc, which helped me to survive in the race. I also made few new friends during the process.

One thing I noticed, since the start of PullRequest Challenge in Jan 2015, I have not missed a single month. The other day Neil Bowers sent an email to 4 contributors, including me, who never missed one month and gave the name "PRC big guns".

I also hooked into Annual event like Hacktoberfest and 24PullRequests. They are really fun when competing against other technologies user and not just Perl. I enjoyed every bit of it and won free T-shirt every time, delivered to my home address, for free.

In this journey, I even joined GitHub organization "HouseAbsolute" started by Dave Rolsky and submitted few PR that got merged and released. I even became a contributor to Dancer2 project. Fortunately all my PR to Dancer2 projects have been merged and released. While working on Dancer2 project, I hooked into upgrading old neglected Dancer2 plugins and then released it to CPAN, e.g. Dancer2::Plugin::Catpcha, Dancer2::Plugin::Chain and Dancer2::Plugin::Res.

I even adopted couple of distributions, Net::Backpack and Guardian::OpenPlatform::API, authored by Dave Cross.

Now to mark the special day, I am releasing couple of new distributions i.e. Date::Hebrew::Simple and Calendar::Hebrew. It would be a bonus if they get picked up by "What's new on CPAN" series by perltricks.com. Some of my own distributions have been picked in the past. It is an honour for me, personally.

Recently I submitted a very minor patch to the Perl library. How I got into that? I read recently one blog by Dave Cross where he mentioned his small patches to Perl being merged and released. That inspired me to start with small patch. Unfortunately the process is not very smooth. I have yet to receive the acknowledgement. It doesn't help, in my humble opinion, for someone like me, who is keen to get involved seriously.

I have many interesting stats/graphs updated regularly on my personal website, powered by Dancer2/Bootstrap, hosted on a tiny Raspberry Pi.

What next? I am hoping to continue the journey as long as it is humanly possible. If my story inspires even one perl user to start contributing then it would be a big achievement.

Last but not the least I would like to take this opportunity to Thank the following people in no particular order for their kind words and encouragement:
- Neil Bowers
- Barbie
- Gabor Szabo
- Dave Cross
- Matt Sergeant
- Cory G Watson

and many other authors who have accepted my pull requests.


Yay! Congrats, and thanks for the several PRs you've made against my distributions over the past three years.

This is awesome news. Congratulations and well done.

Congratulations! As one of the recipients of a few+ of your PRs, thank you very much for your hard work, dedication and commitment!

Hugely impressed that anyone can write 1000 CPAN modules, let alone do it in 1000 days. Why, you've put Damian Conway to shame!

Allow me to also say- and this probably reflects my own limited world experience as much as anything else- how gratifying I find it to see someone named Muhammad release Calendar::Hebrew. Truly you help make this world a better place!


I don't think that Mohammed has released 1,000 modules to CPAN. Some of these his releases will be new versions of existing modules.

There are currently 96 modules listed for Mohammed's CPAN account.

Congratulations for this milestone, and many thanks for your ongoing contributions!

Leave a comment

About Mohammad S Anwar

user-pic CPAN Contributor. Co-editor of Perl Weekly newsletter. Run Perl Weekly Challenge @PerlWChallenge. Father of 3 angels. Indian by birth, British by choice.