Personally i think github shouldn't have this feature for a number of unrelated reasons, but don't start excluding one-off noob contributors. Open source is open for a reason.
Personally i think github shouldn't have this feature for a number of unrelated reasons, but don't start excluding one-off noob contributors. Open source is open for a reason.
It's those last points that can be a problem, because it can cause their contribution to become net-negative.
Honestly I don't care what motivates people to contribute to open source. Some people are previlaged enough to contribute for fun in their free time. Some do it for improving their resume (Not everyone is previlaged to work in a FAANG or reputed tech company or went to an Ivy League). Some do it for improving the software they use. None of the reason is honestly better than the other. At the end of the day what matter is the code gets commited to the repo. Nobody mentions the reason why they made the contribution in commit message. Don't worry about maintainers getting overwhelmed by contributors. Its a good problem tp have. Most of them are smart enough to come up with a system if that problem actually arises. Honestly the main reason most open source projects die is not because of too many contributions. Its because of lack of contributors and a single maintainer having to do all the heavy lifting by themselves.
Well, I'm afraid whatever the system might be, it's definitely not going to favor the newcomers.
(edit: formatting)
One can argue that every kid with their "low quality patch" is net-negative as their teacher/project maintainer would be better spending time writing actual "good" code.
At what point one just starts sounding like elitist thinking that open source should just be left for exclusive prolific programmers?
To me it’s no different. Whether they’re thirteen or thirty, I’m not obligated to donate time to help them grow. In fact I’d say “student drivers” deserve less of my time — I’m not a free tutor unless I explicitly agreed to such.
That said, I deal with one-off contributors with respect and handhold out of kindness when necessary (assuming they’re not rude). But I don’t feel like explicitly setting the expectation that I will handhold, especially on trivial patches that’ll take me less time on my own.
- the inexperienced person who uses the software themselves, has an issue with it, and wants to fix it, or
- the inexperienced person who wants to boost their CV and picked a bug off a "starter task" list.
Assuming they are otherwise equal, I'd certainly prefer the first one, because chances are much higher that they'll stick around. Motivations matter.
Now if a patch just appears out of nowhere, obviously I don't apply a litmus test where I try to divine what the person's motivation is.
However, this logic has turned me off initiatives like GSoC. GSoC is great when there's a student who's already working on a project anyway, and it enables them to up their contributions during summer as an alternative to working a more boring job. However, my impression of GSoC with randoms who specifically scan GSoC for a project to work on has been disappointing.
The idea isn't that excluding noobs is good. But that noobs are coming in not because they want to contribute, but because they want to pad their resume. In doing so, they have diluted the pool in a way that they will not even be padding their resume.