After designing my first module, I've run into some questions walking through the submission process. I've been actively discussing these on the Beginning Perl mailing list and comp.lang.perl.modules newsgroup, but I'm not sure I've found my answers, so I thought I would bring the questions here.
First, a little background. I've built a module that helps rapidly construct Multiplexed Non-Blocking I/O Telnet servers. The module was designed with an eye towards MUDs, MUSHes, or other similar game servers, since that what I intend to use it for, but isn't limited to that. Just for summary purposes, I can implement an echo server with about 5 lines of code, using my module. Now for my two questions. First, should I submit this module to the CPAN? I began this module for my own use and to learn, so I did not check for existing modules from the start. Having now checked, there are similar creations. IO::NonBlocking, is pretty much what I have created, with a pretty different interface. Event, POE, and Stem are all at least capable of doing the work mine does as well, though I was aiming for something simpler and more focused. There may be others. Most of the messages on the mailing list and newsgroup seem to favor a submission, with two pretty strong exceptions. My opinion is that it is worth submitting, but that I should channel the module's development to a more specialized MUD/game server in the future, filling my own problem domain on the CPAN. Of course, I've never submitted a Perl module before and simply don't know. I'm open to other opinions. I do realize that I can submit it in my home directory, but I'm more interested in knowing if my module has a place on the list. My other question is, what do I call it? I was using Server::MUServer which is pretty obviously bad after reading the CPAN documents. Rethinking it, I had almost settled on Net::MUDServer, when a newsgroup post mentioned the Net category is a little restrictive of entries these days. Any advice/guidance here is very appreciated. Thanks for your time. James Gray