this post was submitted on 27 Sep 2023
50 points (68.7% liked)
Programming
17406 readers
111 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I think it is common knowledge by now that the kernel community is a rather toxic space where abuse and elitism are the norm rather than the exception. If you are unwilling to put up with that, it's probably the wrong community for you to join.
I am not really seeing any toxic behaviour here.
OP's patch was largely based on code in
ptrace32.c
, but that code actually looks quite bad. So maintainer applied a better fix. Maybeptrace32.c
should be updated to use code that's more similar toptrace-fpu.c
now?That in itself is the problem. If the kernel community wants to attract new contributors, mentorship is important and appreciation of effort is important, despite the result of that effort not being up to par yet.
The general consensus in kernel space is to "only care about the code" (to quote Linus Torvalds himself) and not about about people, while in reality when two human beings interact with one another, it's never "just about the code".
The kernel is already suffering from this behavior. The majority of people contributing do so for money. Hobbyists who contribute out of passion in their free time have already become a side show, being pushed out more and more by the ever-present elitism of people who can spend 50h a week becoming experts. On the other hand, the number of people willing to tolerate a hostile work environment just for money is decreasing rapidly.
The kernel code is already deteriorating, code is being merged without anyone ever reviewing it as nobody has the time, energy or patience. Unless the kernel community starts changing from the inside out, we will see real problems popping up more and more in the next ten years.
Well it depends on the quality of the PR. If there are minor things wrong, you can point them out the the contributor and help them get their PR to a level you want..
If the PR is "Ok, thanks for pointing out where the issue is, but I'm going to have to rewrite your solution entirely" - what is the maintainer supposed to do? Take their PR, overwrite the solution, and git squash them together so the original contributor gets "credit" in form of being in the git history?
I doubt the maintainer would even consider that the contributor would feel "belittled and angry" if their fix wasn't accepted at face value, or if they didn't get enough credit would write an angry blog post about it. This whole article could have just been a report of "How I found a bug in the Kernel and helped fix it" - instead of something this negative
... illustrating my point.
I disagree. If noone spoke out about Linus Torvalds calling people "dumb fucks", he would still be doing it. So criticism about how the community functions and which behavior is tolerated or even rewarded is essential if we ever want things to change. Did the author do the best job with this article? Probably not. That does not invalidate his experience though.
It's kind of a leap from "not accepting a PR because the maintainer thought the code wasn't good enough to accept it at face value - and the maintainer apparently didn't care enough to give the contributor an extended code-review on how to fix it" vs "calling people “dumb fucks”"
If a maintainer get a PR that's bad and it would take an hour to write an explanation on how to fix it - and then hoping the end-result from the contributor is as expected, otherwise he'll have to write another explanation on how to fix it and go back and forth for a while - vs - just spending that hour rewriting the fix himself - I'm pretty sure most maintainers just do it themselves.
When you actually work for a company and you're working with other (junior) devs, you should go for the option of educating them on what's wrong with their PR... But in this case - I don't even know if the maintainer is doing this as a paid job or just in their spare time - but either way why would the maintainer spend time getting the PR right if it was apparently far off.
I didn't say his experience was invalid, but his experience probably isn't unusual. He could've taken this experience as "I contributed the QA and diagnosing part of this bugfix, but my code wasn't up to par. Next time before submitting some random fix for a bug that I found (that wasn't even "Up for grabs") (or discussed how it should be fixed at all) - I should contact the maintainer first" - Instead it seems he found a bug, didn't really report or communicate about it, because he wanted to race for a fix himself because he wanted to get recognition for actually creating the code the fixed the bug
I just want you to know the votes on your post pretty accurately reflect the ratio of developers I could train or hire (up) as lead developer to those I could not (down).
If anything, the vote count here skews better than I would have expected.
Hang in there and keep mentoring. It's thankless, but you ultimately get paid more.
Even in the blog post's very one-sided account of the issue, there isn't even a hint of elitism or toxic behavior. There was a bug report, the reporter submitted a patch, the patch was faulty and unusable, and the maintainer stepped in to put together a working fix. That's it.