Getting Startedin Open Sourcelaura@mozilla.com@lxt
Why?• “Scratch your own itch”• Learn something new• Solve a different class of problems• Build your resume• Make the world...
What?• What you contribute to depends on your motivation and skills• Itch scratching: fix a bug that’s always annoyed you•...
Project selection criteria • Needs a skill you have (e.g. programming in Python, QA,    localization, documentation writin...
Getting to know a project • Each open source project - even sub-projects within a larger    project - has a different char...
Impostor syndrome• Everybody else knows what they are doing.• I’m not as good as they think.• I’m a fake, and sooner or la...
Now what?• Picked a project, what’s next?• Get a checkout, build, install• Find a bug• Code reading• Make and test a patch...
Getting set up • This can be one of the hardest parts, and lots of people get    put off by this:   • Installation   • Tes...
Code reading• Hard step on the path to mastery• “Knowing where to tap”• Look at the layout of the code (docs can help here...
Coding standards• Find out if there is a formal one• Follow it• Sometimes you’ll notice informal ones as well
Gotchas• Avoid end-of-rainbow problems, unwanted features,   intractable bugs• Avoid trolls - every project, like every wo...
Dos• Blog about your work• Become involved in the community• Help another noob get onboard - teaching is the best way to  ...
We <3 contributors• Projects would not exist without their contributors - they are   a huge democratizing force• Thank you!
Questions?• Ask me, now or later• laura@mozilla.com
Upcoming SlideShare
Loading in …5
×

Hacker school getting_started_in_open_source

1,129 views

Published on

A presentation I gave to kick off Open Source Week at http://hackerschool.com, July 2012

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,129
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Hacker school getting_started_in_open_source

    1. 1. Getting Startedin Open Sourcelaura@mozilla.com@lxt
    2. 2. Why?• “Scratch your own itch”• Learn something new• Solve a different class of problems• Build your resume• Make the world a better place
    3. 3. What?• What you contribute to depends on your motivation and skills• Itch scratching: fix a bug that’s always annoyed you• If you’re not scratching an itch, how do you find an appropriate project?
    4. 4. Project selection criteria • Needs a skill you have (e.g. programming in Python, QA, localization, documentation writing, test writing, answering questions on mailing lists) • Friendly to new contributors • Issue tracker, ideally with good first bugs or mentored bugs listed • Clear process for accepting patches from new contributors
    5. 5. Getting to know a project • Each open source project - even sub-projects within a larger project - has a different character and way of doing things • Observation is helpful - mailing lists, newsgroups, IRC, bug tracker, user groups or meetups, conferences • Understand social norms • Read the code • Understand the review process • Make connections with mentors and others
    6. 6. Impostor syndrome• Everybody else knows what they are doing.• I’m not as good as they think.• I’m a fake, and sooner or later I will be found out.• I should be doing more.• I don’t belong here.• Correlation between impostor syndrome and intelligence• Many developers feel this way. Remind yourself.
    7. 7. Now what?• Picked a project, what’s next?• Get a checkout, build, install• Find a bug• Code reading• Make and test a patch or pull request• (Sign a contributor agreement)• Put it up for review• Some combination of waiting and socializing• Patch lands! You are now a contributor
    8. 8. Getting set up • This can be one of the hardest parts, and lots of people get put off by this: • Installation • Test data • Building • Reproducing the bug • Solutions: this is on the project. Don’t be afraid to ask for help. Persevere.
    9. 9. Code reading• Hard step on the path to mastery• “Knowing where to tap”• Look at the layout of the code (docs can help here, but sometimes not)• Look for main event loop or controller• Isolate your bug
    10. 10. Coding standards• Find out if there is a formal one• Follow it• Sometimes you’ll notice informal ones as well
    11. 11. Gotchas• Avoid end-of-rainbow problems, unwanted features, intractable bugs• Avoid trolls - every project, like every workplace, has at least one• Don’t be a troll
    12. 12. Dos• Blog about your work• Become involved in the community• Help another noob get onboard - teaching is the best way to learn• Make friends, learn stuff, make the world a better place• WIN
    13. 13. We <3 contributors• Projects would not exist without their contributors - they are a huge democratizing force• Thank you!
    14. 14. Questions?• Ask me, now or later• laura@mozilla.com

    ×