DEV Community

Cover image for A guide for Open Source Development for Beginners
Pranav for CODEDAMN

Posted on • Originally published at codedamn.com

A guide for Open Source Development for Beginners

Open Source Development as a Beginner

As a beginner, you must first have a solid understanding of the language you are learning. You must have a clear-cut vision of what you want to do after learning the language. If not, then what's the point in learning the language. Beginners mostly upload their small projects into GitHub and share the link all around the internet for people to react and review the code that you have written, that's not wrong, but that's not what open source development is.

What actually Open Source Development means?

Open source development means contributing to an already existing open source project that necessarily needs to be a big project. It might be yours, but you can't quite achieve this feat as a beginner because your project needs to have many issues and contributors to call it an open-source project.

So basically, Open source development means contributing to a medium to large scale project. When it comes to code-related development, as a beginner, you can't write or path the existing code without having a good understanding of their codebase. So when you start writing code for an open-source project, it's vital to have a solid understanding of their codebase beforehand.

Contributing to big open source projects as a beginner

If you are a beginner and are currently getting used to build your projects and learning, you should not even think about contributing to big open source projects. If you try to contribute to a big project first, you have to get a good grasp on their codebase, and as a beginner, you won't be able to understand all the libraries or the code written by others. This limits your growth as a developer as it's eats your time to learn new things, so it is not advised to jump right into a big open source project for contributing.

3 Steps for getting into Open Source

1) Don't jump right into open source development
As a beginner, you must be selfish and build your projects. That is how you understand the essence of building projects and maintaining them on your own. Once you start building your projects, you'll come across many libraries or tools that you can integrate into your code for ease of use. ‌
‌In this step, you can upload your code to GitHub, but that does not mean that you have started your open source journey. It's just for maintaining your code.

2) Learn about different Technologies
If you plan to contribute to big open source projects, you should understand all the most popular technologies used by big open source projects. First, you need to understand the package manager & different libraries that are used in most of the projects.

For example, you are creating a dashboard app. Go ahead and clone some dashboard apps available on GitHub and now go through them and understand how they perceived and solved the problems after you get a solid understanding of how to create the dashboard app. Now it's time for you to build one on your own because you have to be selfish in the first few months of your learning to learn better.

3) Search for some open source projects
When searching, the project need not be a project which has 20K stars or 100 contributors. You can start with relatively small projects. You can find some good open-source projects from the libraries that you use for building your project. As now you have a good understanding of how the library works, you can read the source code of that library and add your own feature or add some cool customizability to the project.

The library need not be a huge one. As said earlier, the less popular the library, the easier it can be for you to read the project's code. So choose wisely.

Few developers start finding typos and make a pull request for typos and then proudly say that they have contributed to a vast open source project, but that does not do any good to you as a developer. It does not matter whether you have pushed into Babel, react, or any other open-source development. What matters is the code that you have pushed to the repository.

Benefits of Open Source

There are a lot of benefits for working as an Open-Source Developer

You'll, by default, understand how security / API keys are stored and how not to show them on your code.
You'll get to know a lot of best practices for uploading your code. If you are not following any, the code maintainers will tell you to make the necessary changes. It's a win-win for both yourself and the code maintainers.
You are working on real-world applications, and you'll get to know real issues, pull requests & reviews for a project.
Open source is boundary less when you are working with mid-sized to large-sized projects.
All the small projects you make, like tic-tac-toe or login forms, are not considered open-source projects. They are just learning pathways for you. If you can maintain a good open-source project, you can start a utility project that will undoubtedly interest some developers worldwide.

Discussion (0)