Some years ago I tried to motivate people to contribute to Perl 6, and found that while many had some lingering interest in doing so, they needed some steering.
This was hard for me to do, because usually in Open Source communities, you aren't supposed to tell people what to do; they are free to chose the occupation after all. But I found that it worked very well.
So I think the CPAN Pull Request Challenge is a very good approach to steer people to particular projects, without causing too much work for those who steer. At least it's a very good experiment to try.
I'm not. Especially on larger projects, new contributors usually face something between indifference and hostility. After spending weeks in mailing list battles trying to contribute to a few projects, many people conclude it's not worth their time.
This. Even mildly popular library maintainers will be indifferent or hostile for even the most agreeable PR. Sometimes its just easier to fork and run your own version for this reason, but it makes contributing back to the community difficult.
Yeah, I don't think anything has ever come of the handful of issues I've filed with open source projects over the years. It's either silence or a WONTFIX/works as expected.
That may be part of it, I don't usually worry with mailing lists. My general approach is to file a bug in the appropriate bug tracker documenting the issue I'm dealing with then if/when possible provide a patch for the problem.
It is a good deal of work to put together a merge-worthy pull request, and doing so is no guarantee of its inclusion, or even consideration. Just as an anecdote, I find it increasingly hard to justify the time to turn monkey-patches we've made to Rails (and its accompanying libraries) into pull requests and maintain them against changes upstream, when they often languish without comment from anyone with commit bit. I don't believe project maintainers have any sort of duty to keep on top of random pull requests, but it's pretty easy to lose the motivation to contribute.
Count me in! The last time I wrote Perl, the Camel Book was a thing and I thought it was cool to have the least number of digits in your slashdot id as possible.
I find it pretty fun to try to modify code that lives in a world that I'm largely not part of, this is a nice little impetus!
I'm in. People around here are sometimes cynical of Perl, but there's a lot of high quality code on CPAN that definitely shouldn't fall by the wayside.
CPAN was Perl's claim to fame. It's what gave it the "edge" over Python and Ruby a decade ago. I think people have finally realized that edge is rapidly fading. I still occasionally use Perl but I'm trying to make my goto language Python or Go, unless I find a better functional language. After all, in 2015, shouldn't we be using OCaml or F# for our quick jobs?
I guess I'd rather invest in the future rather than try to save the past.
Although having a central repository of code on the web is no longer unique to Perl, there is still some of CPAN's infrastructure that would be nice to have in other communities. For instance, cpantesters[1].
As far as I know, only the Lisp community has something similar to cpantesters in their cl-test-grid project.
On the other hand nowadays a language community could probably set up something similar to cpantesters using travis so hopefully we'll see more of those sort of systems in the future.
--
[1] - If you want to play buzzword bingo you can think about cpantesters as a distributed, fault-tolerant, self-organizing, volunteered run, cross-platform continuous integration platform that is free to end-users.
I personally have not found one module in python or ruby that makes me say "I wish I had this in CPAN" (at least for the things I use Perl for). I've tried pretty hard sometimes too...
What a fantastic idea. I think this will really speak to those of us that may need a little nudge before feeling comfortable. I've dusted off my PAUSE ID and signed up.
Does anyone know of any other langs/communities that have tried something like this? This seems like a great idea to learn and contribute.
Almost every langs have a CPAN alike. They just copied it.
CTAN for TeX, CCAN for C, forgot the ruby name, LISP has it even with a cpantesters alike testers grid,
PHP split it into PECL for binary extensions (higher quality) and PEAR, which struggles.
emacs lisp, node.js, ocaml, ...
go uses git only for their distributed module system, which is a nice and simple idea, (github as default) but also appeared in common lisp before.
I think the question was less "What other languages have module repositories like CPAN" and more "Does anyone know of other module ecosystems that are running projects like this to get people involved?"
I am in, nice iniciative.
I've just released https://metacpan.org/pod/Task::BeLike::FIBO and I'm quite glad of my minimal style.
Perl is for servers like JavaScript for the web, it is obiquitous.
I like other languages too, but, Perl is really fun specially for the community, a great one!
1. Join the challenge
2. Get any module assigned
3. Check the gaps in it's test coverage using https://metacpan.org/pod/Devel::Cover
4. MOAR TESTS
5. Profit!
From the article: "You don't have to be an experienced Perl programmer, CPAN author, or githubber. The goal is to help others, possibly learn something, and hopefully have a bit of fun."
It might be possible to help with e.g., documentation (which could also be taken as an opportunity to learn just enough Perl to read less-documented code).
I don't think php has reached the point where a lot of libraries have reached stagnation.
In general though it would be cool to just automate this in some fashion. Occasionally email participants a link to projects that haven't had commits in many months but have open bugs or feature requests.
It's not necessarily _just_ about dealing with stagnation. It's also about finding a way for people to start contributing to open source. If you've never released anything, just patching someone else's work is a great way to start. This automates the selection process so you don't necessarily have to look around for something that needs help.
Compared to CPAN, PHP is fairly monolithic. Many of the OSS projects that we hear about are sponsored and/or open/closed or the Automattic business model.
Many CPAN modules are blobs of arcanery and some work completely well but are relatively abandoned.
Well, nothing is stopping you from suggesting (or implementing!) this except the willingness of the target repositories to accept incoming pull requests. This[0] discussion is especially relevant to that limitation.
I get the impression this CPAN campaign is an attempt to introduce, or reintroduce, folks to Perl, which might not be as big of a problem with Ruby. That is, of course, my opinion.
Some years ago I tried to motivate people to contribute to Perl 6, and found that while many had some lingering interest in doing so, they needed some steering.
This was hard for me to do, because usually in Open Source communities, you aren't supposed to tell people what to do; they are free to chose the occupation after all. But I found that it worked very well.
So I think the CPAN Pull Request Challenge is a very good approach to steer people to particular projects, without causing too much work for those who steer. At least it's a very good experiment to try.