ariel-miculas.github.io

JackbyDev, to programming in How I got robbed of my first kernel contribution

I submitted a pull request to Vim and the maintainer thanked me, tweaked it, and my name is not in the commit history because of it. I use to be bitter about it, if only a little. So I know how you feel but I put significantly less time into mine so the magnitude of the feeling is much smaller for me. My name is still there in the GitHub pull request though. Just like your name is still in the commit itself and in the mailing list. Try not to fret too much about the specifics of your name being in the author field. It’s really just a technical detail.

It sucks but it is what it is. I don’t think treating this like you were slighted is appropriate.

xanu,

To be fair, wasn’t the vim codebase entirely committed by a single person? He did that with everyone and, while I don’t agree with that at all, it reads less like elitism / stolen credit than this particular story.

I may be wrong about that, so feel free to correct me 😊 either way, people should be credited for the work they do! and preferably not in the footnotes of a commit authored by someone else that didn’t fix the bug

JackbyDev,

No, you’re correct, it definitely was all (or mostly) committed by Bram. That’s part of why I was saying it didn’t feel as bad but I didn’t think it was relevant to mention. But yes, you’re definitely correct.

aard,
@aard@kyu.de avatar

Git has different fields for author and committer - and modifying a commit should leave the author field intact, and just change the committer field. It is possible that github does something weird (I’m usually not doing much in their web UI) - but coming from working with git directly I’d expect you to be present in the author field.

JackbyDev,

I didn’t write the content of that commit. Author and committer being different is for things like rebasing commits written by other people.

aard,
@aard@kyu.de avatar

You mentioned a pull request, and that it got edited - which in my workflow is pulling the commit and amending it.

JackbyDev,

Okay, I probably misspoke about the technicalities. I opened a pull request, then they made a new commit and closed the PR (like it was an issue) and didn’t touch the commit. Hope that makes sense now.

magicsaifa, to programming in How I got robbed of my first kernel contribution

I feel like the takeaway here should be that the experience of contributing to the project was not great. That’s it.

There is value in complaining, even if you don’t have solutions. You can only make people aware of the consequences that their actions have caused by telling them.

I don’t even take issue with him posting this publicly to his own Dev blog. I think its a perfectly fine piece of on-the-job experience OP has shared. Maybe in a few years he would like to come back to it with a different perspective.

I do however think that OP posting this here (and apparently other boards) is a choice I don’t agree with. I think OP would have been better served writing a response email to the maintainer, explaining how they felt. Beyond that, what can one do?

lysdexic,

I feel like the takeaway here should be that the experience of contributing to the project was not great. That’s it.

I don’t think this is a valid summary. I think the first-time contributor had a rather self-centered approach to the bugfix, and turned a run-of-the-mill bugfix in a huge drama-riddled personal attack on a FLOSS maintainer for no good reason.

Only in the OP’s one-sided and vindictive account of the whole ordeal does the project maintainer have questionable behavior. The central theme of the one-sided account is also absurd, as if a kernel maintainer needs to wait around for first-timers to contribute a patch for them to “rob” it to have a commit to show for.

The whole soap opera is so regrettable, and the OP comes out not looking good at all.

cmeerw, (edited ) to programming in How I got robbed of my first kernel contribution

Did a bit more digging through the mailing list (also looking through the links posted on the HN thread), and to me it looks a bit weird.

OP came up with an initial patch (Wed, Jun 1, 2022 at 12:36 PM) that wasn’t deemed to be good enough to be merged. Maintainer came up with a different patch (Tue, 7 Jun 2022 00:34:56 +1000) saying “but I wanted to fix it differently”. OP then posted a reworked patch (Fri Jun 10 17:15:49 AEST 2022) that looks a lot more similar to the maintainer’s patch.

The maintainer’s patch and OP’s reworked patch look quite similar, but from what I can see from the mailing list, the maintainer actually came up with that approach, and OP didn’t then credit the maintainer in his reworked patch. @kairos can you please clarify, what am I missing?

kairos,

Between the initial patch and the maintainer’s patch there was a private conversation between me and the maintainer (I don’t have access to it because I’ve used my work email and since then I switched companies). I posted my reworked patch only for visibility, since by then they have accepted the maintainer’s patch. But I sent the reworked patch in private to the PowerPC maintainer, before sending it to the powerpc mailing list.

