Stop Contributing to Open Source
Tags: opensource, programming, codenewbie
Published: 2024-01-30 13:46:48

*Imagine contributing to open-source can change your life. By creating pull requests to fix typos, grammatical errors, or rephrasing text, you can make a valuable contribution to a project you care about. Who knows, your contributions might even lead to a high-paying job! And the best part? You don't have to worry about the usual job search hassles like interviews, resumes, or data structures and algorithms. This opportunity sounds lucrative right, doesn't it?*
<br/>
<hr/>
## Introduction

Open-source projects can be an excellent resource for developers who want to become expert developer. These projects provide real-world, hands-on experience, allowing developers to work on real-world problems and write code. This is crucial for skill development. Working on open-source projects exposes developers to a diverse group, allowing them to learn from experienced programmers, receive feedback on their code, and observe best practices in action. 

In this article, I will cover the problems faced by open-source maintainers due to beginner developers creating unwanted and annoying pull requests. I will also discuss why beginners choose to contribute to open-source without understanding the purpose of their contribution. Why Open-Source Might Not be the Best Place to Start for Beginners.
![Image](https://github.com/J11tendra/NerdNarratives/blob/main/1.Stop-Contributing-to-Open-Source/Images/hacktoberfest.png?raw=true)
<br/><br/>
## Maintainer's Perspectives on Addressing Issues Arising from Beginner Developer Contributions:
Imagine a scenario where a first-time contributor submits a pull request to change the word *"gm"* to *"Good Morning"*. This action would trigger notifications, often in the form of emails, to all 500 watchers of the repository. Each notification would require the maintainers to take time out of their schedule to visit the pull request page, evaluate it for spam, close it, tag it as spam, lock the thread to prevent any further spam comments, and then report the spammer to GitHub in the hope of stopping their time-wasting rampage.

### Pull Request Overload:
Pull requests are essential to any open-source project, and they play a crucial role in ensuring that the project evolves and grows. However, sometimes contributors can create spam pull requests that can cause a lot of trouble for maintainers. These types of requests can be anything from a joke or meaningless change to a completely unrelated pull request. Spam pull requests cause disruptions, consume a lot of time, and may harm the project's overall health.

Maintainers invest a significant amount of time and effort in reviewing and addressing these spam requests, which takes away valuable time that could be spent on meaningful contributions and project improvements. The high volume of spam pull requests can make it difficult for maintainers to differentiate between genuine pull requests and those intended to disrupt or spam. This can also obscure legitimate contributions and important discussions.

###  Addressing Spam Pull Requests for a Positive and Trustworthy Open Source Environment:
In addition to causing disruptions, frequent spam pull requests may create a negative atmosphere within the community. Contributors may become frustrated or lose trust in the project's management, leading to a decline in collaboration. If the spam issue persists, it may erode the trust of both contributors and users in the project. A perception of a poorly managed project may also discourage potential contributors from getting involved.

Maintainers need to address spam pull requests and create a healthy community where genuine contributions are welcomed and appreciated. By taking measures to prevent spam pull requests, maintainers can ensure that their time is spent on tasks that contribute to the project's success and that the community remains engaged and motivated.
![pull-request-overload](https://github.com/J11tendra/NerdNarratives/blob/main/1.Stop-Contributing-to-Open-Source/Images/spam-pr.png?raw=true)
<br/><br/>
##  Understanding Why Beginners Choose to Contribute to Open Source Projects?

The open-source community is a vibrant community that thrives on the contributions of developers from all skill levels. It often welcomes new contributors and provides them with a supportive environment to participate in projects. Many open-source projects even offer initiatives like "beginner-friendly" or "good first issue" to make the process of contributing more accessible and less intimidating for newcomers.

###  Social Media Influencers and the Pitfalls of False Open Source Expectations:
While success stories of developers who made significant contributions to open-source projects early in their careers can inspire beginners, it's essential to understand that such contributions require a certain level of skill and a learning curve. These stories may not fully convey the challenges that the contributors had to overcome to achieve their success.

It's crucial for beginners to understand the skill requirements and complexity of the open-source projects they want to contribute to. Some projects may be more straightforward and beginner-friendly, while others may require a higher level of technical expertise. Beginners may underestimate the technical challenges and assume that they can still contribute even with limited skills. It's essential to recognize that some projects may require more experience and knowledge, and it's okay to start with simpler ones and gradually increase the level of complexity.

### The Purpose of Open Source Contributions Beyond the Rush for High-Paying Jobs:
Contributing to open-source projects can be a valuable addition to a developer's resume. It showcases their skills and demonstrates their ability to work collaboratively in a team. Beginners may believe that showcasing their contributions can make them more attractive to potential employers and increase their chances of landing a job with a high salary. While this is true to some extent, it's essential to remember that the primary motivation for contributing to open-source projects should be a genuine interest in the project and a desire to learn and collaborate with other developers.

### The Dilemma of Hacktoberfest:
It is quite common for developers to take part in events like Hacktoberfest, which is organized by companies such as DigitalOcean. The event offers contributors a chance to earn a free T-shirt by making a certain number of pull requests to open-source projects. Although this initiative aims to encourage more contributions, it has also faced criticism for potentially leading to low-quality or spam contributions. Some individuals may be more focused on the incentive rather than meaningful engagement with the project. Developers and maintainers need to be mindful of the motivations behind contributions and work towards fostering genuine collaboration and improvement within the open-source community.

It can be quite comical when developers submit pull requests that have been generated by AI bots. I've even encountered a situation where a typo had already been fixed and the pull request was closed, but 13 more pull requests were submitted to address the same issue. It was quite frustrating.
![spam-pull-request-hacktoberfest](https://github.com/J11tendra/NerdNarratives/blob/main/1.Stop-Contributing-to-Open-Source/Images/hacktoberfest-spam.png?raw=true)
<br/><br/>
## Conclusion
while contributing to open-source can indeed be a transformative experience, it is crucial for developers to approach it with genuine intentions and a clear understanding of the impact of their contributions. The allure of incentives, be it a free T-shirt or the prospect of a high-paying job, should not overshadow the core purpose of open-source collaboration, learning, and meaningful engagement.

Maintainers face significant challenges in managing the influx of pull requests, especially when they are driven by motives other than a sincere interest in project improvement. The high volume of spam and low-quality contributions not only disrupts project development but also jeopardizes the trust and collaboration within the community.

It is essential for both beginners and experienced developers to reflect on the true motivations behind their contributions, avoiding the pitfalls of false expectations or participating in initiatives solely for rewards. By fostering a culture of genuine collaboration, open-source can continue to thrive as a community-driven space where developers can learn, grow, and make meaningful contributions that extend beyond personal gain.

This article was not meant to discourage beginner developers, but rather to raise awareness among fellow beginners. **There is a difference between a beginner developer and a beginner open-source developer**.

If you have read this far and found my thoughts on open-source valid, please feel free to share them on X by mentioning [JitendraC](https://twitter.com/JiitendraC) and let me you loved it. If you would like to read more of my content, you can follow me here. Also, say hello on X where I share my tech journey.

**See You on X**