Narain Sagar
Angular2 | Node.js | FullStack JavaScript
What
Why
How
When
Where
Let's get started.....
How do I find the right issue/repository to work on?
How do I find the right issue/repository to work on?
What are some easy contributions for juniors and first timers?
How to build your reputation in the open source community?
Process to get your PR’s merged in larger projects like Angular, etc?
Do you like to design?
Do you like to write?
Do you like organizing?
Do you like to code?
Do you like helping people?
Do you like helping others code?
...?
Improve existing skills
Meet people who are interested in similar things
Find mentors and teach others
Build public artifacts that help you grow a reputation (and a career)
Learn people skills
It empowers you to make changes (i.e., even small ones)
...? (Plenty of reasons!)
Work with Tickets
Working with Code
Work with Documentation
Work with Community
Anatomy of an open source project
Every open source community is different.
A typical open source project has the following types of people:
- Author: who created the project.
- Owner: who has administrative ownership over the organization or repository ?
- Maintainers: Contributors who are responsible for driving the vision and managing the organizational aspects of the project.
- Contributors: who has contributed something back to the project.
- Community Members: who uses the project.
Files are usually listed in the top level of a repository.
Project tools to organize discussions.
- https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github
- https://twitter.com/yourfirstpr
- https://github.com/explore/
- http://www.firsttimersonly.com/
- https://24pullrequests.com/contributing
- https://www.codetriage.com/
- https://www.codemontage.com/projects
- http://issuehub.io/
- http://up-for-grabs.net/
- https://openhatch.org/
- https://contributor.ninja/
- https://opensourcefriday.com/
- https://github.com/MunGell/awesome-for-beginners
- https://github.com/freeCodeCamp/how-to-contribute-to-open-source
Meets the definition of an open source (i.e., LICENSE file)
Project actively accepts contributions
look at the project’s issues
look at the project’s pull requests.
Project is welcoming
Give context
Do your homework beforehand.
Keep requests short and direct.
Keep all communication public.
It’s okay to ask questions (but be patient!)
Respect community decisions.
Above all, keep it classy.
😭 You don’t get a response.
🚧 Someone requests changes to your contribution.
👎 Your contribution doesn’t get accepted.
🎉 Your contribution gets accepted.
- https://opensource.guide/how-to-contribute/ - http://www.wikihow.com/Contribute-to-Open-Source
- https://opensource.com/resources/what-open-source
- https://www.hackerearth.com/getstarted-opensource
- http://www.developer.com/open/how-to-start-contributing-to-open-source.html
- https://blog.smartbear.com/programming/14-ways-to-contribute-to-open-source-without-being-a-programming-genius-or-a-rock-star/
- https://blog.smartbear.com/programming/14-ways-to-contribute-to-open-source-without-being-a-programming-genius-or-a-rock-star/
By Narain Sagar
A small presentation for talk on "Open Source Contribution (Why, How, When, and Where to...)"