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
---------------------------------------------------

Reply via email to