DEV Community

Cover image for What are some blockers for you on contributing to open source projects?
Roshan Jossey
Roshan Jossey

Posted on

What are some blockers for you on contributing to open source projects?

I’m working on a project to help beginners get started on contributing open source projects.
It’s called First Contributions

GitHub logo firstcontributions / first-contributions

🚀✨ Help beginners to contribute to open source projects

Open Source Love License: MIT Open Source Helpers

Read this in other languages.

Shqip Armenian Uzbek language Azərbaycan dili বাংলা Bulgarian Português (Brasil) Català 中文 (Simplified) Czech Deutsch Dansk العربية Dezéiriya Española Française Gaeilge Galego Ελληνικά ქართული Magyar Bahasa Indonesia עִברִית हिंदी/ગુજરાતી/मराठी/മലയാളം/ಕನ್ನಡ/తెలుగు/छत्तीसगढ़ी/বাংলা/தமிழ் தமிழ் فارسی پښتو Italiano 日本語 සිංහල Kiswahili (Kenya) 한국어 Lietuvių kalba Limba Română Limba Română မြန်မာ Македонски Español de México Bahasa Melayu / بهاس ملايو‎ / Malay Dutch Norsk नेपाली Wikang Filipino English (Pirate) اردو Polski Português (Portugal) Русский язык عربى Svenska Slovenčina Slovenščina ภาษาไทย Türkçe 中文(Traditional) Українська Tiếng Việt Swahili language Zulu (South Africa) Afrikaans (South Africa) Igbo (Nigeria) Yoruba (Nigeria) Hausa (Nigeria) Latvia Suomeksi Беларуская мова Српски Қазақша Bosanski Bosanski Hrvatski پښتو Somalia Ecuador Turkmen language Ewe (TOGO) አማርኛ

First Contributions

This project aims to simplify and guide the way beginners make their first contribution. If you are looking to make your first contribution, follow the steps below.

If you're not comfortable with command line, here are tutorials using GUI tools.

fork this repository

If you don't have git on your machine, install it.

Fork this repository

Fork this repository by clicking on the fork button on the top of this page. This will create a copy of this repository in your account.

Clone the repository

clone this repository

Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button and then click the copy to clipboard icon.

Open a terminal and run the following git command:

git clone "url you just copied"
Enter fullscreen mode Exit fullscreen mode

where "url you just copied" (without the quotation marks) is the url…

Currently, we have a hands-on tutorial to help beginners make their first contribution by contributing to the same project. Secondly, we have a web app to suggest welcoming open source projects and communities to contribute to. Thirdly, we have a slack community where anybody can get help or discuss about open source.

We wanna evolve this project to addresses various problems faced by the community. We'd love to learn about your journey in open source community, the problems, blockers, pain points you had etc.

Latest comments (21)

Collapse
 
_hs_ profile image
HS • Edited

Time. Between learning stuff for job, managing time spent on job and then having some left for life (relationship, religion, my own projects which end up being deleted) I have no time to find the project that I might contribute to. Last time I tried to find a project which could potentialy have some code that needs bug fixing or additional feature I found only JS projects which required me to download them and check what are they actually about. Would love to contribute to Java/C# projects or even Groovy/Scala but latter are things I would like to learn not what I can actually contribute.

Collapse
 
dylanesque profile image
Michael Caveney

I generally feel confident enough in my abilities as a developer to make good contributions to open-source. What gives me pause is getting well-acquainted enough with a medium-to-large-sized project to make useful contributions. In a word, time.

Collapse
 
ninjakalle profile image
Carl Block

In one word: Time!

Collapse
 
david_j_eddy profile image
David J Eddy

For me, it's mainly domain knowledge, setup, response rate / attitude.

Collapse
 
revskill10 profile image
Truong Hoang Dung

Helpless maintainers and helpless community will block you in every way you want to contribute.

Collapse
 
nicostar26 profile image
Nicole Saunders 💻🌹

I’m pretty new to coding so what blocks me is not really knowing what I’m doing. I wouldn’t want to mess up someone’s code and then they’re upset. So for me it’s learning how to contribute to an open source project in the first place.

Collapse
 
sudo_bangbang profile image
Roshan Jossey

You wouldn't be messing up anything. You can't directly make changes to others' projects. You can suggest changes called pull requests. It's the maintainers discretion to accept that change or not.

Collapse
 
nicostar26 profile image
Nicole Saunders 💻🌹

Oh good I’ll have to start. I hear it’s a great way to learn.

Collapse
 
blunket profile image
Andrew Siegman

Like many others, the only reason I didn't contribute at first was the anxieties of being judged, or otherwise irrationally thinking I didn't have what it takes. But everyone else can talk of that. I'm beyond those days now; here's what stops me nowadays:

I personally am turned off very fast when the CONTRIBUTING.md is overly complicated. Take Atom's for example... I don't have time for that. At the same time I'm sure there are reasons to have such complex instructions. Maybe it's just me.

A lot of other projects can seem really unwelcoming to contributors, too. For example, I don't have ANY motivation to get involved with Git nor the Linux kernel, because of Torvalds' attitude towards his developers (just look at this)

Another reason, in some projects there appear to be little to no quality control on pull requests, i.e. the maintainers seem to accept literally anything, causing so many problems with the codebase/project that it feels overwhelming to bother contributing.

Collapse
 
guneyozsan profile image
Guney Ozsan

My biggest challenge is to find a small enough project that I can contribute to. Most projects I see around are huge projects that would take weeks for me to understand what's going around.

I'm a game developer and it's kind of hard to embed myself into non-game-engine projects. In this step it becomes very important to find a very clear setup document that would bypass the struggle of even being able to run the project as it is.

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

Well blockers for me are mainly the fact that if I want to make a good contribution to the project, I'll have to look around the codebase to get a feel for what they're doing. Even cloning and playing around with it, and that takes time cuz I'm not the type that has an intuitive feel for how software works.

I can say that my experience with OSS has been a great one overall in comparison to other stories I've read but yeah I'm trying to level up my skills in some technology to make better contributions to a project, cuz just fixing typos on the docs or the Readme won't cut it for me.

Collapse
 
isaacdlyman profile image
Isaac Lyman • Edited

My biggest blocker is the fact that when I get assigned to a new project at work, it always takes me a few weeks to really figure it out--where everything is, what the goals of the project are, what unwritten conventions might exist around a given piece of code, why things are the way they are. In the open source world, that's a lot of time and effort to put in for what usually ends up being a one-off contribution to someone else's project.