Finding CPAN Adoption
Candidates
Neil Bowers
NEILB

1
A long time ago …

2
3
My first thought …

4
5
A lot of stale distributions on CPAN

• But some are 'finished', not 'stale'
6
Goal
• How can we identify the 'best' candidates?
• Distributions that might be open to adoption …
• That are of value to ...
Bugs reported since release
• Bugs being reported a long time after last release?
• Suggests that the module is (still) be...
Bug score

9
Are other dists using this dist?

10
Total usage graph

11
CPAN Testers
• All dists have three parts to their CPAN Testers score:
• # passes
• # fails
• # unknowns

• Skip dists wit...
Adoptability score
• Gating criteria – score = 0 if
• bug_score = 0, NEEDHELP, core with upstream=blead

• Otherwise score...
neilb.org/adoption

14
Adopting a module
• Fork it on github (see gitpan)

• Fix some/all outstanding bugs
• Follow up in bug-tracker, & offer to...
What's next?
• Split score into value & adoptability
• Ability to generate other lists, such as "dists that need help"

• ...
Upcoming SlideShare
Loading in...5
×

Finding CPAN adoption candidates

322

Published on

A talk I gave at the London Perl Workshop 2013, about automatically identifying CPAN distributions that might be candidates for adoption.

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
322
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Ok, needs more thought …
  • Transcript of "Finding CPAN adoption candidates"

    1. 1. Finding CPAN Adoption Candidates Neil Bowers NEILB 1
    2. 2. A long time ago … 2
    3. 3. 3
    4. 4. My first thought … 4
    5. 5. 5
    6. 6. A lot of stale distributions on CPAN • But some are 'finished', not 'stale' 6
    7. 7. Goal • How can we identify the 'best' candidates? • Distributions that might be open to adoption … • That are of value to CPAN / Perl programmers 7
    8. 8. Bugs reported since release • Bugs being reported a long time after last release? • Suggests that the module is (still) being used 8
    9. 9. Bug score 9
    10. 10. Are other dists using this dist? 10
    11. 11. Total usage graph 11
    12. 12. CPAN Testers • All dists have three parts to their CPAN Testers score: • # passes • # fails • # unknowns • Skip dists with fewer than 50 reports • +2 if fails + unknowns >= 50% • +1 if fails + unknowns >= 5% 12
    13. 13. Adoptability score • Gating criteria – score = 0 if • bug_score = 0, NEEDHELP, core with upstream=blead • Otherwise score according to a rule set: bug score 10 or more bugs reported since last release dependent distributions CPAN Testers 0 to 3 1 1 + log10( $dep_dists ) 1 or 2 core module (CPAN upstream) 2 ADOPTME or HANDOFF 1 Single module in dist 1 Single user has PAUSE permissions 1 Author hasn't released anything in 3+ years 1 13
    14. 14. neilb.org/adoption 14
    15. 15. Adopting a module • Fork it on github (see gitpan) • Fix some/all outstanding bugs • Follow up in bug-tracker, & offer to do a release • Email author via all addresses you can find online • After 2 weeks try again, and try other avenues • Ask on IRC, email module-authors, perlmonks • After 1 month, email modules@perl.org, cc author • They'll give you co-maint permissions • You might want to ask for ownership after 6 months 15
    16. 16. What's next? • Split score into value & adoptability • Ability to generate other lists, such as "dists that need help" • New factors • +1 if CPAN Testers says it needs help • +1 if ++'d on MetaCPAN • +1 if outstanding pull request(s) on github • Get the adoption score into MetaCPAN • Add this into MetaCPAN, or • Generate JSON for MetaCPAN to import • or? • Exclude build dependencies from the dep graph 16
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×