2. AGENDA
⢠Introduction
⢠Why Open source?
⢠How to contribute?
⢠Checklist before
contributing
⢠Summary
Presentation title 2
3. INTRODUCTION
Contributing to open source can be a rewarding
way to learn, teach, and build experience in just
about any skill you can imagine and create
valuable and accessible open source software,
individual contributors can get plenty of personal
benefit from contributing to them.
Presentation title 3
5. Why Open Source?
Presentation title 5
⢠Improve Software you rely on (Ex: Kubernetes, Prometheus, Grafana, Istio, fluentd etc)
⢠Improve existing new skills (Coding, UI Design, Graphic design, Writing, Organizing and testing)
⢠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ās empowering to be able to make changes, even small ones
⢠Some well-known open source projects include Django, Postgres, MongoDB, Vue, Go, Ruby, TypeScript, Git, Kubernetes,
Grafana
7. Presentation title 7
⢠Create your "Github" account
⢠Read "readme.md" and "Contributor Code of Conduct" (Example: Check this )
⢠Start with "typo fix" and slowly involve in documentation, testing, and coding
⢠28% of casual contributions to open source are documentation, such as a typo fix, reformatting, or writing a translation.
⢠If youāre looking for existing issues you can fix, every open source project has a /contribute page that highlights beginner-
friendly issues you can start out with. Contribute to facebook/react
⢠Every project is different. Vocabulary, norms, and communication styles are completely different and varies from project to
project.
⢠Popular ways to check Open source projects
⢠GitHub Explore
⢠Open Source Friday
⢠First Timers Only
⢠CodeTriage
⢠24 Pull Requests
⢠Up For Grabs
⢠Contributor-ninja
⢠First Contributions
⢠SourceSort
⢠Open source handbook
⢠Open source programs
⢠Opensource.guide
⢠Pull request roulette
⢠Your first PR
⢠Awesome for opensourceb
eginners
⢠Bugzilla
⢠Code triage
8. Presentation title 8
Anatomy of open source project
⢠A typical open source project has the following types of roles
⢠Author: The person/s or organization that created the project
⢠Owner: The person/s who has administrative ownership over the organization or repository (not always the same as the original author)
⢠Maintainers: Contributors who are responsible for driving the vision and managing the organizational aspects of the project (They may
also be authors or owners of the project.)
⢠Contributors: Everyone who has contributed something back to the project
⢠Community Members: People who use the project. They might be active in conversations or express their opinion on the projectās
direction
⢠The below files are usually listed in a open source project
⢠LICENSE: By definition, every open source project must have an open source license. If the project does not have a license, it is not open
source.
⢠README: The README is the instruction manual that welcomes new community members to the project. It explains why the project is
useful and how to get started.
⢠CONTRIBUTING: Whereas READMEs help people use the project, contributing docs help people contribute to the project. It explains what
types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals
that this is a welcoming project to contribute to.
⢠CODE_OF_CONDUCT: The code of conduct sets ground rules for participantsā behavior associated and helps to facilitate a friendly,
welcoming environment. While not every project has a CODE_OF_CONDUCT file, its presence signals that this is a welcoming project to
contribute to.
⢠Other documentation: There might be additional documentation, such as tutorials, walkthroughs, or governance policies, especially on
bigger projects.
9. Presentation title 9
Anatomy of open source project (Cont..)
⢠A typical open source project has the following tools to organize the project
⢠Issue tracker: Where people discuss issues related to the project.
⢠Pull requests: Where people discuss and review changes that are in progress.
⢠Discussion forums or mailing lists: Some projects may use these channels for conversational topics (for
example, āHow do Iā¦ā or āWhat do you think aboutā¦ā instead of bug reports or feature requests). Others use the
issue tracker for all conversations.
⢠Synchronous chat channel: Some projects use chat channels (such as Slack or IRC) for casual conversation,
collaboration, and quick exchanges.
10. Presentation title 10
Checklist before contributing
⢠Definition of Open Source Software
⢠Does it have a license? Usually, there is a file called LICENSE in the root of the repository.
⢠Does the project actively accepts the contributions?
⢠Look at the commit activity on the main branch. On GitHub, you can see this information on a repositoryās homepage.
⢠When was the last commit?
⢠How many contributors does the project have?
⢠How often do people commit? (On GitHub, you can find this by clicking "Commits" in the top bar.)
⢠Look at the project issues: Check the below project issues
⢠How many open issues are there?
⢠Do maintainers respond quickly to issues when they are opened?
⢠Is there active discussion on the issues?
⢠Are the issues recent?
⢠Are issues getting closed? (On GitHub, click the "closed" tab on the Issues page to see closed issues.)
⢠Check the project pull requests
⢠How many open pull requests are there?
⢠Do maintainers respond quickly to pull requests when they are opened?
⢠Is there any active discussion on Pull requests?
⢠Are the pull requests recent?
⢠How recently were any pull requests merged? (On GitHub, click the "closed" tab on the Pull Requests page to see closed PRs.)
11. Presentation title 11
Popular Twitter Accounts in Open Source world
⢠Open Source Way (@opensourceway)
⢠Opensourceinitiative (@OpenSourceOrg)
⢠Matt Klein (@mattklein123)
⢠Tim Kockin (@thockin)
⢠Kelsey Hightower (@kelseyhightower)
⢠Nigel Poulton (@nigelpoulton)
⢠CNCF (@CloudNativeFdn)
⢠Saiyam Pathak (@SaiyamPathak)
⢠Awesome Go (@GolangRepos)
⢠The New Stack (@thenewstack)
⢠K8scontributors (@K8sContributors)
⢠Containerd (@containerd)
12. SUMMARY
Open source contribution can be an amazing
learning experience. It allows you to give back to
and be a part of communities that build valuable
open source software. It enables you to make
software that you use better. Although it can be
tough to start, once you get the hang of it, it is
immensely rewarding. Great source for students
to connect with best minds in the world and land
in great intern opportunities.
Presentation title 12