Caleb Cushing has spilled a lot of virtual ink writing about the obligations that come with releasing open source software.
Yes, I think I’ve proven that volunteering to do open source comes with a responsibility or obligation.
I kid you not. That is what he thinks.
And people have responded reasonably. In my opinion.
What is Caleb’s End Goal?
I can think of three possibilities.
- He likes getting comments on his blog (I can’t blame him)
- He want open source authors to do more than they are already doing
- If something is released [on CPAN?] that isn’t up to a certain standard, he would prefer that it wasn’t released.
He has started closing commenting on his posts so this can’t be the reason. He could still be deriving satisfaction from high numbers of visitors though.
Open Source Authors do More
This is unrealistic. If we1 wanted to do more, we would be doing it already. If we had the time and the inclination to improve the quality, improve the documentation, fix the bugs…
Basically, someone whining, isn’t going to make people increase the amount of effort they put in which is probably already at the limit of what they want to do.
Don’t Release Imperfect Code
Or when is nothing better than something?
Chromatic mentioned one case in the opposite of modern.
When an example is actively bad it reflects badly on Perl. But I think that a programmer who is motivated enough to release code to CPAN will be good enough to not write bad perl.
When a novice writes poor perl examples and others learn from those examples, it reflects poorly on perl. With CPAN, the natural barrier means that a novice is unlikely to be able to upload a module before they become more adept.
Of course, as Dave points out, a lot of what is on CPAN is not exemplary despite the fact that the authors are not novices. However, a certain amount of bad perl is certain to make it onto the internet. Should we exclude all imperfect code and lose perfectly adequate modules?
edit: edited for clarification.
I consider the cases of Authen::SASL, POE and AnyEvent that I’ve relied on recently. Now, in all those cases, the documentation has varied from pretty good to excellent (and they also have handy test cases). However, even if they had no documentation at all, it is surely better to have a working example that you can trace through with the Perl debugger than it is to have to write it yourself from scratch.
In the worst case, if the code is completely unusable I have to write to myself from scratch, but I would have had to do that anyway if the code had not been released. And if I’m not a developer I still wouldn’t have been better off without the code.
So Caleb, consider what you’re asking for. You might think that it would be great if you don’t get perl modules released to CPAN that are a bit rough around the edges, but I assure you that you’re wrong.
1. Yeah, I said we rather than they, even though my own contributions are limited.