Michael Fowler wrote: > On Wed, Sep 25, 2002 at 03:34:26PM -0500, James Edward Gray II wrote: >> '2.1 Do similar modules already exist in some form?' > [snip] >> My newly coded module is a Multiplexed Non-blocking I/O Telnet Server. >> It was written with an eye towards serving MUDs, MUSHes, and similar >> games, because that's what I intend to write with it, but it's not >> really limited to those. Knowing that, here's what I found: >> >> IO::NonBlocking - (Found via search, but I can't seem to locate it in >> the module list.) This pretty close to what I built, excepting wildly >> different interfaces. This module seems very generic, though it does >> mention 'game servers' once in the README. > > You mention your module is a telnet server. Is that accurate? Does it > actually understand the telnet protocol? > > > IO::NonBlocking isn't a server, it's a method of implementing a server; > there's quite a bit more you'd have to add to do so. It appears you could > implement Server::MUServer using IO::NonBlocking, but Server::MUServer > isn't > a replacement for IO::NonBlocking. Thus, they fit two different problems, > though they do cover some common ground. > > >> That's the only match I can be sure on. I admit that my CPAN skills >> are still very poor though, so if I missed 5,000 matches or even 1, >> please enlighten me. > > I looked for telnet servers and found a few things. There's an OurNet > namespace for some sort of BBS system, and an Anarres::Mud::Driver > namespace > for some MUD modules. The last one is an oddity; there are no modules > below > Anarres::Mud::Driver as far as I could tell. It makes me wonder what the > Anarres namespace is for. > > >> So, my question (Finally!) is, should I even bother submitting this? >> I'm not trying to add to module confusion, I just thought others might >> like to use my code. If it will help, I'll submit it. If it's already >> been covered, I'll keep it to myself. I have no experience here >> though, so I could use opinions. Should I maybe even consider slanting >> mine more towards game serving and then submit it? Any opinions are >> appreciated. > > It's hard to say without more specific information. It sounds like it > does > something slightly different from what's available. That doesn't > necessarily mean you should submit it, though. The criteria I would use > in this case is whether or not the module is basically a program or a > module; i.e. can the module be mixed in with others easily, or do you call > it with whatever parameters it needs, and then let it do its thing?
here is my take on this. even James' module is doing something that another module in CPAN is already doing. there is no mean that it should stop James form submitting his module. a lot of modules in CPAN have overlap functionality. they exist solely for the users' benefit. POSIX for example, is probably the most complicated module in CPAN and yet a lot of the functionalities are either directly available from Perl or another module is build to do the same thing with a prettier interface. some modules are simply a wrapper around another module with a different interface or with only the most useful functionalities retain. we don't hear a lot people complain that there are too many module doing the same thing in CPAN. with more choice, a user can choose whichever best suit their need, with less bug, more efficient, more portable, etc. who knows maybe James' module is more efficient than the already exist CPAN module, maybe it's more portable, maybe it's easier to use, maybe it has less or no bug, so even there already exists another module doing pretty much the same thing, it should benefit the others. having said that, i do not mean that anyone should write a silly module and submit it to CPAN as this will certainly make CPAN a garbage can. I think James should test his module as much as possible on as many different platform as possible. it should also be general enough that it doesn't have any application dependent code that he's using during his development for another project. i would say if you feel like it will benefit others, submit it. david -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]