5

I mostly work alone on my own programming projects as a hobby, but often come up with projects that are far too big to work on myself, so a few months ago I started searching for open source projects on GitHub that matched my interests and skill level. After doodling around on a few projects but not doing very much, I ran across a project that I used to use as a kid that is now overhauling itself.

After reading the contributing guide and looking around, I started to fix bugs that I found and a few other reported issues. I did this for about a week and every pull request I made to include the fixes (with rather detailed descriptions) was closed. I was told to make an issue for all of them, so I made issues for all of them, fixed the bug, referenced the issue, and submitted the PRs - only to be told that they really didn't want me to work on things other than issues with a certain label, "help wanted", which I am not good at fixing.

How can I communicate that what they have offered for me to do is not something that I find enjoyable or am capable of doing? I really like this program and would like to help out but I feel like I am not appreciated and should leave. Is this a situation where I should cut my losses and find another project?

Edit: This is my first non-personal project on GitHub so I might be going about this the wrong way. Are there any unwritten or written guidelines to follow when trying to join a project?

  • 2
    Someone is most likely top dog on the project, and feels like you're encroaching on their turf. Happens all the time even in work settings, lets alone on public projects. Time to find a new project to contribute to. Think of anything you've contributed as a learning experience (even if it was rejected), and move on. – AndreiROM Dec 1 '17 at 21:21
  • The university who runs it (most of the people who work on it are students there) is a place I potentially want to go to college at and so far every interaction I have had with their students in any circumstance has been similar. Does not reflect well on their institution or make me desire to go there. – dalearn Dec 1 '17 at 21:33
  • Did they give an explanation for why they wanted you to work on different issues? – Em C Dec 1 '17 at 22:14
  • @EmC Nope, I just asked if they minded if I fixed some bugs (and specified exactly what I was going to do in an issue) since I was tired of rejected PRs and they told me to only work on issues that had a help wanted label – dalearn Dec 1 '17 at 22:19
  • Not saying it is the case but is it possible your programming style doesn't fit in with the others? I know when I've worked with others sometimes it is difficult to follow when one member of the team uses different conventions for naming, commenting (or lack of) and indentation. – Lio Elbammalf Dec 2 '17 at 8:47
7

You mention in a comment that they only wanted help on issues labeled "help wanted".

So... they didn't want you helping with things they didn't want help on. Don't take it personally - there's many reasons why they might not want a random person messing with other issues, particularly during an overhaul as you describe. For example, they could be in the middle of a major redesign which affects lots of files, and they don't want someone else interfering and making conflicting changes. They may have a "vision" and don't want to take time out from implementing it to bring a newcomer up to speed. Or they simply don't have the manpower to vet substantive changes from somebody that is not yet a trusted contributor.

How can I communicate that what they have offered for me to do is not something that I find enjoyable or am capable of doing? I really like this program and would like to help out but I feel like I am not appreciated and should leave. Is this a situation where I should cut my losses and find another project?

Unfortunately it's their project, their rules. They've told you what contributions they will accept - demanding to be allowed to join their project won't win them over. Remember to them, you are just a random internet stranger right now, so it is on you to convince them you can work well with the team.

So, you have a few choices:

  • Help out in the way that they prefer, which could lead to them trusting you more and eventually allowing you to work on more interesting features.

  • Fork the project, work on what you like. Maybe they will incorporate it back later, maybe (probably) not. But you will get experience on the project for your own personal benefit.

  • Find another project which is welcoming contributions of the type you prefer.

  • This answer is dead on. And, your choices are excellent and the first two aren't mutually exclusive. OP can fork and add his improvements there while also from time to time, as he gains the capability to work on the "help wanted" issues, he can contribute those directly to the original project. – davidbak Dec 2 '17 at 2:38
1

Open source GitHubs are often catty nightmares that don't actually care about adding other people's contributions to their code base. "Submit a patch" is basically used to tell people to eff off, and, if you do actually submit that patch, they find some wacky reason to reject it. This is an incredibly common experience with open source projects.

There's effectively an unlimited number of entities out there who would love free labor from you though, so find something else that is at least somewhat worth your time, and don't take the experience personally.

Any ideas on what to do as a teenager wanting to work alongside professionals for the experience? – dalearn 50 mins ago

Sadly this is what so-called professional adults are like in situations where your paycheck (and thus ability to eat) is on the line too, so I regret to inform you that you're already learning what it's like. That said, my advice to young people is to not get sucked into the ideals that the open source community espouses--much of it is just an attempt to get free labor, and don't do anything you don't get value out of. When it works, open source/free software is a mutual exchange so that people all over don't have to reinvent the wheel and give back their own proverbial wheel designs, when it doesn't, it's a scam to not have to hire or pay employees.

Absolutely volunteer to open source projects in order to get skills and build a portfolio, but don't act like an employee if they're not paying you, and don't waste your time with people who don't want your help even if you really like the project. I couldn't give you specific ideas of projects to look at without knowing what you're interested in, but I guarantee you there's a project that both wants your presence and that you will enjoy working on. Keep looking, there's millions of 'em!

  • Any ideas on what to do as a teenager wanting to work alongside professionals for the experience? – dalearn Dec 1 '17 at 21:36
  • updated answer, enjoy! – Anna Dec 1 '17 at 22:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.