Perl Weekly #619 - Maintenance of CPAN modules

Gabor Szabo - Jun 5 '23 - - Dev Community

Originally published at Perl Weekly 619

Hi there!

There are way too many CPAN modules that are abandoned or at least not maintained. Even many central ones rarely see activity. It is not very surprising though. Many people who used to develop and maintain these modules have moved to some job where the particular module is not needed or even where they use other languages. Actually I see similar things in Python as well, but let's focus on Perl now.

Encountering an issue in such a module that is hardly maintained is a frustrating experience as you could also read in the recent article of Dave Cross. However, it is not only frustrating. It hinders the efforts to get the job done. If it is an individual who wants to write some personal code that's 'just' frustrating. If it is a corporation then this actually cost a lot of money in wasted time.

So what can be done about this?

For individuals such as Dave and plenty of people on this list, I think really the only solution is to take over the maintenance of the modules.

A corporation has various strategies. They can allocate time to their employees to fix the issues in the open source libraries. They can hire someone to work on these open source libraries. They could try to contract the developers and maintainers of these modules. Or they can just disregard the problem and basically make their own employees (that's probably you) frustrated and waste a lot of time overcoming the issues.

After I read this article a few weeks ago I wanted to see if I could offer a similar serveice. An alternative to the solutions mentioned before. In a nutshell: companies could contract me specifically to work on the open source libraries they care about. (primarily Perl and Python libraries). I contacted a few companies and started to work with some of them on the idea.

My original thought was that we'll agree upon a certain list of modules and I'll work on that. Instead of that my first task is a more generic one. To make a tool that can help us evaluate the problems for a particular set of modules and decide what is more urgent. Basically triage the issues across a few 10s or more likely a few 100s of CPAN modules.

So in the last week or so I changed the CPAN Digger a lot. Besides listing the most recently uploaded modules it now has a list of the most heavily dependent on modules based on the river analogy of Neil Bowers. It has a page for every distribution and every author. There is plenty of more to improve on it, but I am glad there are at least a few people who see this type of work valuable.

I am not good at marketing and sales so I figured the only way this model could work if some of you working at corporations who understand the need will become the local champions of the idea. Then we could work together to formulate the service to your management in a way that will be valuable to them. If you think this could help you, talk to me so we can figure this out together.

Enjoy your week!

--
Your editor: Gabor Szabo.

Articles

DNS validation: validns

Flavio writes: I wanted to do some validation upon a few domains lately, and it was an excellent occasion to use module Net::DNS. The result for what I coded so far is shared in repository validns.

A cheaper terminal trick

An addition to A cheap trick to manipulate PERL5LIB.

Introducing OpenAIGPT4, a Perl Module for Interfacing with the OpenAI GPT-3,4 API

serve_this

Is a tool to explore a directory tree through the browser - to serve the files as a static web site.

In Praise of Perl

If you would like to feel better this article might be for you.


Jobs

ZipRecruiter to cut 20% of staff, CEO to get 30% salary cut

Several people I knew from Perl conferences and in general from the Perl community were let go. If you know them and if you are looking for good programmers, this could be your opportunity to get them!


TPRF

The TPRC room block expires June 19th!

If you are planning to go to TPRC, you have two weeks too book a hotel room with a discount.

Hello (TPRF) World!

The first edition of The Perl and Raku Foundation newsletter. Volunteer Spotlight: Saif Ahmed, Secretary of the Grants Committee


CPAN

List of new CPAN distributions – May 2023


Raku

RakuAST for Early Adopters

RakuAST is the Raku Abstract Syntax Tree. This is the first article in a new series by Liz. I was really glad to see her start writing about it on DEV.


The Weekly Challenge

The Weekly Challenge by Mohammad Anwar will help you step out of your comfort-zone. You can even win prize money of $50 Amazon voucher by participating in the weekly challenge. We pick one winner at the end of the month from among all of the contributors during the month. The monthly prize is kindly sponsored by Peter Sergeant of PerlCareers.

The Weekly Challenge - 220

Welcome to a new week with a couple of fun tasks "Common Characters" and "Squareful". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the FAQ.

RECAP - The Weekly Challenge - 219

Enjoy a quick recap of last week's contributions by Team PWC dealing with the " Sorted Squares" and "Travel Expenditure" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.

Sorted Expenditure

Squaring Up

PWC219 - Sorted Squares

PWC219 - Travel Expenditure

Perl Weekly Challenge 219: Sorted Squares

building a tree using a stack

Perl Weekly Challenge 219

This is Perl! We got this, no problem!

Any more fares, please?

The Weekly Challenge #219

Travel for Squares

The cheapest way to the square

PWC 219


Weekly collections

NICEPERL's lists

Great CPAN modules released last week;
StackOverflow Perl report.


The corner of Gabor

A couple of entries sneaked in by Gabor.

GitHub Actions for CPAN modules

Why to have CI in general? Why to use GitHub Actions?


Event reports

Perl Toolchain Summit 2023 in Lyon

Working on PAUSE


Events

The Perl and Raku Conference 2023

July 11-13, 2023, Toronto, Canada

Perl and Koha

August 14-18, 2023, Helsinki, Finland


Perl Jobs by Perl Careers

Perl Programmer with Rust Experience - UK Remote

Are you a talented Perl programmer with Rust experience looking to work for a cutting-edge enterprise tech publisher that’s at the forefront of the industry? Look no further than our client, a renowned publisher that provides unique news and stimulating perspectives on the enterprise tech that powers businesses across the globe.

Perl Programmer Opportunity - Join a Prominent Tech Publishing Powerhouse in the Philippines

Our UK-based client is a global leader in the enterprise technology publishing industry, providing audiences worldwide with stimulating perspectives and unique news on enterprise tech that matters today and tomorrow. They are currently seeking a passionate and exceptional Perl programmer based in the Philippines to join their team.

Bold, beautiful, and… brainy? Senior Perl roles in Malaysia, Dubai and Malta

With all the knowledge in your big, beautiful brain, it’s time to join a company that appreciates your breadth of experience. Our client provides online trading services and with offices in Dubai, Malta, and Malaysia, they’ve got the global reach that may provide the challenge you’re looking for. They know that a seasoned Perl pro is just what their team needs as they expand.


You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.

Want to see more? See the archives of all the issues.

Not yet subscribed to the newsletter? Join us free of charge!

(C) Copyright Gabor Szabo
The articles are copyright the respective authors.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .