DEV Community

Cover image for Introduction to Open Source
Samuel Kalu
Samuel Kalu

Posted on

Introduction to Open Source

What exactly is open source?

Open source refers to the collaborative approach of developing software where the source code is freely available, allowing anyone to view, modify, and distribute it.

This helps to foster a community driven ecosystem that allows anybody around the world to copy , modify and collaborate on building software.

Image description

It brings forth a lot of transparency in how software is built when everyone and their grandmother can actually see the source code and identify any flaws.

My Experience in Open Source

Exactly Three months ago , I took it upon myself to venture on a 30 day challenge in Open Source, my objective , to actively participate in open source development , whether it was code contributions , helpful comments or documentation fixes. I decided to document my journey by constantly tweeting my progress.

Just do it

At the start of the challenge, I absolutely had no idea about what I was going to contribute to as there was an unbelievable gap between my current knowledge about coding and what I was actually seeing on the repositories I planned to contribute to.

Image description

It might be quite counter-intuitive but the only way to get better is by actually surpassing your limits and actually making those contributions.

Start Small

Image description
So whatever repository you plan to contribute to, I assure you , you most likely aren't going to understand the codebase the first time you go there. So you start by raising an issue(it could be in form of a question about a bug you've experienced in the past with the library) , you could easily get more experienced contributors put you through and answer your question

You see!, Just asking a question in itself already counts as open source contribution

Most open source communities(as far as I know) are very welcoming and would not hesitate to help you out.

Still on starting small , most repositories have a "good first issue" policy, this is a tag found on their issues page and it consists of issues/bugs in the repository that are quite easier to resolve. It mostly is a dependency issues, import errors or even typos.

Speaking about typos , yes they also count as Open source contributions😂.

Create your own Open Source projects

There is no better way of contributing to open source projects than actually writing your own , and quick tip , it doesn't even have to be code , it could be a list of some useful tools for developers which would absolutely be appreciated.

Consistency

Proceeding with my journey , I subconsciously proceeded from making typo-fix contributions to actually making code contributions, and it became quite interesting.

I finished my 30 days challenge, and ended up contributing to over 10 repositories.I also got to learn useful things about software projects like how unit testing is done and the importance of most weird files.

Talk More

Image description
What's the point in doing open source if you don't talk about it .Talk about it everywhere, to your friends, to your dog, in church, also whenever you go to the club🙂.

On a more serious note , the secret to enjoying open source is continuous interaction. The codebase becomes seemingly clearer and uncomplicated the more you interact with other people on the project, you could interact with other contributors mostly through a discord / IRC channel which is available for most repositories

Conclusion

Of course I wouldn't end this writeup without giving you some resources to aid you in your journey

  • Learn Git Properly - This teaches you git , a version control system
  • Up For Grabs - Shows you repositories that need your attention , it's quite amazing because it's mostly beginner rated issues that are quite easy to solve
  • Eddie Hub- An amazing Open Source community that I'd absolutely recommend for you to join

Thanks for reading 👋

Top comments (0)