Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contribute with me! Getting started with the tools of free software development by Jessica McKellar

Contribute with me! Getting started with the tools of free software development by Jessica McKellar

PyCon 2013

March 21, 2013
Tweet

More Decks by PyCon 2013

Other Decks in Programming

Transcript

  1. Contribute with me! Getting started with the tools of free

    software development Wednesday, March 20, 13
  2. Why contribute to free software? • Give back to the

    community • People • Education • Work • Fun Wednesday, March 20, 13
  3. Today Part I: the life cycle of a bug Part

    II: practicing the tools Part III: contributing to a toy project Part IV: next steps, contributing to a real project Wednesday, March 20, 13
  4. • Report • Triage • Patch • Test • Review

    • Resolve Part I: Lifecycle of a bug Wednesday, March 20, 13
  5. Report and triage: communication • mailing lists • IRC Report

    Triage Patch Test Review Resolve Wednesday, March 20, 13
  6. Report and triage: How to write a good bug report

    • Short, self-contained example • Explicit steps to reproduce • Input • Expected output • Actual output Report Triage Patch Test Review Resolve Demo! Wednesday, March 20, 13
  7. Patch: revision control • Collaborative development • Managing changes /

    history • Like Wikipedia Demo! Report Triage Patch Test Review Resolve Wednesday, March 20, 13
  8. • Report • Triage • Patch • Test • Review

    • Resolve Part I: Lifecycle of a bug Wednesday, March 20, 13
  9. • Command line navigation • Text editors • IRC http://bit.ly/open-source1

    Part II: practicing the tools Wednesday, March 20, 13
  10. • Create an account on openhatch.org • Complete the diff/patch

    mission • Complete the git mission http://openhatch.org/missions Part II: practicing the tools Wednesday, March 20, 13
  11. Bonus • Complete the OpenHatch tar training mission: http://openhatch.org/missions •

    Read about Python’s unittest module: http://docs.python.org/2/library/ unittest.html • Read about packaging and distributing your Python projects: http://guide.python-distribute.org Wednesday, March 20, 13
  12. Part III: contributing to a toy project • projects hosted

    on github.com • ColorWall project: https://github.com/jesstesstest/ColorWall • Wordplay project: https://github.com/jesstesstest/Wordplay • demo projects Wednesday, March 20, 13
  13. Finding bugs •ColorWall: Letters are sideways •Wordplay: Doesn’t work if

    you use upper-case letters Wednesday, March 20, 13
  14. Writing a good bug report • Short, self-contained example •

    Explicit steps to reproduce • Input • Expected output • Actual output Wednesday, March 20, 13
  15. Bonus • Add a project of yours to GitHub •

    Skim http://opensource.org/ licenses, read http://bit.ly/ open-source-licenses, and add a LICENSE file to your project • Submit a patch for a new ColorWall effect • Submit a patch to support blank tiles in Wordplay Wednesday, March 20, 13
  16. Next steps: at PyCon • Join the sprints • Sunday:

    intro tutorial + project introductions • Monday - Thursday: sprinting • Great opportunity even if remote https://us.pycon.org/2013/community/sprints/ Wednesday, March 20, 13
  17. Beginner tickets • Python http://bit.ly/beginner-python-tickets • Buildbot http://trac.buildbot.net/wiki/ BuildbotSprint2013 •

    Django http://bit.ly/beginner-django-tickets • Twisted https://bit.ly/easy-twisted-tickets Wednesday, March 20, 13
  18. Next steps: Pick a project • Python mentors: http://pythonmentors.com •

    Django’s exceptionally detailed new-contributor guide: http://docs.djangoproject.com/ en/dev/internals/contributing/ • Google Summer of Code Wednesday, March 20, 13
  19. Next steps: Work on a bug • Read new-contributor documentation

    • Check out the source code • Join the IRC channel • Browse the issue tracker • Look for “bitesized” or “easy” bugs • Ask OpenHatch for help! #openhatch Wednesday, March 20, 13