MajorHavoc, (edited ) to programming in How I got robbed of my first kernel contribution

I’m surprised there’s not more discussion of the git GitHub co-author feature here.

A simple co-author line in the final commit sounds like an appropriate way to use the best final code while also giving due credit.

JackbyDev,

I believe that is just a GitHub feature. Trailers are not some special field in the commit, just things at the end of the commit message. Sort of like an email signature. (Not a great example, I know.) My point is that the use of trailers will vary from project to project.

MajorHavoc,

Good point!

It looks like GitLab doesn’t have Co-Author support yet, yet.

At least - as part of the git history - co-author notes in commits can survive a migration away from GitHub.

It’s not clear if the current GitHub implementation will be the long term accepted standard, of course.

RiikkaTheIcePrincess, to programming in How I got robbed of my first kernel contribution
@RiikkaTheIcePrincess@kbin.social avatar

Whew, here I was thinking it might be cool to try to contribute to some project, maybe even Linux! This thread shall serve as my reminder to never do that because that's for god-tier emotionless techbros only.

[Sarcasm] Remember, being a dick to people is the only way to ensure that you're caring about the code enough!

lysdexic,

Whew, here I was thinking it might be cool to try to contribute to some project, maybe even Linux! This thread shall serve as my reminder to never do that because that’s for god-tier emotionless techbros only.

I’ve stumbled upon this blog post first in HackerNews, and the comments there make it quite clear that, even though it wouldn’t hurt to give more credit than merely reporting a bug, the author’s submission was flawed and subpar, and the rewrite that went in was undoubtedly better in every way.

I don’t think all this drama is waranted or justifiable. Also, if the first whiff of adversity bothers you and any feedback in a PR other than enthusiastic praise leaves you with a sour taste then collaborative work might not be for you, both as a participant and as someoje that everyone else has to endure.

ck_, to programming in How I got robbed of my first kernel contribution

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.

cmeerw,

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. Maybe ptrace32.c should be updated to use code that’s more similar to ptrace-fpu.c now?

ck_,

So maintainer applied a better fix.

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.

RonSijm,
@RonSijm@programming.dev avatar

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.

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

ck_,

I doubt the maintainer would even consider that the contributor would feel “belittled and angry”

… illustrating my point.

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

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.

RonSijm,
@RonSijm@programming.dev avatar

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

I disagree. If noone spoke out about Linus Torvalds calling people “dumb fucks”, he would still be doing it.

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.

Did the author do the best job with this article? Probably not. That does not invalidate his experience though.

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

MajorHavoc,

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.

lysdexic,

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.

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.

kairos, to programming in How I got robbed of my first kernel contribution

Here is the original patch I sent to the Linux kernel security team: www.mail-archive.com/…/msg221962.html

cmeerw,

So you have just re-posted an old email to the mailing list just so you can link to it, likely confusing everyone on that mailing list.

kairos,

Yes, so people could see my original submission. Then I’ve explained the purpose of the forward when asked, I don’t see any problem with that.

aard, to programming in How I got robbed of my first kernel contribution
@aard@kyu.de avatar

Somebody is pretty salty for no good reason. The maintainers own patch is nicer code than the suggested patch - and the change is small enough that there just isn’t anything available to guide the reporter to a better solution without wasting everyone’s time.

I’d probably have added a thanks for debugging effort into the commit message myself - but “please accept my patch because I want to have code in the kernel” is a very stupid thing to say, and the maintainer offering a suitable problem to fix is more than I’d have done in that situation.

kairos,

Unfortunately I don’t have my original patch, because I only sent that to the Linux security mailing list. I don’t think it’s a stupid thing to want to have code in the kernel, especially after spending all my time debugging this issue. The fix was trivial once I’ve pointed to the exact place where the buffer overflow happened and I should have received credit for all my effort.

aard,
@aard@kyu.de avatar

You did receive credit. A good bug report allows reproducing and ideally fixing the issue - which can involve considerable effort. This is the difference between your report, and the one you linked from 6 years ago.

