Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

a lot of the CPAN big hitters have gone

by tobyink (Canon)
on Nov 26, 2019 at 08:50 UTC ( #11109237=perlmeditation: print w/replies, xml ) Need Help??

I know I'm guilty of disappearing for extended periods myself. I understand that family, jobs, life can give people less time to contribute to open source projects. But it's somewhat concerning that a lot of major CPAN authors who have written some pretty useful modules seem to be disappearing lately. None of the following authors have made a release in the last 12 months:

  • ADAMK - Params::Util, DBD::SQLite
  • DOY - Eval::Closure
  • FLORA - Term::ReadLine
  • KENTNL - HTML::Tree
  • MSCHILLI - Log::Log4perl
  • MSCHWERN - Test::More, Method::Signatures
  • NUFFIN - KiokuDB, Try::Tiny
  • RCLAMP - File::Find::Rule, Pod::Coverage
  • RSRCHBOY - MooseX::AttributeShortcuts
  • STEVAN - Moose
  • TIMB - DBI, Devel::NYTProf
  • SIMONW - Module::Pluggable

(Honorable mentions to INGY, DAGOLDEN, and RSAVAGE who have barely released anything in the last 12 months.)

Many of their projects have gotten new maintainers, and there are always new CPAN authors coming up and releasing some great new things, but we do seem to be losing some key people who have made important contributions to the Perl ecosystem.

  • Comment on a lot of the CPAN big hitters have gone

Replies are listed 'Best First'.
Re: a lot of the CPAN big hitters have gone
by Your Mother (Bishop) on Nov 26, 2019 at 09:46 UTC

    Yes. And this is a natural segue point for something I’ve been trying to articulate. A lot of hackers treat crucial developers like these folks—and others not named, and you—like they are basically… struggling for the right word… coolies. Little deference, little respect, less help, just demands and complaints and lectures about responsibilities and socially acceptable participation when handing over the goodies. This would drive me out. It did drive me away from a major CPAN project a few years ago actually. It might only reveal what a big baby I am but it took just one of these episodes to kill my public participation.

    This is not everyone, obviously, or that stark a line. It is more common than it should be though and it frequently comes from devs at my level—seniorish contributors but not core patching, 100 distributions contributors—who should know better and be a defense layer for our “betters.”

    I was trying to do something with websockets against a stock/securities trading API last night. I ended up running npm install -g wscat to get going instead of using Perl. I don’t have the chops or time to work out what I want in Perl with existing websocket packages and the JS was trivial to install and use. I harp on it but JS is becoming amazing and it’s mostly not the language, it’s the tools.

    Perl’s tool makers are its life blood; its future. They need to be protected and revered, or whatever personal version of that one can summon. Thanksgiving week in the States. I am deeply thankful for every developer who has written code that helps me write mine.

      People are, errr, people. And every person has its/his/her own criteria to join/leave/comment/complain/help.

      I have been driven away from contributing to OpenSource (well, mainly GNU) projects, because I really cannot stand the style/layout they force on contributors. I know that many don't care and many have a strong opinion. Some would say that functionality rules over layout, certainly if the style/layout won't show in the final (binary) product, but to me it is just too ugly to contribute.

      There are also people that don't contribute/join because of code of conducts. There has been an example of an CoC where the contributors were expected to be religious. That for me would be a definite show-stopper, regardless the religion.

      I am well aware that the opposite also is in effect, and that my CONTRIBUTING.md will (for sure) drive possible helpers/contributors away or scare them off. I am willing to bear the consequences.

      If/when I (also) stop and leave the community (for whatever reason), I *hope* the stuff I leave is valued and picked up by someone who cares. I also have the vain hope that this person will value and appreciate my consistency in style and layout, but I am quite confident he/she won't. If I am dead, I cannot be bothered I guess.


      Enjoy, Have FUN! H.Merijn

        You are absolutely one of the developers I owe thanks; and dinner and drinks should you ever turn up at my doorstep. :P

      Websockets in Perl aren't that hard. I don't have time ATM to make a simple example, but here is my websocket client that "translates" between Net::Clacks and the OBS web/websocket server:

      Hope that helps

      perl -e 'use Crypt::Digest::SHA256 qw[sha256_hex]; print substr(sha256_hex("the Answer To Life, The Universe And Everything"), 6, 2), "\n";'
      it’s the tools

      I was checking out the source code for wscat and noticed it looked like a trivial port to Perl. Then I searched ddg for "wscat perl" and the first result took me to Net::WebSocket where the changes mention a "wscat.pl demo script" (which it doesn't install, wtf). After installing Net::WebSocket the script wscat.pl failed to run because IO::Events was not installed. After installing IO::Events it still failed because MockReader was not installed. Trying to install MockReader seemed to simply reinstall Net::WebSocket and didn't fix the problem. Then I noticed @INC was modified by wscat.pl so I had to mkdir 'lib' and put MockReader.pm in a /lib relative to the location of wscat.pl. After the hassle, which only took a minute or two, the wscat.pl demo script appears to function and the example given for the javascript version worked perfectly! I guess it would be a good idea for someone to clean up the installation mess and release something useful like App::wscat so you can use Perl!

      > wscat.pl ws://echo.websocket.org
      > hi there
      > hi there
      > are you a happy parrot?
      > are you a happy parrot?
      
      https://github.com/websockets/wscat
      https://metacpan.org/source/FELIPE/Net-WebSocket-0.21/demo/wscat.pl
      

        Thank you very much for digging through that. It’s highly encouraging.

        I may try my hand at adding such an example to Mojolicious, since it would be trivial with those tools.
Re: a lot of the CPAN big hitters have gone
by 1nickt (Abbot) on Nov 26, 2019 at 12:56 UTC

    Hi Toby,

    I agree that it's somewhat concerning, but at the same time I am reminded that Perl has already gone through this at least once or twice before. Many or most of the heavy hitters that were developing the key Perl modules at the time I began using it (c. autumn 1995) had departed or mostly withdrawn by about 10 years after that, including early pioneers like Graham Barr, early web architects like Doug MacEachern, Stas Beckman et al., application architects like Andy Wardley ... bah, it's useless to try to make a list.

    Then the Renaissance began and modern Perl evolved, with a slew of new utils and tools, many of the ::Tiny family, and the world was saved. Some people wrote incredible new packages, including, notably for my own mid-career can-I-still-make-it-as-a-Perl-dev? period, you, Adam Kennedy, David Golden, Rik Signes, Ribasushi, Matt Trout and the Moo[se] developers. But the older packages that were still relevant continued to mostly work and also be updated where needed. That's one thing about some of the contributions, e.g. Template Toolkit : they are just *complete*. The same thing is true about many of the packages released during the Renaissance.

    So I think one consideration is that many of the tools that are needed already exist, so there is probably less room for innovation than in years (decades!) past. But as you said, the older tools are almost always well-maintained by a newer generation of devs/maintainers. The latest wave of async processing tools and modern app frameworks will no doubt undergo the same evolution. I have confidence in the future. After all, as you know, there's nothing as fun as when you get on a good roll developing in Perl!

    What I do want to highlight is the extreme scarcity of developers *in general* who can contribute in the way the "heavy hitters" do. I've made a few contributions to existing packages over the years, and released a couple of minor ones myself, but all the big ideas I've had are still mostly ideas, and I am clear-eyed about how difficult it is to make something that is widely useful. Even with *today's* development and release tools, the level of commitment, drive, raw intelligence, big-picture thinking, time investment, discipline and sheer force of will necessary to conceive of and then execute and deliver a universally useful and stable package or toolkit is simply not even latently in the vast majority of Perl hackers.

    Thanks be that the universe seems to deliver a steady trickle of such extraordinary luminaries. I completely agree with Your_Mother that in general they are under-appreciated and rewarded for their contributions and sacrifices.


    The way forward always starts with a minimal test.
Re: a lot of the CPAN big hitters have gone
by dragonchild (Archbishop) on Nov 30, 2019 at 02:33 UTC

    A lot of the people you list (and a lot more you don't, like BDFOY) are, frankly, getting older. Most of the people in that cohort are in their mid-40's to mid-50's. Many of them have moved out of positions where they do a lot of hacking on OSS. For example, many of them aren't individual contributors anymore. Many of them no longer work in Perl on a regular basis. This is just a normal evolution.

    Pascal was once the shit, too.


    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

      Yeah, I did check BDFOY when I was making the list. He's a lot less active than he once was, but he's made some releases in the last year. My list was people who have 50+ distributions on CPAN but no releases in over a year.

      (Also, I'm nearly 40 and that scares me.)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://11109237]
Approved by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (8)
As of 2020-06-01 17:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you really want to know if there is extraterrestrial life?



    Results (6 votes). Check out past polls.

    Notices?