Hi Josh, # from Joshua Megerman on Friday 14 September 2012: >My initial inclination was to just call the >module WMIClient, but I'm starting to think that WMI::Client or some >other name would be better. The only 2 modules I currently see on >CPAN that provide similar functionality are DBD::WMI and Win32::WMIC,
I would say Win32::WMIClient if it only run on windows. If this is a wire protocol, you might consider NET:: (sorry it does not google well for me -- but your libasync_wmi_lib.so mention seems to point away from Win32::.) >2. Said module currently has 1 function, wmiclient, which I was >planning on exporting by default. I see that it's generally >recommended not to do that, In the case of providing one function, it might make more sense to export it by default. One can always disable the import with a `use ... ()`, so nobody is trapped by your decision. But, it is good practice to import functions explicitly or call them with an absolute name because it provides a better answer to "how did this function get into my namespace?" >Can I do that, or do I need to distribute the entire module as GPL... I [am not a lawyer] think you can use copyright law to grant anyone whatever license you like _on the code you wrote_. The GPL will apply to the usage of everything together once they are linked/executed, so your license has to allow for that. >...Is this a problem for distribution via CPAN? No. (I was trying to track down the reference for this and I'm not sure if there's more written on this topic. Basically: as long as your license doesn't prevent it from being freely and widely mirrored and you are not abusing the generosity of the mirrors, it can be on the CPAN.) http://www.cpan.org/misc/cpan-faq.html#Does_CPAN_allow_shareware >4. In order to successfully build this module, you need to have the >WMI library installed and specify the location of the WMI source code >as a parameter to 'perl Makefile.PL' so it can find the necessary >headers (which I'd rather not have to package with the module >source). I have specified this in the README and Makefile.PL, but I >don't know how to handle that requirement via CPAN. A parameter to Makefile.PL is not going to work well with a CPAN client. If you want to make it really smooth for users, take a look at some of the Alien:: modules -- you could perhaps automate the installation with an Alien::WMI package. Alternatively, you could prompt() in your Makefile.PL. >5. I'm only starting to look into testing now, but one of the >requirements for testing this thoroughly will be that information be >passed regarding username/password and machine to test >against. If you must have a live test, maybe use prompt() -- but be aware that you would be storing that password as plaintext as a side-effect of how the makefile/make process works. You might be able to work something into the test action -- prompt just before running the tests and put the password in an environment variable. (I [am biased] would use Module::Build for that level of customization rather than MakeMaker.) --Eric -- --------------------------------------------------- http://scratchcomputing.com ---------------------------------------------------