stevieb has asked for the wisdom of the Perl Monks concerning the following question:

Gracious monks,

I've got a project that I've written myself. The project contains a suite of modules that act as the basic fundamentals of an Internet Service Provider.

Although there are dozens of CPAN modules that are use()'d by it, and a few other external self-written modules to make it work, I'm looking for specific advice as to whether I can/should up it to the CPAN

Other than some external imported functions, the entire project is OO under a ISP:: and ( for the frontend ) ISP::GUI namespace, so I haven't found anywhere that names should collide.

Why I'd like it on the CPAN:

The project is quite unfinished, but is extremely functional. Core financial functions are complete ( payment, purchase, account renewal etc ) and where credit card is used, it processes directly to the payment processor ( we don't store cc nums ).

There is a fully functional ledger system, kept in both a General ledger and a User ledger ( all MySQL ), but it is not a true double-entry system ( yet ). User ( client ) balance is always kept up-to-date, and I've been working on the framework for an independent tax system ( I'm in Ontario, Canada ).

It uses a config file for core operational changes ( one config file, each module has its own section. There is a base class ISP::Object that takes care of dealing out config info ), and has its own sanity/error handling driven mostly by dispatch table, that renders cleanly to the web GUI. ( I devised this system, just for my own practise ).

The API POD has been kept relatively up-to-date, and there is a decent unit test suite, but the other ( personal ) modules are not included. ( I don't know exactly how to test for deps )

I use SVN as a source repo, and am adamant about seeing my project through completion.

I learn by doing. I'm a relative newb Perl hacker. I'm willing to accept laughing and finger-pointing if my code is public. Can I/should I use the CPAN for this code?

Steve

ps:

I'm willing to discuss the project's capabilities ( including it's interaction with our RADIUS systems, email systems, etc. Contact me off-list.

UPDATE: ...interesting...this isn't a fair democracy... I just noticed that I can't vote for my own posts, which means I can't cause a self-referential meltdown! :) In all seriousness, not that I'd ever, EVER ++ my own posts, I'm just not familiar with the way things work here, and that it appears as though I keep my votes if I don't use 'em

Replies are listed 'Best First'.
Re: When is it time for the CPAN?
by Anonymous Monk on Sep 11, 2009 at 03:26 UTC
    Can I/should I use the CPAN for this code?

    Yes, absolutely, right away :)

      ...a comment as such coming from an Anonymous Monk leaves much ambiguity... are you being sarcastic?

      If you could be so bold, state *why*.

      Steve

        Because you can. It will help you and your code. You get free testing on many platforms and versions of Perl. Everything else is gravy. Will others find the code useful? Hope so. If not, so what? You find it useful and it's good practice and experience to CPAN stuff. Go for it and have fun!

        ...and it expands your horizons and imposes disiplines that you might otherwise miss. All that guff you have read about testing and documentation suddenly becomes relevant.

        A plea though: a CPAN module is for life, not just for Christmas. Please only put stuff on CPAN if you intend to maintain it and look after your users. When you place a module on CPAN you take on a responsibility.
        CPAN purpose is code sharing, why wait?