Hi Lars,

> When there are several CPAN modules that seem to do something similar,
> how does one identify which one is more mature and well-maintained?
> 
> For example, which one is best for parsing DHCPd configuration
> (dhcpd.conf) files?  Net::ISC::DHCPd or Net::DHCP::Info?  I'm guessing
> that since the former references the latter in the manual page, it
> *might* be better but where would I look for empirical evidence of that guess?

There are several signals.

CPAN Testers

First, I will look at CPAN Testers, to see how well the modules behave across 
different Perls and operating systems.
On MetaCPAN, look in the left sidebar:

        Net::ISC::DHCPd 

        Net::DHCP::Info 

So the latter is passing all tests, but Net::ISC::DHCPd is a mixture. If you 
click on the “Testers”, it will take you to the matrix view of CPAN Testers 
results:

http://matrix.cpantesters.org/?dist=Net-ISC-DHCPd 
<http://matrix.cpantesters.org/?dist=Net-ISC-DHCPd>
So this appears to work well on Linux, but not on NetBSD or Dragonfly. You may 
only care about Linux, so this might be fine.
You can click on the fails, and see what it is that’s broken.
Notice there are no Windows reports.

http://matrix.cpantesters.org/?dist=Net-DHCP-Info 
<http://matrix.cpantesters.org/?dist=Net-DHCP-Info>
Appears to work well across the board, including Windows. You might want to 
check whether there are real tests for this dist, and not just ok(1) :-)

Reverse Dependencies

Depending on the module, I’ll then look at reverse dependencies: "how many 
other modules are relying on this module?”. On MetaCPAN, you’ll notice this set 
of links on the right-hand side:



In this case neither module has reverse dependencies.

Author

Sometimes it’s relevant to look at the author / maintainer

Net::ISC::DHCPd https://metacpan.org/author/RDRAKE 
<https://metacpan.org/author/RDRAKE>

Net::DHCP::Info https://metacpan.org/author/JHTHORSEN 
<https://metacpan.org/author/JHTHORSEN>

Jan Henning is a respected CPAN author, with a lot of water under his bridge. 
Er, you know what I mean.

I’m not saying or suggesting anything negative about Robert

So a mixed picture, especially given that Jan says "This module is not very 
flexible, and not maintained. Use Net::ISC::DHCPd 
<https://metacpan.org/pod/Net::ISC::DHCPd> instead”. If it provides what you 
want, it may be an ok choice. You could email Jan and ask why it’s not 
maintained. Maybe you could offer to help maintain it, if it meets your needs? 
Given it appears to be stable and portable.

You could email Robert and ask him about the CPAN Testers failures for 
Net::ISC::DHCPd, and whether he plans to address them, and is open to your help 
:-)

Hope this helps,
Neil

        

Reply via email to