A Beginner's Guide to Open Source

Subscribe to my newsletter and never miss my upcoming articles

As a techie, you should have come across the term Open Source, maybe in some random tweet, blog post, or even when learning a programming language or tool and part of the definition says: this tool or language is open source. It's actually everywhere.

In this article, I will be writing about:

  • What Open Source is?

  • Benefits of contributing to Open Source

  • How to start contributing

Open Source refers to software, project, or community where people can modify and share ideas because it's designed to be publicly accessible. A relatable example will be your favorite recipe, you are able to cook that dish you never invented because that recipe was made open by the owner. Most times, you can also cook it your style just to suit your taste without getting choked in the neck (just joking).

Open Source Software (OSS) is software that the source code is available to others who would like to view that code, copy it, learn from it, alter it, or share it.

Some examples of Open Source Softwares and Languages:

  • Linux Operating system

  • Android by Google

  • Firefox browser

  • VLC Media player

  • Python, PHP, MySQL

In contrast to OSS, we have proprietary or closed source software where it is only accessible to creators of the software and for others to use it, there would be legal permission. Eg Adobe Photoshop, Microsoft office.

Open Source is not just about software or code, absolutely anyone in the tech space can contribute to open source (every role). With open-source, there is transparency, reliability, flexibility, and allows for open collaboration.

Contributing to Open Source projects or software means making that project better for free. You should be asking yourself, why should I even care or stress myself for free. For starters, you can take a look at how Edidiong Asikpo narrates how Open source was a catalyst for growth for her, here.

Amongst the many benefits, here are some:

  • Open Source helps you improve on your existing skills, especially if you're a beginner as it permits you to learn while doing.

  • You get to collaborate and work with amazing tech personalities all over the world despite your location.

  • You are making the world a better place by making open your ideas to improve the software, project, or community.

  • You get recognized for contributing or being part of the something unique or big (the feel of pride)

  • It gives you the opportunity to be part of a vibrant community of great minds you can draw inspiration from and meet like-minded people.

  • You can get paid to contribute to open source projects (Interesting!). Internships like Google Summer of Code, Outreachy , Google Season of Docs , bounty program by Open Collective, etc.

I'm sure my last point was interesting to you, So How do you start contributing to OSS? Here's how:

Let's talk about Github

Github is the house of collaboration for OSS projects so it's a great place to start contributing to open source, but this shouldn't scare you as if you don't know how to use it, it is learnable (documentation and guides) noting that learning is a gradual process.

Github houses many open source projects in form of public repositories. So you see a project, you either submit an issue suggesting ways to fix the errors or problems you have noticed with the project (ideas) or create a pull request with your corrections and improvements.

It's going to be quite frustrating if I advise you use the explore area on Github to search for projects cause you would see a lot in your face, although you can streamline your search by languages.

To be more specific, here are some ways you can start:

  • First-timers only: A great resource site to find beginner-friendly open source projects, to begin with.

Designers I got you covered! You can check out Open Source Design for beginner-friendly design projects too

  • You can create your own open-source project bringing your wonderful ideas to life and allowing others to collaborate and contribute. You can check here for a guide on how to start an open-source project.

  • Joining a community: You can be part of a community as a way of promoting the open-source way. With a google search on local open-source communities and be actively part of them.

Finally, here are some useful tips when contributing to an open-source project:

  • Do some research on the project, community, or organization before joining, and when you do, ask questions where not clear.

  • When you join the community, try to be active by introducing yourself and stating areas where you can help the project

  • Don't think you can't offer anything to the project, kill that thought. You've got wonderful ideas to share.

  • Scout for issues on the repository(if any) to see where you can help, issues having labels like good first issue, help-wanted, first-timers only is a great place to start.

  • Before starting to contribute, be sure to go through the contributing guidelines so you won't have conflicts contributing.

Just using an open-source tool is contributing, attending an open-source event is contributing, as well as volunteering or donating to one.

I'd end with Open-Source Africa Festival Slogan: THE FUTURE IS OPEN, so join the train.

Thanks for reading!

If you still have doubts or need help starting, send a message here, I will be glad to talk to you about open source and help you make your first contribution.

Bolaji Ayodeji's photo

This is such an amazing guide, thanks for sharing.

Tari Akinnukawe's photo

Thanks for sharing, Ruth! OSS doesn't seem so scary after all, this was really insightful.

Ruth Ikegah's photo

I'm glad it was useful

Amarachi Emmanuela Azubuike's photo

Thanks for sharing such an insightful article. Will definitely return with a testimony.

Ruth Ikegah's photo

I am glad it was helpful!

OSHIFEKO OPEOLUWA TAIWO's photo

Your post is always a top-notch! Well done...

Ruth Ikegah's photo

Thanks OSHIFEKO OPEOLUWA TAIWO for your kind words!

Tapas Adhikary's photo

Great content Ruth! Loved it.

Ruth Ikegah's photo

Thanks, Tapas, glad to it was helpful!

Edidiong Asikpo's photo

The future is open indeed.

This is an amazing article Ruth Ikegah. Thanks for sharing.

Gabriella Amaefule's photo

Thanks Ruth. Which community would you suggest for a first timer to join?

Ruth Ikegah's photo

The communities I am involved in are really beginner from, Gnome, Layer5 and Chaoss. You can send a DM on Twitter then we chat about it

David Dante Frank's photo

I loved this. Its quite long, I think I'll have to come back and read this again. So many useful points. Thanks

Ruth Ikegah's photo

Aww, I'm sorry it's long. I'm glad you found it useful

Victoria Lo's photo

This is great! Thanks Ruth :)

Obi Zim's photo

Open source is great. It's about time I start

Jetaime Seemi's photo

Thank you for this great article. and also, Thanks for adding a link for designers, lol thats what i was hoping to find more info about. youre awesome!!!

shivambhat's photo

Way to Go Ruth Ikegah !

That was really insightful for a beginner like me, Can't wait to get started.