On May 23, 2006, at 8:39 AM, David Golden wrote:
How does "is_prereq" improve quality?
Or, put differently, how does measuring something that an author
can't control create an incentive to improve?
is_prereq is usually a proxy metric for software maturity: if someone
thinks your module is good enough that he would rather depend on it
than reinvent it, then it's probably a better-than-average module on
CPAN. is_prereq is usually a vote of confidence, so it is likely a
good proxy for quality. In fact I believe that because the author
(usually) can't control it directly, is_prereq is one of the best
proxies for quality among the current kwalitee metrics.
CPANTS by itself does nothing to improve quality. However, by
drawing attention to kwalitee metrics, I argue that CPANTS draws
attention to quality too. Even if many authors don't understand
that, the ones that do makes CPANTS worthwhile. If making it a game
helps to further raise awareness, then I think that should be
tolerated until CPANTS matures.
IMHO, the best way to improve CPANTS and move away from the game
mentality is to continually add more tests. Each added test
diminishes the weight of previous tests. This will annoy the
"gamers" because their modules keep dropping in kwalitee, while those
that genuinely care about quality will appreciate the additional
measurements. If some gamers get annoyed enough to quit the game,
that's not a big deal because they didn't really understand the point
of CPANTS anyway. If some keep playing the game by cleaving to the
standards the community sets for them, then all the better for the
rest of us.
As an example, consider pod_coverage. It's a rather annoying metric,
most of us agree. Test::Pod::Coverage really only needs to be run on
the author's machine, not on every user's machine. However, by
adding pod_coverage to kwalitee we got LOTS of authors to improve
their POD with the cost of wasting cycles on users' machines. I
think that's a price worth paying -- at least until we rewrite the
metric to actually test POD coverage (which is a decent proxy for POD
quality) instead of just checking for the presence of a t/
pod_coverage.t file (which is a weak proxy for POD quality, but
dramatically easier to measure).
Chris
--
Chris Dolan, Software Developer, Clotho Advanced Media Inc.
608-294-7900, fax 294-7025, 1435 E Main St, Madison WI 53703
vCard: http://www.chrisdolan.net/ChrisDolan.vcf
Clotho Advanced Media, Inc. - Creators of MediaLandscape Software
(http://www.media-landscape.com/) and partners in the revolutionary
Croquet project (http://www.opencroquet.org/)