1 of 20

2 of 20

Contributing To �Open-Source

Hosted By George Chakama

3 of 20

Open Source

What we are going to cover.

  • What is Open Source?
  • Tools for open source projects contribution?
  • Ways to contribute.
  • Checklist before contributing.
  • What you can benefit from OS – Contribution

4 of 20

Hi , I'm George Chakama.

I'm super passionate about exploring and building open-source web apps and tools. Currently, I'm diving into the React ecosystem with backend in Node.js . 

Since beginning my journey as a freelance developer about 5 years ago, I've done remote work for agencies, consulted for startups, and collaborated with talented people to create digital products for both business and consumer use.

5 of 20

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 definitely rewarding.

6 of 20

What is Open Source?

Open source at its core is a methodology for software development. The main idea is that by developing software publicly, you have more eyes on the code and more traction, adoption and immediate feedback since there is no risk to anyone trying the software.

7 of 20

Contributing to open source happens at all levels, across projects and design, documentation, operations and code. You don’t need to overthink what exactly your first contribution will be, or how it will look.

8 of 20

Tools for open source projects contribution?

GitHub is the most popular platform for open source collaboration, so you'll probably use it when exploring the world of OSS. First, you need to create a GitHub account and read the guide that helps you get started.

On GitHub, you can contribute to projects by submitting issues and contributing code. Submitting issues means sending messages about errors in applications and suggesting ways to fix them. Contributing code involves sending pull requests with your corrections and improvements.

9 of 20

Besides being comfortable with version control tools, essentials skills include being able to clone a repository and send pull requests. Pull requests inform code maintainers about changes made to the code; they can then review these changes, start a discussion about them, or assign them to a further commit.

10 of 20

WAYS TO CONTRIBUTE.

  1. Opening an issue

You should usually open an issue in the following situations:

  • Report an error you can’t solve yourself.
  • Discuss a high-level topic or idea (for example, community, vision or policies).
  • Propose a new feature or other project idea.

11 of 20

Tips for communicating on issues:

  • If you see an open issue that you want to tackle, comment on the issue to let people know you’re on it. That way, people are less likely to duplicate your work.

  • If an issue was opened a while ago, it’s possible that it’s being addressed somewhere else, or has already been resolved, so comment to ask for confirmation before starting work.

  • If you opened an issue, but figured out the answer later on your own, comment on the issue to let people know, then close the issue. Even documenting that outcome is a contribution to the project.

12 of 20

WAYS TO CONTRIBUTE.

2. Opening a Pull Request

You should usually open a pull request in the following situations:

  • Submit trivial fixes (for example, a typo, a broken link or an obvious error)

  • Start work on a contribution that was already asked for, or that you’ve already discussed, in an issue

  • A pull request doesn’t have to represent finished work. It’s usually better to open a pull request early on, so others can watch or give feedback on your progress. Just mark it as a “WIP” (Work in Progress) in the subject line. You can always add more commits later.

13 of 20

Checklist before contributing.

When you’ve found a project you’d like to contribute to, do a quick scan to make sure that the project is suitable for accepting contributions.

Otherwise, your hard work may never get a response.

14 of 20

Checklist.

Look at the commit activity on the master branch. On GitHub, you can see this information on a repository’s homepage.

  • When was the latest 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.)

NUMBER 1

Project actively accepts contributions

15 of 20

Checklist.

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

NUMBER 2

Project Issues

16 of 20

Checklist.

  • How many pull requests are there ?
  • Do maintainers respond quickly to pull requests when they are opened?
  • Is there active discussion on the 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.)

NUMBER 3

Project Pull Requests.

17 of 20

Whether you’re a one-time contributor or trying to join a community, working with others is one of the most important skills you’ll develop in open source.

18 of 20

What you can benefit from �OS – Contribution.

The open source community provides a great opportunity for aspiring programmers to distinguish themselves, and by contributing to various projects, developers can improve their skills and get inspiration and support from like-minded people.

19 of 20

Thank You

I really hope I have inspired someone to go and start contributing to Open Source.

20 of 20

Contact Me

Beyond these coding chops, I’m also passionate about writing and sharing what I’ve learned both with my teammates and the broader web community.

I really value the ability to not only perform web development work but also help others improve their craft, because I’ve gained so much from others sharing their skills and knowledge.

I’ve managed to start a blog that will help me assist developers with my expertise and give back to the community.

www.chakama.co.zw

@gtchakama

+263 777 019 613