This article shares a 9-step guide to getting started contributing to open source projects.

By Sara A. Metwalli

Open source is probably one of the buzzwords in the tech world today, and as a developer or DBA, you’ve certainly heard it before. Even if you’re not deep in technology, chances are you’ve heard the subject of open source mentioned.

While many people are familiar with the term open source, people don’t always really understand what the term means.

So, what is open source?

Open source is a type of software in which the source code of the software is distributed under a specific copyright license, and others can use, study, change, and distribute the software for any purpose — as long as it doesn’t violate the copyright license.

In layman’s terms, this means that when a company or a team builds a service or product, they allow others to take the source code and change what’s in it.

There are many benefits to contributing to open source projects. It can help you improve your skills, meet like-minded people, and build a strong portfolio for future work. Another benefit is that if you regularly contribute to open source projects, you will be widely known in the community and therefore, in a sense, become a technical influencer.

Who can contribute to open source?

Anyone! Whether you’re new to coding or someone who’s been coding for a while, you can start contributing to open source projects.

In this article, I’ll list my 9-step guide — the steps I’ve taken to get started using open source. You may have already completed some of these steps, in which case skip to the one you are currently in.

01 Establish a basic understanding of programming

This step is for people who are curious about open source but don’t have any technical background. Don’t worry! There are no requirements to start building software if you are willing to invest the time.

The first thing you need to check before moving into open source is your basic programming knowledge, which is the foundation you need to start building projects, and make sure you have some understanding of the programming languages used in your planned contributions.

If you want to contribute to a Python project, knowing Python will help you understand what has already been done, and it will be easier to extend on top of that.

02 Proficient in Git

Without Git, you cannot spell open source. Git is the tool that makes open source a reality, and Git is one of the tricky subjects to master.

I’ve been working in technology for more than a decade, and I’ve yet to meet anyone who can fully process Git without returning documents. However, you don’t need to fully understand Git’s internal dynamics to start using open source.

This is great!

You just need a few commands like Clone, push, pull, commit, know when and how to use them, and you’re ready to go.

03 Learn how to find what you want

When it comes to technology, one of the most difficult aspects in general is the amount of information available on any subject. If you try to Google “Data Science libraries,” you will be inundated with hundreds of thousands of articles on this particular topic.

An invaluable skill for a developer or DBA is knowing how to effectively search for the answers they seek, whether through a Google search or looking in a document or textbook.

If you want to get the answers you’re looking for, you need to learn to ask the right questions, a skill that will help you do your job faster and more efficiently.

0 4 Read your favorite project documentation

Most of the well-known and commonly used packages used in data science are open source, such as Matplotlib, Numpy, and Scipy.

Reading the documentation of these projects will give you an idea of how these big projects come into being, and it will show you the power of open source. It will also let you know what more needs to be done and the opportunities to contribute to those projects.

In addition, reading their documentation will familiarize you with the various types of licenses and their differences, and this knowledge will help you understand the rules and usage of different licenses so you know what to use in your future projects.

0 5 Start with non-code contributions

Making my first contribution was probably the most daunting, and the way that helped me overcome this was to make some non-coding contributions before I started making coding contributions.

There are many opportunities to contribute to open source, not just based on code. If you’re new to coding and unsure of your coding skills, or have no coding skills at all and you want to contribute to open source, I’m here to tell you that you absolutely can.

Some non-code contributions include:

  1. Improve documentation or translate it into another language

  2. Work on a web site or graphical interface

  3. Marketing the project or spreading the message of the project

  4. Host meetings and guide project repository performance

0 6 Look for a beginner friendly program

Many large, well-known projects are beginner-friendly and can be accepted without prior open source contributions. Projects like DuckDuckGo or Habitica welcome new contributors.

You can also contact the maintainers of your favorite open source packages or services and ask if they welcome contributions from open source beginners. This information can also be found on their website and documentation.

Look for other sources for projects:

  1. OpenHatch: a site that connects developers to open source projects that need new contributors.

  2. Up For Grabs: a website with a list of open source projects dedicated to new and first-time contributors.

0 7 Community communication

Open source is a community of developers from around the world who decide to work together and build awesome things. When you contribute to an open source project, it’s basically a sign that you want to join the community.

Talking to other open source developers makes you feel like part of a community that will support you when you need it and provide you with many opportunities.

You can connect with the community in different ways, using slack channels for specific projects you’re working on, such as Django, Numpy’s Slack group, or the General Python Community Slack.

0 8 Submit your first code contribution

It was the most courageous step, but also the most satisfying. Once you’re comfortable with Git and the programming language you want to use, you can use non-coding contributions to contribute to your project, and you’re ready to make your first code contribution.

Start with a simple feature or error, perhaps something not urgent. Take your time, go over your code, and test it well. Then, let go and create a pull request.

You only need one successful contribution to give you the confidence to continue to contribute.

09 Building a portfolio

As you contribute to projects, don’t forget to track your contribution to the portfolio. The more you contribute, the more solid your portfolio will be.

Sometimes, however, it’s not the quantity but the quality of the contribution that matters. This is why I always recommend that you spend your time writing well-styled code. When it comes to software contributions, quality trumps quantity at all times.

Here are some websites you can use to build your portfolio:

1. GoDaddy

2. Jimdo

3. WordPress

4. SITE123

5. Strikingly

conclusion

I know being involved in open source can be daunting at first, but like anything else in life, the best way to overcome fear is to get directly involved.

No matter what programming language you use/know, no matter your level of knowledge or area of expertise, there are open source projects for you.

So be confident in your abilities, look for things that excite you, and start contributing. Once you do that, the process becomes easier and the fear goes away.

There is no better way to improve your personal skills than to build something yourself. Open source is one of the best things you can do to become better developers and more open-minded engineers.

The original link: towardsdatascience.com/getting-sta…

Welcome to follow us