in reply to When is it better to NOT release a new module?

Here's a few reasons:

  1. When you are doing so in order to "have a presence on CPAN".
  2. When you have not utilised the module for at least two, different, real projects that make substantial use of it.
  3. When you are not in a position to test it on at least 2 disparate platforms.
  4. When you are unlikely to ever take the module beyond the first flush of interest.

    Ie. It will forever remain as version 0.xxx so that you can get away with a disclaimer about "use at you own risk".

  5. When you are entirely unconvinced by the process and procedures that make up what might loosely be termed the CPAN requirements.

With a few more minutes thought I could probably come up with another half dozen.

Of course, most of these fly in the face of Perl community/OSS doctrines that suggest, amongst other things, publishing early and often. And this post will probably be seen as a rail against those doctrines--it isn't--and down-voted accordingly--which is fine.

Of the modules that I have written for my own purposes that might be (IMO) suitable candidates for CPAN, I have either:

So, when you make your decision about whether to publish your module, which to me seems a perfectly reasonable approach to a perpetual thorn in Perl's side--it's lack of compile-time signature checks combined with either repetitive manual parameter checking, or high overhead automated checks--consider your position carefully.

Given Perl's already tardy sub/method call performance, anything, that moves some of the overheads to compile-time has to be worthy of serious consideration. Even if it does rely upon a coding technique that is universally scorned because it imposes a need for a high level of care and testing upon the author and may impose an extra degree of care and limitation upon it users. That extra care will mostly relate to their choice of the forms of syntax and source code formatting they use. As your module is hardly likely to see great use in obfus or golf games, which are the only places that the most quirky and difficult areas of Perl's syntax usually see light of day, most production code should already be formatted to a level of cleanliness that should avoid most of the traps that befoul source-filters.

Assuming you exercise appropriate care in its construction and testing :)

Consider your position in the knowledge that, whilst PM is generally a tolerant and happy place to coexist, the wider Perl community has it's dogmas and can be pretty ruthlessly intolerant of even well considered contrary opinion to them. And, within that wider community, whilst there are several camps, of loosely grouped subsets of opinion, there are also some areas where the entire group will come together to ... what was that word I saw someone use recently... kibitz those that voice opinions contrary to the established dogmas.

Good luck with your module, and if possible, I would like to have a play with a copy--even if you decide not to make it generally available.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.