hacker school getting_started_in_open_source
TRANSCRIPT
![Page 1: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/1.jpg)
Getting Started in Open Source
![Page 2: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/2.jpg)
Why?
• “Scratch your own itch”
• Learn something new
• Solve a different class of problems
• Build your resume
• Make the world a better place
![Page 3: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/3.jpg)
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?
![Page 4: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/4.jpg)
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
![Page 5: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/5.jpg)
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
![Page 6: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/6.jpg)
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.
![Page 7: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/7.jpg)
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
![Page 8: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/8.jpg)
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.
![Page 9: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/9.jpg)
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
![Page 10: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/10.jpg)
Coding standards
• Find out if there is a formal one
• Follow it
• Sometimes you’ll notice informal ones as well
![Page 11: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/11.jpg)
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
![Page 12: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/12.jpg)
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
![Page 13: Hacker school getting_started_in_open_source](https://reader033.vdocuments.mx/reader033/viewer/2022050614/546b2944af795902048b55d3/html5/thumbnails/13.jpg)
We <3 contributors
• Projects would not exist without their contributors - they are a huge democratizing force
• Thank you!