Start Contributing to Perl, It's Easy!

Start Contributing to Perl, It's Easy!

OSCON slide deck

02bc4c360fa05e88c8977876dcdd56a8?s=128

Augustina Ragwitz

July 24, 2013
Tweet

Transcript

  1. Start Contributing to Perl, It's Easy!

  2. Augustina Ragwitz auggy@cpan.org irc.perl.org: auggy freenode irc: mmmpork twitter: @mmmpork

  3. Perl Wants You!

  4. Open Source Software is “Free!”

  5. Open Source is like Public Radio (well... more like Public

    Access TV)
  6. Want to pay your dues? Contribute!

  7. Start Small

  8. Small Code Patches

  9. Documentation

  10. Unit Tests

  11. Learn the Process

  12. New Code means New Context

  13. Don't be intimidated no one is judging you

  14. PEOPLE make up communities

  15. Talk to the community

  16. irc.perl.org #p5p #perl-help

  17. Why do we need this talk?

  18. Tribal Knowledge

  19. Where can I contribute to Perl?

  20. Perl Core a.k.a. Perl 5 Porters

  21. dev.perl.org #p5p on irc.perl.org perl5-porters-subscribe@perl.org

  22. Pumpkings

  23. AKA Sucker of the Moment “I was told there would

    be pumpkin pie!”
  24. Submit a patch, become immortal!

  25. Perl Core != C programming

  26. Documentation

  27. Patch supporting scripts

  28. Improve unit test coverage

  29. Check RT for bugs http://rt.perl.org

  30. Whoa! A To-Do List! Porting/todo.pod

  31. How to submit a patch: http://perldoc.perl.org/perlhack.html

  32. Perlbug utility + helpful tips http://perldoc.perl.org/perlbug.html

  33. The CPAN Comprehensive Perl Archive Network

  34. AKA The Place Where Modules Live

  35. MetaCPAN http://www.metacpan.org

  36. PAUSE Perl Authors Upload Server http://pause.perl.org

  37. CPAN Testers Test all the Modules on all the Perls

    http://www.cpantesters.org
  38. Cool Stats! http://stats.cpantesters.org

  39. How can I contribute to CPAN?

  40. File a bug

  41. Struggled to use a module? Improve documentation!

  42. Especially if the author helped you!

  43. Did you change anything to make it work? Submit the

    patch!
  44. How to submit a patch to CPAN

  45. Disclaimer: TIMTOWTDI

  46. Step One: Get the source code

  47. Check Metacpan Repository Information

  48. Check the Module documentation

  49. Last Resort: Download the tarball

  50. Git::CPAN::Patch

  51. Step Two: Hack, Hack, Hack

  52. Step Three: Submit the patch

  53. Has the author specified a bugtracker?

  54. Examples: Github Bitbucket Sourceforge

  55. GitHub http://www.github.com Make a “Pull Request”

  56. If not, use RT http://rt.cpan.org

  57. Send an email to RT and attach your patch bug-module-name@rt.cpan.org

  58. Use RT if: Author says to or No bugtracker information

  59. How do I know my patch was submitted?

  60. RT responds with an email

  61. GitHub shows your pull request

  62. What happens when I submit a patch?

  63. Scenario One: Merged and Released!

  64. Scenario Two: Author responds to bugtracker ticket

  65. What if my patch is rejected? :(

  66. Don't give up!!!

  67. Use the author's feedback to fix your patch

  68. What if the author doesn't respond... AT ALL!?

  69. modules@perl.org

  70. FORK!

  71. How do I write a patch that's likely to get

    merged?
  72. Don't submit a large, complex patch Each issue gets its

    own commit
  73. Write clear commit messages

  74. Be consistent with the author's style

  75. Update documentation

  76. Write tests

  77. Include a changelog entry

  78. Collaboration is FUN!

  79. Q&A