Getting Started with Open Source Contribution

  • What

  • Why

  • How

  • When

  • Where

Things to be discussed..

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?

What it means to contribute?

  • Do you like planning events?
  • 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?

  • ...?

Open Source Contribution

Why contribute to open source?

  • 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!)

How to contribute..?

  • Start listening
  • Work with Tickets

  • Working with Code

  • Work with Documentation

  • Work with Community

Orienting yourself to a new project

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.

Open Source repository

Files are usually listed in the top level of a repository.

  • Issue tracker
  • Pull requests
  • Discussion forums or mailing lists (e.g, StackOverflow)
  • Synchronous chat channel (e.g, Slack)

Project tools to organize discussions.

Finding a project to contribute to..

- 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

Resources:

Checklist before you contribute.

  • 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

Submit your contribution

*before submitting a PR

  • 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.

What happens after you submit a PR?

  • 😭 You don’t get a response.

  • 🚧 Someone requests changes to your contribution.

  • 👎 Your contribution doesn’t get accepted.

  • 🎉 Your contribution gets accepted.

Some of my contributions

Thank you!

- 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/

References

Made with Slides.com