Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Managing Modules Without Going Crazy (NPW 2007)


Published on

How to be the maintainer of many modules without killing yourself, being divorced, or eaten by starved house cats

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Managing Modules Without Going Crazy (NPW 2007)

  1. 1. Managing Modules Without Going Crazy brian d foy Nordic Perl Workshop 2007
  2. 2. Just Get Work Done
  3. 3. Less time maintaining modules Fewer complaints More time doing anything else Learn to live with “Good Enough” Have a life
  4. 4. ß
  5. 5. Just be yourself Don’t follow the leader (not even me) Finished work is the priority Playing with new tools is not the goal
  6. 6. Maintain modules Don’t spend time maintaining maintenance Avoid sysadmin monkey work Make reports, do meta-checks Script releases Use developer releases
  7. 7. Use old tools New OS’s / distros are nice, but generally a waste of time Same with new tools Don’t upgrade until you need to Don’t get rid of something that works
  8. 8. Avoid non-module work Don’t spend your time being a sysadmin Schemas come later Tolerate shaggy yaks Feeling good vs. useful work
  9. 9. Don’t let others host it Individuals, that is Avoid single points of failure Use Sourceforge, Google Project Hosting, et alia
  10. 10. Makemaker Module::Build has some problems Module::Build is not core Most people don’t need anything fancy Who cares what Schwern says? :) Unfortunately, Makemaker breaks a lot now
  11. 11. Avoid dependencies Code re-use is good You can go to far, e.g. Class:: If When dependencies break, so do your modules
  12. 12. Delete old versions Keep old versions out of user’s reach Everything kept on BackPAN (
  13. 13. Scripted checks Automatically monitor module health Periodic smoke tests Nightly reports
  14. 14. Scripted releases Do everything the same way Check for common problems Have a consistent process
  15. 15. Module::Release • Won’t release anything until all checks pass • Checks... • test, disttest • kwalitee • VCS status • anything else you like • Uploads to right places
  16. 16. Developer releases $VERSION ends in /_d+z/ PAUSE won’t index CPAN tools won’t install Still in CPAN Search (
  17. 17. Changes files Avoid questions from users New features Fixes to bugs Should I upgrade?
  18. 18. CPAN Testers Almost every platform / Perl version Sometimes broken, but don’t sweat it
  19. 19. RT A pain, but adequate Collect all comments in one place Mention ticket numbers in Changes
  20. 20. The End