Like I said, I’d probably have added an additional thanks for that in my commit message - but I’m unfamiliar with the kind of reports this particular subsystem typically receives, so it is quite possible your report is just something average coming in there.

I personally prefer to include code suggesting a fix in my bug reports - but I usually don’t expect it to be just merged as I’m not familiar with surrounding code. I also don’t expect that to receive an additional mention - it’s just part of the report, and is often cleaner in demonstrating the issue than a problem description.

bloopernova,
@bloopernova@programming.dev avatar

I think you’ll be happier in the long run if you can forgive and move on.

lysdexic,

I don’t think it’s a stupid thing to want to have code in the kernel, especially after spending all my time debugging this issue.

The way that you jumped straight onto broadcasting drama when your very first Linux kernel patch stumbled on the code review stage is a major red flag.

I would hate to work with you because I would feel that I would be risking being subjected to a very public character attack each time I had to review one of your patches.

kairos,

The way that you jumped straight onto broadcasting drama

I’m not broadcasting drama, I’m sharing my side of the story on my personal blog and distribute it to other social media platforms.

your very first Linux kernel patch stumbled on the code review stage

The patch didn’t stumble on the code review stage, the PowerPC maintainer didn’t want to accept patches from me and implemented his own fix.

I would hate to work with you because I would feel that I would be risking being subjected to a very public character attack each time I had to review one of your patches.

Why would you hate people who would describe their interactions with you? The only reason I see is that you would hate how you’ve dealt with them.

Haui, (edited ) to programming in How I got robbed of my first kernel contribution
@Haui@discuss.tchncs.de avatar

I would absolutely try to sue in this case. My experiences with very experienced specialists is not stellar at all. The amount of gatekeeping and sheer arrogance is frightening. I get it, nobody wants to work on the kernel. It’s an underpaid (presumably) and underappreciated task. I would probably become an asshole as well if I dedicated 90% of my free time to fixing obscure bugs in even more obscure architecture.

Disclaimer: I‘m not a kernel dev and my experience stems from interactions with maybe 100 people of varying stages of proficiency. Sadly, the more proficient, the less friendly they often were.

Edit: the amount of downvotes you get for saying something unpopular without being violent or abusive is showing the lack of guts to discuss something in a civilized manner. Shame on you.

leaskovski,
@leaskovski@kbin.social avatar

eh? sue??? who??

Haui,
@Haui@discuss.tchncs.de avatar

The person who shamelessly took their work and profited from it (in reputation). Who else?

Schmeckinger,

Yeah sue Linus Torvalds directly for 3 props and 1 or 2 thanks.

Moc,

Best he can do is a thumbs up, no eye contact

RonSijm,
@RonSijm@programming.dev avatar

Edit: the amount of downvotes you get for saying something unpopular without being violent or abusive is showing the lack of guts to discuss something in a civilized manner. Shame on you.

People aren’t discussing this because “try to sue in this case” is just an absurd concept - but okay.

Who are you going to sue and for what? His concept of recognition is just “getting his code into the kernel”? He could have written a blog post in the context of “How I found a bug in the Kernel and helped fix it” - He did contribute, he did the QA part and the diagnosing part, thats contributing.

But his post with the sentiment of “I did it all for nothing!” makes it seem like the goal was to get “recognition” and get his code into the repo… The goal is just to fix bugs, and he did contribute to that

Haui,
@Haui@discuss.tchncs.de avatar

Thank you for explaining. This helps me understand both his and this here situation.

First of all, I‘m totally ok with it being absurd. It was my impression that this person has been wronged and should be appropriately compensated for their (shit ton of) work. From the text, it seemed like there is a way to get this compensation (in the form of recognition of some sort).

I‘m totally fine with being told that he misrepresented the situation and he‘s more going off a principle here which would never be enforceable. If there were such a „standard“ for recognition for kernel controbution, one could definitely try to enforce it.

In general, I have no problem with standing corrected. What I do have a problem with is the way people in IT centric communities on lemmy (and reddit) behave in general.

Obviously you were kind enough to explain instead and without being violent or abusive. I highly respect that. Thanks again.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • KamenRider
  • Ask_kbincafe
  • TheResearchGuardian
  • KbinCafe
  • Socialism
  • oklahoma
  • SuperSentai
  • feritale
  • All magazines