from Hacker News

I got robbed of my first kernel contribution

by kkapelon on 9/27/23, 8:58 AM with 692 comments

  • by ohyes on 9/27/23, 1:59 PM

    It would have been more appropriate to just give credit to this guy even without accepting his full patch.

    Clearly no one was fixing this security issue unless he found it and submitted a fix.

    It’s unethical to not give credit, in particular if Michael read his patch, changed some stylistic things, and submitted it himself. I’m surprised everyone thinks the maintainer is in the right here.

    If someone scooped up your work and took full credit for it, despite it being a collaboration (and even if miculas code was absolute garbage it was still a collaboration), that wouldn’t feel right, and you wouldn’t want to work with them again.

  • by kazinator on 9/27/23, 2:55 PM

    The maintainer's patch is better.

    1. It doesn't lose the fpidx < (PT_FPSCR - PT_FPR0) test from the 32 bit case.

    2. In the put function, it doesn't lose the *data = child->thread.fp_state.fpscr; fallback assignment, which is taken when fpidx is out of bounds.

    3. It avoids the pointless FPRINDEX macro which reduces to identity if TS_FPRWIDTH is 1. The original patch's commit message says "On PPC32 it's ok to assume that TS_FPRWIDTH is 1", but then includes this anyway:

      #define FPRNUMBER(i) (((i) - PT_FPR0) >> 1)
      #define FPRHALF(i) (((i) - PT_FPR0) & 1)
      #define FPRINDEX(i) TS_FPRWIDTH * FPRNUMBER(i) * 2 + FPRHALF(i)
    
    Sorry, just because you found this trivially fixable array mismatch doesn't mean your buggy patch has to be accepted the way it is.

    The maintainer should, however, acknowledge that Miculas didn't simply report the problem, but that Miculas investigated identified the root cause, and had his own version of almost the same simple fix.

    "Reported-By" lacks the precision to express that it was thoroughly investigated by that party, and root-caused.

  • by inglor on 9/27/23, 9:09 AM

    The linux kernel isn't a reward and while I empathize with the OP I would absolutely prefer a better solution to maintain than one from the community. So the maintainer was well within their rights.

    That said, it's so easy to just give people who contributed to the fix attribution, in Node.js we make a point of trying to give credit in release notes and add `Co-Authored-By:` to PRs where we took _some_ work people did in PRs and adapted it.

    When you maintain something for a while, credit often stops being important to you (you _are_ the maintainer of the area after all) so it's hard to remember that for new contributors it's often very important.

    Totally a loss for OP and that part of linux that the maintainer wasn't more attentive to the fact sharing credit (especially when deserved like in this case) was important to OP.

  • by superboum on 9/27/23, 1:09 PM

    The kernel documentation defines some tag conventions, one of them is "Suggested-by". Its definition:

      A Suggested-by: tag indicates that the patch idea is suggested by the person named and ensures credit to the person for the idea.
      Please note that this tag should not be added without the reporter's permission, especially if the idea was not posted in a public forum. 
      That said, if we diligently credit our idea reporters, they will, hopefully, be inspired to help us again in the future.
    
    It could have been more appropriate to the situation, I think it's convey better the idea that you have found a solution to a problem, but because you are not familiar with the project, the exact syntax of your patch has not been kept.

    Ref: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...

  • by FridgeSeal on 9/27/23, 10:41 AM

    Seeing some of the responses in this thread, I hope some of you never manage people, especially anyone junior/mid.

    If you have a (eager) junior on your team and they contribute a helpful, but sub-par quality PR for some issue, the worst possible way to handle the interaction is admonish them for not being good enough, throw their code in the bin and then rewrite it yourself.

    You’ve destroyed morale, wasted their time and yours, ensured that they haven’t learnt anything - and thus won’t be able to improve or meaningful contribute next time and you’ve likely dissuaded them from asking for help or volunteering for anything next time. Even if they waded into a hectic past of the codebase, there’s better ways to handle this interaction.

  • by micw on 9/27/23, 9:13 AM

    Comparing both patches, I see a clear difference. While the contribution from the linked article changes the behaviour of both branches of the if...else, the final contribution changes only the parth in the "if" branch.

    I guess, the maintainer had some reason to change the code. Nevertheless, giving credits to the original patch author would be appropriate since the actual fix was almost 100% copied.

  • by jcalvinowens on 9/27/23, 6:21 PM

    This is a normal part of contributing to the kernel. You send a patch because it's often the most succinct way to convey the problem. Your expectation should be that they won't use it.

    I can think of at least three times off the top of my head [1][2][3] this "happened" to me. It honestly never even occurred to me to be upset about it... because my primary goal was to fix the bug, and I was happy to have done so.

    My sincere advice to OP is to delete this blog post... they will regret it in the future.

    [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...

  • by mhkhung on 9/27/23, 3:04 PM

    It happens to OSS projects all the time and simply discourages further contributions.

    Last year I took on an issue that has been opened for years, did all the work creating a pull-request, updating test code, yada yada, even another one that fixes their build problem. The maintainer took the PR to fix their build problem and simply ignores the original issue. Any chance I will spend my time contributing to that project again? No way.

  • by JokerDan on 9/27/23, 1:07 PM

    I really don't understand the toxicity here.. People saying that 'you shouldn't do things just for recognition/gold starts/reward/cv/etc are insane to me?

    Do they have jobs? If so, to make these kinds of comments imo they should be working completely for free. Salary is a form of recognition for contribution.

    Personally, adding a co-author (even if the final solution ends up different to the one proposed, but the solution is based around the findings of the original solution) is such a tiny thing to do. I think the author has a valid point to moan about this.. it isn't the first and won't be the last instance of somebody feeling their contribution to something is going unrecognised.

  • by V__ on 9/27/23, 9:09 AM

    > Sorry, I like my version better. If you want to be a Linux kernel contributor, here’s an issue you could fix.

    What a great way to make sure someone will never help you again and disincentivize others from doing the same.

  • by noirscape on 9/27/23, 1:21 PM

    I've heard before from multiple voices that the LKML has a bit of an "old boys club" issue when it comes to accepting contributions.

    Basically from what I can tell, the kernel is so large that you have individual maintainers responsible for a specific tree. Those maintainers in turn basically run their own little fiefdom in terms of what contributions they accept and even how they accept them. Some demand the use of git send-mail like in the olden days, others use a more dedicated website for contributors to upload their patches to (forgot the domain).

    The problem is that a good chunk of those maintainers are apparently running roughshod in terms of basic decency or willingness to communicate with people submitting patches. Prospective contributors have been yelled at or had their patches rejected for bugs that weren't in code they introduced (but were in the git diff they exported into send-mail) or for fixing a bug that their code relied on while adding a new feature (because it "should've been a separate patch"). It's not all of them, but enough to be frustrating.

    As for reimplementing submitted patches rather than offering feedback on existing ones and refusing the proper credit - this doesn't surprise me in the slightest, nor does the offense being taken suprise me. This is pretty much the exact same situation that led to the disastrous ffmpeg and avconv forking situation (where the lead maintainer would often not bother giving feedback and reimplement entire PRs on his own, without care for the other person involved). Seeing that replicated is unlikely given its Linux, but bad maintenance does usually follow a few trends.

    There's a reason that when you get to more "niche" hardware combos like say, homebrewed videogame consoles, most projects don't bother upstreaming to begin with, even if their patches are otherwise quality work. Not everyone wants to deal with these sorts of LKML politics.

  • by hermannj314 on 9/27/23, 2:11 PM

    Being kind to another human being because you want to encourage them to keep doing what they are doing, Favor trading, Compromise.

    This is called diplomacy.

    Anyway. This story is about the opposite of that.

    Diplomacy is a choice, usually a trade-off, in favoring a longer-term relationship. Failure to even want to be diplomatic shows the Linux maintainer thinks this person is worthless as a human being on a long-term basis wrt kernel maintenance. And that's fine, but don't be surprised when that contributor is offended and proves you right.

  • by ptico on 9/27/23, 9:53 AM

    What’s wrong with most comments?

    If you’re in front of keyboard, and someone is saying what to type. Does this makes you an author of this code? Definitely no.

    If you’re in front of keyboard, someone is saying what to type and you creatively rework what you hear. Does this makes you an author of this code? Like, you know, ChatGPT can make an existing code better, but this doesn’t mean ChatGPT wrote it. So mostly no

    See, the programming job is not about typing characters to the code editor. It’s even not about choosing between different idioms or applying common algorithms or patterns. It’s about solving problems. That’s where like 90% of efforts going

    You might say OP is not a true OSS developer because of solving own problems. But most OSS contributors are solving their problems, what a surprise. This is why OSS still exists.

    You might say OP is a glory hunter. But in fact, he spent few days solving the problem and then the authorship was just stolen by rewriting the solution. It’s normal to demand a proper authorship of the work you’ve done

  • by jabradoodle on 9/27/23, 9:27 AM

    Some really bad takes here.

    If OPs story holds up, their employerer paid them to work on OS software and they spent time and expertise debugging and fixing an issue.

    Not receiving credit here diminished the likelihood their employer will contribute employee time (money) in the future.

    Also, I don't see the criticism of the OP wanting credit for their work. This is totally normal and expected.

  • by underdeserver on 9/27/23, 9:10 AM

    Hard to judge this situation without hearing the other side. I don't know if the PowerPC maintainer saw significant issues with this guy's code.

    One thing I do know is that putting in a lot of work up front, without any communication, sending a patch and then getting all worked up if it's not accepted is not generally a good strategy.

  • by finnjohnsen2 on 9/27/23, 9:14 AM

    GitHub supports Co-Authored-By[1]

    It is probably something the kernel guys (and similar projects) should use generously in examples such as your own to encourage involvement

    [1] https://docs.github.com/en/pull-requests/committing-changes-...

  • by derangedHorse on 9/27/23, 12:09 PM

    I've contributed to an open source project after wasting hours of my time diagnosing a bug, diving into the code, and making a fix. The project was in an area I was trying to get a job in, and the contribution would have given me rapport with the FOSS-supporting companies I was applying for.

    Instead of taking my fix, the maintainer spent a month making drastic changes to the architecture to address my problem and fix. There was a major version increase and people left using the old version of the code either had to deal with breaking changes to adopt the newest version with the fix, or use my fork. The whole thing was non-sensical and I came away thinking the maintainer was an absolute idiot.

    No one likes their hard work going to waste so I don't know how a rewrite under someone else's name could ever be justified. Wanting to get credit for your work is only natural and sometimes career changes are hinging on being able to build your resume in this way. Even from just a reputation aspect to get more sway when attempting to tackle more ambitious changes.

    When credit is robbed from someone for no good reason, it's just wrong imo. It's crazy this even has to be explained.

  • by pm90 on 9/27/23, 9:14 AM

    I can see both sides of the issue. The kernel maintainer is within their rights to implement their fix and accept it; they probably work with this codebase a lot and have to deal with issues that crop up. If the added code doesn’t match up in some way, they should be free to fix that.

    But this issue could have been handled better. The kernel maintainers should have better attribution mechanisms. At least share authorship in the commit so the patch sender gets credit and is incentivized to contribute more. Its so easy to do that and it can create so much goodwill for little cost.

  • by runxel on 9/27/23, 12:01 PM

    Amazing how the hostility is perpetuating all through HN here as well.

    I have seen (and sadly self experienced!) this kind of story way too often. And let me tell you this: This guy is now burned by this bad interaction and is successfully shooed away.

    And some folks wonder why "nerds" and "geeks" are seen as socially inapt...

    I don't even think that Mr. Ellerman had any malicious intents. But it just shows again, that the so called people skills are nothing to be neglected when choosing leading figures.

    To paraphrase George Carlin: "It's a big club. And you're not in it!"

  • by phil21 on 9/27/23, 4:20 PM

    I've only skimmed most of the comments, but getting old is seriously starting to hit me reading this.

    There seems to be a large "old school open source" and "new school Github open source" culture clash here.

    This sort of thing wouldn't even make for a 5 minute controversy on IRC back in the day. But I also can see valid points and the expectations developers who grew up in a different era now have. The olden days were certainly not perfect, but neither is the new age.

    Certainly going to be interesting times as torches get passed for these huge fundamental open source projects over the next decade or two!

  • by ebiggers on 9/27/23, 6:25 PM

    This is a great example of why so few people want to be a Linux kernel maintainer. Not only is it largely a thankless "job" where you get blamed for issues you didn't cause and are expected to do much of the work on your own time, but you can potentially get a misleading hit piece published about you and posted to Hacker News just for doing your job.

    IMO, what the maintainer did (taking authorship and crediting the original author/reporter via Reported-by, after rewriting the entire patch including the commit message) was in line with kernel conventions. The lines are a bit blurry, and I think keeping the original author/reporter as at least a Co-developer would also have been acceptable. Still, people sometimes complain if they are kept as the author or co-developer if their patch is rewritten, as they don't want to "own" that rewritten patch and take blame for any issues in it. So pick your poison.

    Ideally, more time would have been taken to work with the original author/reporter to get their patch in shape. Unfortunately, there isn't always time for that. In this case, the bug was reported to security@kernel.org as a security vulnerability, so that throws much of the usual process out the window; it needed to be fixed quickly. The maintainer went out of their way to get it fixed quickly, in a better way, and even added unit tests for it later. The original author/reporter was credited in both the fix commit and the pull request merge commit. Also note that the maintainer's commit is dated June 7 and was merged into mainline on June 9. So AFAICS, it predated the original author/reporter sending a revised patch; it postdated only the first patch.

  • by ChrisMarshallNY on 9/27/23, 3:59 PM

    I really am sorry that this happened, but it is also a risk that we take, when we jump into the deep end of the pool.

    The Linux Kernel is the deep end, and the Linux Kernel Security team is the Marianas Trench.

    It took gumption to make a first attempt to that level. It sounds like it was damn well done, but I have found that people in that level of things are generally not particularly welcoming of folks just coming in and assuming equal status. It's an unhealthy ego thing, but it's also quite human.

    I encounter it all the time. I don't come across as an alpha nerd, and am often treated quite dismissively. It used to infuriate me, but nowadays, I just shrug, and say "your loss." I don't think I'm missed; even if my contribution would have made a great difference. Sometimes, I have had stuff I pioneered used without credit, but I put it out there for a reason. Most of the software I write is designed to help people in need, and if it gets to them; no matter the route, then it's good. I am not particularly interested in getting credit.

    There was a post, a day or so ago, about "I Will Not Read Your F%%king Script"[0], and it sort of spoke to the same kind of mindset.

    Basically, if we jump into the deep end, the rewards can be great, but we won't receive any help, or any pity. We will be treated as interlopers, and can look forward to being treated fairly barbarously.

    All that said, I encourage the author to keep it up, but I'd gently suggest not making it a front page HN issue. That probably won't help.

    [0] https://news.ycombinator.com/item?id=37628606

  • by jjgreen on 9/27/23, 9:07 AM

    I've experienced similar (not in the kernel, but a high profile OS project), making an initial contribution is interpreted as an offer to become the personal secretary for one of the project full timers. I politely backed away.
  • by 0xbadcafebee on 9/27/23, 1:17 PM

    Without seeing the entire back-and-forth, it's not exactly clear what happened (we only have a a single sentence from their correspondence). In any case, he can still claim credit from the Reported-By line, same as if he was in the CREDITS file. He can still put it in his resume.

    Saying he was "robbed" is wrong; nobody said he was going to get his patch accepted, much less be given a specific amount of credit. If he had been promised something, and his work was taken without giving him what was promised, I could see that as being "robbed". But giving someone something in the hopes of something in return, that was never promised, and being mad when you don't get what you hoped for? That's sour grapes. It's like taking a girl out for dinner and saying you were "robbed" when you don't get any after.

    The bug got fixed, which is a much bigger deal. Often maintainers don't accept your fixes at all, so you're still subject to the bug. Lesson learned: maintainers can be dicks, don't expect anything from them. (I report bugs and user experience issues all the time, and I mostly get either ignored or told that it was expected in some way, so they don't have to accept any responsibility or fix the problem)

  • by acatton on 9/27/23, 9:26 AM

    "robbed" is not a hyperbole here, it's a blatant lie.

    The blog author found a bug and submitted a patch, the kernel maintainer fixed the bug differently with his own patch. No copyright was infringed. Where is the theft?

    Open Source maintainers don't owe you to accept your patches.

  • by gorjusborg on 9/27/23, 5:28 PM

    To me, the blog entry just shows that the author is overly emotionally invested in getting a very particular form of recognition (but without identifying it).

    If you did the work, and your employer paid for it, surely they know you contributed the fix and appreciate the leveling up you had to do to accomplish it.

    So you know what you did, the person paying you knows, so where's the problem?

    The way it is being presented makes it seem like nefarious work stealing went on. The thread posted doesn't indicate that though, and again, the people who matter know.

    Your gold star is the growth you got along the way, not the 'authored by' note.

  • by tpoacher on 9/27/23, 3:05 PM

    Imagine if this was an academic submitting to a journal to improve state of the art.

    This is the equivalent of a reviewer rejecting the paper, and then publishing the same paper in their own words, saying "I like my phrasing better".

    The author is right to be upset.

  • by zoogeny on 9/27/23, 5:56 PM

    In the past I've worked on really difficult bugs that took days to debug only to find a super simple and trivial one-line fix at the end of that hard road. That is, 90% of the effort was understanding what was happening well enough to write that one line of code.

    It seems to me that 90% of the effort for this fix was contributed by the author of this post and the 10% effort of writing, testing and verifying the few-line fix was contributed by the maintainer. At the very least it seems the original author should have got a Co-Authored-By attribution, even if no lines of his original patch made it into the final commit.

  • by firtoz on 9/27/23, 9:10 AM

    Open or closed source, sometimes the maintainers or engineers will go with different approaches or fixes.

    I don't think we have an agreed upon standard of thanking or crediting contributors, everyone does it in their own way.

    A lot of work is thankless, though. And sometimes people get angry for something you change, even if it's an improvement for most others.

    Sometimes people are thankful, but mostly silently.

    Stoicism may be useful.

  • by jmull on 9/27/23, 3:54 PM

    An open source maintainer isn't obligated to accept unasked for code. For all we know there were gaps or issues with the submitted code and not accepting it was the only reasonable response.

    Now, the maintainer could have made this guy more welcome... but I imagine it's quite a bit of work to get a new contributor up to speed to the point where they are consistently a net positive for the project. In any particular case you have to decide whether you want to take on that work or not, and I can hardly blame someone who isn't getting paid for opting out of that, even if the reason is just that they don't want to do it that day.

    > I was also open to working with him, addressing his feedback and sending subsequent versions of patches.

    That's good, but it's important to note that that's asking the other person to do a bunch of work that helps you, not them. You're asking for a favor here, probably the dearest and often scarcest resource of an open source maintainer -- their time.

    I suspect the author failed a little test when rejecting the other piece of kernel work... who needs someone who wants you to help them work on their problems but isn't willing to help you work on yours?

  • by i_am_a_peasant on 9/27/23, 9:09 AM

    Oh man at least you got a Reported-by.

    When I found a kernel panic on FreeBSD my report was taken by a guy on IRC and was told "just don't worry about it i'll send it to the maintainers".

  • by blinkingled on 9/27/23, 9:41 AM

    We can all make our existence so much better by being more empathetic to other people's positions. In this case the maintainer could've just communicated how he would like to see the bug fixed and let the original reporter fix it that way and retain credit.

    But he just went and did it himself and then made things further worse by using insensitive language. He could've easily added a line to the patch acknowledging the original fix and the effort that went into it.

    Getting the better technical solution in is in most cases not orthogonal to being better humans.

    But as it stands, beyond people who get paid for it kernel development is best suited for hobbyists who just have fun figuring things out without any expectation of Internet points.

  • by jdance on 9/27/23, 1:19 PM

    Without the work of the author this bug would still not be fixed. So credit for that work (which seemed quite involved) would be fair and natural, no?

    I am surprised and a bit sad at so many comments questioning the author

  • by ariel-miculas on 9/27/23, 10:17 AM

    Author here, I've forwarded the original email thread for those curious about additional context: https://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/m...
  • by juxtapose on 9/27/23, 9:55 AM

    I'm not sure if this counts for "robbery", but similar stories happen every day in the FOSS community, usually for very boring reasons, e.g. copyright assignments, or in the author's case, security concerns, presumably.

    My first contribution to Emacs is a very similar experience as the author's. I took time to debug a long-standing issue in Emacs, I wrote a patch, I asked other users to test my patch, and I addressed comments on emacs-devel, but eventually it got completely rewritten by a maintainer without any credit for my efforts.

  • by bloopernova on 9/27/23, 2:31 PM

        Bug discovered by Bob
        Initial fix by Bob
        Fix refactored by Chris
    
    How difficult would that be?
  • by andrelaszlo on 9/27/23, 3:28 PM

    I found a (relatively minor) bug in Git and tried contributing a patch for it. That time it was definitely partially my "fault" that it didn't get merged, since I was new to C and their contributor process. The feedback on my patch was kind of overwhelming (something like "instead of your one-liner, it's probably better to fix the root cause of the issue by refactoring this and that..."). Didn't get around to it, then saw it got fixed by a regular contributor quite some time later.

    It was a bit discouraging, but I didn't feel robbed (since circumstances were different!) - and I realize it's difficult for maintainers to also find the time to onboard new contributors.

  • by micw on 9/27/23, 9:15 AM

    One thing that wonders me. The patch contains a fix but obviously no unit test that verifies it. Is that the standard of linux kernel development? In the company I work for, the patch would certainly be rejected because of that.
  • by bhouston on 9/27/23, 10:41 AM

    This sucks. You went above and beyond and then got undermined by a senior Linux contributor. I think that many people have low social skills in software development. And this is an example of that. I suspect the intentions were not malicious just that the senior contributor doesn’t care about your feelings or values, your work or ensuring you get credit for your efforts.

    I think your main recourse is writing articles like this as there is nothing else.

    Maybe next time try not to involve this particular OSS contributor?

  • by tasubotadas on 9/27/23, 9:05 AM

    The problem was fixed. The goal was reached.

    Not everything in life is about getting a golden star in your grade book.

  • by infogulch on 9/27/23, 10:33 PM

    My conclusion:

    * It wouldn't have hurt to give Ariel more credit with a `Co-Authored-By` instead of `Reported-By`, especially considering that the 'report' came with a working code fix. If this form of credit is outside the typical Linux commit authoring norms, then maybe this is a good motivation to adjust them.

    * Ariel should have brought up the complaint about the Reported-By tag at the time instead of letting his frustration and disappointment fester for a year then writing a blog post about it.

    * The "(paraphrased)" maintainer response to asking for more credit feels off, and the formatting of the blog post is badly misleading. I'd much prefer a direct quote than a paraphrasing for something like this, where it's important to have raw data for third parties (like everyone in this thread) to come to a valid judgement on this aspect.

    * I can't tell if this was communicated in private or if the response is contained in one of the links mentioned in this thread. In general the whole timeline is rather difficult to follow which doesn't help.

    Between this and the recent rust drama, I think we're running face first into the biggest issue of text-only communication mediums: it's really hard to communicate intent and feelings through text. You can dismiss that as silly human foibles, but the human shit actually matters. In person communication has such a higher bandwidth it's insane, and if we're going to continue pretending that we can replace it entirely with text, we will have to commit to a much higher level of transparency and candor than we'd feel comfortable with in person, else it will be harder than necessary to maintain community over the long run.

  • by oytis on 9/28/23, 10:16 AM

    Looks like this scenario is common enough that it deserved a mention in Linux contributor's guide [1].

    > On very rare occasion, you may see something completely different: another developer posts a different solution to your problem. At that point, chances are that one of the two patches will not be merged, and “mine was here first” is not considered to be a compelling technical argument. If somebody else’s patch displaces yours and gets into the mainline, there is really only one way to respond: be pleased that your problem got solved and get on with your work. Having one’s work shoved aside in this manner can be hurtful and discouraging, but the community will remember your reaction long after they have forgotten whose patch actually got merged.

    I think that summarises it perfectly.

    [1] https://www.kernel.org/doc/html/v4.17/process/6.Followthroug...

  • by ThinkBeat on 9/27/23, 9:58 AM

    The maintainer has a lot more experience writing kernel code than you do and has a better grasp of how this update will impact other parts of the code.

    Is his version better? Presumably, it is in the kernel source now? It would be interesting to see them side by side.

    If he just took your implementation, stuck his name on it and pushed it, that would clearly be an asshole move.

    If he read your description, looked at your implementation and wrote a much better one, then that is beneficial for the codebase and Linux.

    In which case proper credit was given.

    Writing kernel code is hard. Very few people get their first contribution into the kernel. which sucks for the ego of someone making a contribution, but it makes the codebase better.

    In a generous light, the maintainer recognized that you were interested in helping the kernel and he saw you had some talent, so he offered you a new task as a step to learn more and building your skills as a kernel developer.

    He could have communicated it in a more verbose and polite manner for sure.

  • by avgcorrection on 9/27/23, 8:55 PM

    Ignoring the problem with lacking DCO (potential problem) the Linux project seems very flexible with fixing up commits (I mean patches). I mean some practices are pretty jank:

        <message>
        
        Reported-by: ...
        Signed-off-by: ...
        [<initials>: fixed a typo in the commit message]
        Signed-off-by: <initials>
        [<initials2>: fixed a leak, oh my!]
        Signed-off-by: <initials2>
    
    (Changelog in the changelog)

    Assuming proper signoff attribution (DCO), it's absolutely possible to clean up a patch, note that in the commit message, and then either give the original author full authorship or give one of you a co-author status.

    That seems like a more reasonable way to go if you don't have time to go multiple review rounds, trying to poke them towards the preferred solution.

  • by jamesu on 9/27/23, 9:30 AM

    One time I submitted a patch to implement a feature in an Open Source project, it got completely ignored for 6 months until someone else implemented the same feature which the project went with. Felt a little frustrating, but I've learned sometimes these kind of things happen in large projects.
  • by ok123456 on 9/27/23, 2:43 PM

    I make most of my open-source contributions quasi anonymously, and don't want attribution. Does that make me the odd one?
  • by the_biot on 9/27/23, 5:39 PM

    This happened to me as well. Didn't get any response to my patch, resent it and got told it had "already been fixed". Sure enough, a worse (IMHO) fix was in, fixing this thing that had never worked in the kernel. They didn't even tell me.

    The Linux kernel gets away with this because it's the biggest/most important software project in the world.

    When I had a similar experience with another open source project, I lost the desire to ever contribute to that project again.

  • by jwildeboer on 9/27/23, 2:50 PM

    The correct title would be „Why I am offended instead of happy that a problem got solved“ ;)
  • by gumby on 9/27/23, 3:48 PM

    By the way as a side point: trapping on a data access is called a "watchpoint", while "breakpoint" is when the program counter reaches a certain value. cf another topic on the front page today: this can be done with hardware (as the author did) or (extremely slowly) in software when you don't have hardware support for it.

    Not that this comment addresses the author's unhappiness.

  • by alexeiz on 10/1/23, 2:57 AM

    There is so much complaining for a patch with just a few lines of code.

    > I spent a lot of time and effort doing root cause analysis, fixing the bug, testing and validating the fix, getting feedback from other engineers at my company, adapting the fix to the latest kernel version, and sending two different patches to Michael Ellerman, the PowerPC maintainer.

    Thank you for doing all the work for free. Meanwhile Michael Ellerman gets paid by IBM to use your work.

    I hope now you understand an important thing about open source: if you're doing the work for free, you're an idiot.

  • by pierat on 9/27/23, 1:21 PM

    Wow, just reading the bulk of responses here is just embarrassing on the FLOSS communities.

    Person did the hard work and figured out a kernel bug. Was related to memory handling, so sent it to security list. Big ego on security list truncated the reporter's troubleshooting, proof, and patch, and basically ignored the contributions to a 'they reported it' badge.

    What's a little bit of empathy cost? The person wrote code that fixed the issue. Even if it wasn't accepted, it's still a reference patch.

    And people wonder why FLOSS ecosystems, well, suck. 'reported and initially patched by __' costs nothing, and is a hell of a lot of good will. But nope.

    If I do kernel sec patches like this, I'll just get a cool URL, a funny image, and publish it as an 0day. That way, I'll get credit AND a cve.

  • by smoothgrammer on 9/27/23, 2:09 PM

    If an one source project wants contributors they should recognize it. If they don't then they should not accept new contributors.

    It's 100% unethical to take credit for someone else's work.

  • by andrewstuart on 9/27/23, 9:41 AM

    I sympathise with author but it's not enough justification to give up entirely on such work.

    You encountered one jerk - there is undoubtedly many, many jerks working in that field.

  • by zamadatix on 9/27/23, 9:52 PM

    Shoutout to Chaitanya Kulkarni. I submitted my first kernel patch after digging into why a group of new NVMe drives were having trouble all coming up in the same boot and they went out of their way to help me clean it up, format it correctly, and still get submitted under my name. I was already happy someone was willing to help me get it fixed properly but they went the extra mile.
  • by bowsamic on 9/27/23, 9:34 AM

    Oof, what a bizarre, self-centred post. It makes it seem like they are more interested in having "kernel contributor" on their CV than actually improving the kernel.

    This is the worst kind of OSS contributor, the one that jumps in, makes a small change, then leaves, and expects recognition for it. If you really care, stick around and keep helping. Almost no one does.

  • by sacnoradhq on 9/28/23, 2:13 AM

    It doesn't matter how much better the ultimate fix was, it was plagiarism and credit theft. A professional patch review process would ask for changes rather than kicking someone off the keyboard and taking over. It's a shitty thing to do and discourages contributions, contrary to FOSS.
  • by r053bud on 9/27/23, 4:58 PM

    I guess I have a slightly different approach to my contributions. I really couldn’t care less who gets credit, I just want the bug fixed! I’m an OpenBSD user and I trust the core development team way more than myself. If Theo responded “I like my version better”, who am I to argue with that! :)
  • by lobocinza on 9/29/23, 3:27 AM

    Something similar but with way way less significance happened to me. It left a sour taste. But at the same time and more frequently I see people going an extra mile to ensure I receive proper authorship where I don't really care that much.
  • by incomingpain on 9/27/23, 11:33 AM

    This happened to me with metasploit.

    Their assertion was that my 0day code was so poor they had to rewrite but it wasn't that significantly different. Yes, admittedly my ruby skill is poor, but the fundamental gist of the code was still there.

    I expect they are to this day still distributing my 0day without any credit.

  • by snickerbockers on 9/27/23, 3:10 PM

    This is petty and childish. The primary purpose of open-source software is not to pad your resume, and besides only one minor bug fix isn't going to get you hired anywhere on its own.

    The maintainer probably should've been a little more generous with his attribution than just posting "reported by:" in the bug fix, but ultimately OP is just the guy who reported the bug not who fixed it. They aren't obligated to fix the bug the way some rando on the email thread wants it to be fixed because it's still their code. This isn't just the way open-source works, it's also the way most corporations work.

    It's also perfectly normal for a bug report to contain an example fix because the reporter knows how to make it go away but not necessarily how to make it go away the "right" way so I can easily understand how the maintainer saw this as a "reported-by".

    Calling them out on a blog post that you then submit to hackernews doesn't make you seem like a pleasant person to work with either.

  • by WalterBright on 9/27/23, 2:54 PM

    One thing I like very much about using git and github is the provenance trail of every contribution.
  • by cranx on 9/27/23, 3:51 PM

    I think this is a common issue that happens in software development. Some people just like to make thousands of changes that don’t impact logic, but let them own the blame for that line of code. I guess it gives some a sense of power, control, and ownership.
  • by staticelf on 9/27/23, 9:22 AM

    Seems like a great way of making people feel unwelcomed by the community.

    If I were to lay down work on an open source project and not get contribution I would never do any work for that project again. It is important for many to feel appreciated for their work.

  • by foooorsyth on 9/27/23, 3:21 PM

    Relevant Jonathan Blow: “The idea of a pull request is offensive”.

    https://youtu.be/XLVjSeusPYg?si=NbTzVx6QlB337zSs&t=25s

  • by tumetab1 on 10/3/23, 4:44 PM

    Reading now with the updates, I think the issue was overcome, glad to see such cases :)
  • by sevagh on 9/27/23, 5:16 PM

    I can't think of a more black and white situation than this.

    If the OP, Ariel, did not do what they did, the kernel would not be fixed. Therefore, they contributed the fix.

  • by JediPig on 9/27/23, 3:49 PM

    he is not the only one, or will be the last. Having your name on the main line of the kernel is really worth $$$. However here is a pro tip.

    FreeBSD, being a kernel commit, and having your name in it, you will be snatched up by various companies that use it, and not only puts a footnote that they do.

    Example, Apple, Playstation, Juniper, Oracle, etc.

    BSD pays off more.

  • by ftxbro on 9/27/23, 4:25 PM

    Does that mean if I've been contributing anonymously I've been robbed of every contribution?
  • by lyind on 9/27/23, 9:23 AM

    The goal shouldn't be recognition but getting the bug fixed. A working system for all is reward in itself.

    That said, attribution of work is a major theme in academia and business, where professors or department leads traditionally get credited for their student's or subordinates hard work.

  • by naikrovek on 9/27/23, 5:17 PM

    can't wait to see how these things go once Linus steps down and Linux continues without him.

    You think egos are big now...

  • by shortcake27 on 9/27/23, 9:18 AM

    I can’t empathise with the author. It seems like they’re only interested in OSS when a) they get credit, and b) for only fixing problems that affect them.

    > instead he implemented his own version of the fix. I told him that I would really appreciate if he could accept a patch from me, so that I could receive credit for fixing this issue and become a kernel contributor.

    In other words, you asked a maintainer to accept an inferior fix just so you can put “kernel contributor” on your resume.

    > My company and I should have received proper credit for solving this issue, especially considering how much effort we put into it.

    No one asked you to do this. You aren’t owed anything when you do an unasked favour for someone else. Also, the only reason you put so much effort into this was to fix your own problem. Which, from my understanding, is now fixed. You seem to have no interest in fixing other problems (which you were given an opportunity to do). IMHO this attitude doesn’t qualify for contributor status.

  • by RunSet on 9/27/23, 4:20 PM

    I have had my bugfixes rejected for superficial reasons and then immediately re-enacted by the project owner so many times I no longer even bother contributing to public github repositories.

    Now I just fix my own copy and wish others luck doing likewise.

    Makes me wonder if maybe funding github is part of Microsoft's long vision for the death of open source.

  • by oytis on 9/27/23, 9:32 AM

    Linux kernel maintainers might be not good as people managers, but it's also not their job - their focus is the code itself. The sure way to get your name in linux git history if that's you goal is contributing regularly.
  • by barrkel on 9/27/23, 9:47 AM

    Having someone else implement the fix and take ownership of the code is a positive in the long term, unless you're committed to the project - in which case you ought to be fine with looking at and fixing other bugs.

    In a company context, you'd expect the reviewer to coach someone being onboarded towards a solution the reviewer prefers, but that's because you know the person is going to be around for a while, and they're going to need to take ownership.

    If you aren't in it for the long haul, you shouldn't expect your code contributions to stick.

  • by arbitrage on 9/27/23, 1:43 PM

    This has been my experience contributing to F/OSS, as well. Upstream maintainers loooooove stealing your code. They are exceptionally unpleasant to work with, overwhelmingly so.

    "Sorry, I like my version better" is almost verbatim the same ripoff-kissoff I've gotten before in one specific circumstance in the past.

  • by not_your_vase on 9/27/23, 9:58 AM

    While on a personal level I can empathize with the author, it is not because I'm such a perfect person. Based on the timeline this experience has been eating him since more than a year, and it bursted out of him just today. Publishing this 16 months ago would have been seen as a knee-jerk reaction. Now, 16 months after it has happened, it is just petty.

    Get over it. Open source is like that. Count your blessings - most people would be happy if their worst experience would be only twice as bad as this.