The Advantages and Disadvantages of Working on Open Source Projects
Tags: opensource, javascript, react, webdev
Published: 2022-04-29 13:30:12

Working on open source projects can be both an advantage and disadvantage. There are many reasons for doing so, but it's important to know the risks involved before getting started with your own contribution!

### 💻 Shortly My Tech Career

I would like to talk about the career change that explains how I found my first job by learning by myself on the way to become a frontend developer after I studied Civil Engineering.

It was not a short process to  get to where I am now. It took about one years of learning and self-teaching before I actually got my first job in tech. But it was worth it, and I'm grateful for the career change that led me here.

I started out by teaching myself HTML and CSS. Once I had a basic understanding of those technologies, I moved on to learning JavaScript. This was by far the most challenging part of my journey. But after putting in the time and effort, I finally began to understand how JS works. And once I understood that, everything else fell into place. The open sources  community was also a great help along the way.

Now, as a frontend developer, I get to work with amazing people who are passionate about what they do. And we get to build cool developer tool that called Refine.

### What is 📖 Open Source Projects and 📘 Closed Source ( proprietary ) Projects? 

Before I am dive into advantage and disadvantage of working on Open Source project I want to explain what actually  Open Source project and Closed Source project.

Open Source projects are those where the source code is freely available to anyone to use, study, modify, and distribute. 

Closed Source projects are those where the source code is not publicly available and is instead kept secret by the company or individual who owns it. 

Now that we have a clear  understanding of what Open Source and Closed Source projects are, let's take a look at the advantages and disadvantages of working on each type of project.

## 🌕 Advantage of Working on an Open Source Projects

There are many advantages to working on an Open Source projects. 

### Learn from Other Developers

One of the biggest advantages is that you can learn from other developers who are working on the same project. This is a great way to stay up-to-date on the latest trends and technologies. 

When you're working on a Closed Source projects, you're usually only learning from the people who are working on that project with you. But when you're working on an Open Source projects, you can learn from anyone in the world who is also working on that project. 

For example, if you're working on a [Refine](https://refine.dev/), you can learn from the developers who created Refine and are actively maintaining it. You can also learn from other developers who are using Refine to build their own apps. This is a great way to keep your skills sharp and to make sure that you're always learning new things.

### Code Quality

Another advantage of working on an Open Source project is that the code quality is usually better. This is because there are more eyes on the code and more people who are willing to contribute to fix issues. 

When you're working on a Closed Source projects, it's easy for the code quality to deteriorate over time because there are fewer people looking at the code and fewer people who are willing to contribute. But with an Open Source projects, the code quality is usually much better because there are so many people involved. 

[Refine](https://refine.dev/) is a great example of an Open Source project with high-quality code.

### Use Open Source Project in Your Own Project

If you're working on your own project, you can use Open Source project to help you.

For example, if you're building an app, you can use Refine to help you with the front-end development. This is a great way to get started quickly and to save time.

### Communication 

When you're working on an Open Source projects, you need to be able to communicate with other developers. 

This is a great way to improve your communication skills. You need to be able to explain your ideas clearly and concisely. You also need to be able to listen to others and understand their point of view . Working on an Open Source project is a great way to improve your communication skills. 

The Refine has [discord  channel](https://discord.com/invite/refine) where we discuss the development of Refine and to help each other.

## 🌚 Disadvantage of Working on an Open Source Projects

While there are many advantages to working on Open Source projects, there are also some disadvantages.

### Hard to Follow All Community Demands and Issues 

One of the biggest disadvantages is that you have to follow all community demand and issues. This can be a lot of work and it can be difficult to keep up with. 

For example, if there is an issue with Refine, you need to be able to fix that issue quickly. If you're working on your own project, you can choose to ignore some issues or take your time to fix them. But when you're working on an Open Source project, you need to be able to respond quickly to any issues that arise. 

This can be difficult to keep up with.

### Increasing the Impact of the Development on the Project

You need to be aware of the impact of your development on the project. This means your knowledge on the project  should be vast and you should avoid any development which might break the project. 

An example of this is if you're working on a bug fix, you need to make sure that your fix doesn't introduce any new bugs. If you're working on a new feature, you need to make sure that it doesn't break any existing features. 

This can be difficult to do and it requires a lot of knowledge about the project. But if you're able to increase the impact of your development on the project, you'll be able to make a big difference. 

### Make It Simple and Clean

The most important points for Open Source project is have to be maintainable and sustainable. As a contributor you have to write your code simple, clean and meaningful.   It will help the project to be sustainable and other contributors can easily understand your code.  When the code is simple and clean, it's easier to review and to merge. Keeping your code meaningful, clean and simple isn't always easy.

##🌗 Conclusion

In conclusion, working on an Open Source project has both advantages and disadvantages. 

You should weigh these carefully before deciding whether or not to work on one. 

If you do decide to work on an Open Source project, be prepared for challenges and demands from the community. But also be prepared to learn and grow as a developer.

Refine is an amazing tool. We have reach 50 contributor and we are currently working on our features that we had in roadmap. If you're interested in learning more about Refine and be contributor, please check out our [website](https://refine.dev/) or [GitHub repository](https://github.com/pankod/refine). Thanks for reading!

I hope this article was helpful in explaining the advantages and disadvantages of working on an Open Source project. If you have any questions, please feel free to leave a comment below. Thanks for reading!