News for hackers. Stuff that matters.
Re:I got robbed of my first kernel contribution by arghwhat on Wednesday September 27, 2023 @05:53AM (#37672483)
> The simple fact is: He did contribute, he just didn't get credited.

The credit they deserves is identifying the issue - not for writing a patch that didn't pass the bar (especially on security-report where maintainer gives critical priority, speedy review, extra focus on correctness, etc.).

Had this been done on a non-security mailing list, their patch would probably have gotten in after a few iterations.

EDIT: The original reporter was credited as "reported-by" in the patch, so removed the section saying there should be a standard for that.

Re:I got robbed of my first kernel contribution by light_hue_1 on Wednesday September 27, 2023 @06:01AM (#37672558)
The patch absolutely passed the bar.

The only difference between the patch that was accepted and the one that was proposed is where the fix is. In one case it's in an ifdef outside of an if. In the other it's in an inner if statement. That's it. This is a difference in style not a technical difference in the patch at all.

Re:I got robbed of my first kernel contribution by sdflhasjd on Wednesday September 27, 2023 @08:13AM (#37673523)
I'd argue the differences are not just style changes and even "just style" changes are not trivial. The kernel style guide specifically mentions to avoid using conditional compilation where possible, and as a result, Michael Ellerman's patch is far cleaner.
Re:I got robbed of my first kernel contribution by jabradoodle on Wednesday September 27, 2023 @09:40AM (#37674520)
After he did none of the hard part.
Re:I got robbed of my first kernel contribution by sangnoir on Wednesday September 27, 2023 @10:16AM (#37674989)
I'm sure other people did the "hard part" too for the Row hammer and Heartbleed bugs; which were even harder. All they got was credit in identifying the bugs; kernel-contributor-status is not a prize for doing hard work finding bugs.
Re:I got robbed of my first kernel contribution by jabradoodle on Wednesday September 27, 2023 @11:42AM (#37676336)
* OP didn't identify the bug, it had been reported years prior. OP identified the root cause and suggested a working fix.

* What then is the hard part, if this is the "hard part"

* What is kernel contributor status a "prize" for then, if not for contributing to the kernel?

* Why all the focus on OP wanting recognition for the work, and 0 on the dev who merged the patch. Why not have all patches be merged by a committe/ someone who isn't the author.

Re:I got robbed of my first kernel contribution by sangnoir on Wednesday September 27, 2023 @10:09PM (#37684329)
The maintainer (not random dev) didn't "merge" the patch - they rewrote an entirely new patch. Ate you arguing OP should be credited for that work? Sure, the maintainer could have guided OP towards the same patch over multiple exchanges/days, but it is their prerogative - they have to maintain the code going forward and are not obliged to accept patches that are in rough shape (in their judgement). OP did contribute to the kernel - but not by having their code included as they had hoped.
Re:I got robbed of my first kernel contribution by jacquesm on Thursday September 28, 2023 @02:06AM (#37685865)
Michael Ellerman is between a rock and a hard place here: he could have done better and that's something that may have to be added to the guidelines for the patch contributors, at the same time maintainers have a massive workload and this was a tiny, broken patch submitted in a non-standard way by a new contributor. He could have made the origins of the few lines of code clearer but maintainers do this all the time, they usually are more focused on the quality of the code and may not realize that the contribution is insignificant compared to the fact that someone is very much focused on the credit.

Incentives clearly aren't aligned and I think if the OP would have taken this up privately they could have worked it out. Instead you get this public attack on people that we already have far too few of and one that misrepresents the interaction. That's where I draw the line: you keep your dirty laundry inside until you've exhausted every avenue for redress if you really care that much. Note that Ellerman explicitly offered to work with the OP if he wanted to be credited for a patch to the kernel on another bug, which is one way to differentiate between drive-by contributors and long term relationships.

All in all I think everybody could have done better here but Michael Ellerman's wrongs are far less clear to me than what the OP did and I'm fairly sure if there were better guidelines about how to deal with various degrees of crediting contributors (and probably for a more substantial fix) that there would have been no problem either.

Personally I don't see the problem at all: the LKML thread is archived for eternity, the contribution of the OP is clear, if he wants to say he's contributed code to the kernel I don't think anybody would object to that and Ellerman did his job as a maintainer, even if he could have handled it with some more grace I'm more than willing to forgive him. If I had been in the OPs place I would have probably jumped at the opportunity suggested by the invitation, and I definitely would not have 'paraphrased' the interaction or use the word 'robbed' without first reaching out to Michael Ellerman because those two things alone undo any goodwill created by the submission of the patch.

Re:I got robbed of my first kernel contribution by camgunz on Wednesday September 27, 2023 @10:08AM (#37674872)
> I'd argue the differences are not just style changes and even "just style" changes are not trivial.

Op did all the research and multiple implementations of a fix. Ellerman refactored the fix to be simpler, but the effect is the same.

> The kernel style guide specifically mentions to avoid using conditional compilation where possible, and as a result, Michael Ellerman's patch is far cleaner.

It more seems like he knew about IS_ENABLED and Miculas didn't, because he uses `IS_ENABLED(CONFIG_PPC32)` instead of Miculas' `#ifdef CONFIG_PPC32`. Besides, Ellerman's changes are all inside `#ifdef CONFIG_PPC_FPU_REGS` blocks anyway so I'm not sure this was a major consideration. Using `IS_ENABLED` gets you 90% of the way to the "cleaner" patch, and in a ~30 line patch I don't know if it's worth golfing further.

Miculas' patch: https://lists.ozlabs.org/pipermail/linuxppc-dev/2022-June/24...

Ellerman's patch: https://lore.kernel.org/all/20220609133245.573565-1-mpe@elle...

EDIT:

Oh he also got a code review giving him exactly these tips [0]. IDK, getting real "I don't want to coach this rookie, I'll just do this myself, thanks for the tip" vibes from Ellerman here. Maybe that's valid, but it seems like not a wonderful way to keep people interested in kernel dev.

[0]: https://lists.ozlabs.org/pipermail/linuxppc-dev/2022-June/24...

Re:I got robbed of my first kernel contribution by loeg on Wednesday September 27, 2023 @11:14AM (#37675839)
Ellerman's patch also has a significantly different and more detailed commit message, which should not be ignored.
Re:I got robbed of my first kernel contribution by sdflhasjd on Wednesday September 27, 2023 @11:21AM (#37675960)
I'm just disagreeing that the patches are the same. I agree that Miculas did do the hard work by finding the cause of the issue in the first place - but he's correctly credited as the reporter.

As for the clean patch - part of the issue is that Miculas was slightly overengineering some of it with the additional macros and added noise with extra conditions on the fpidx declaration.

Ellerman's "I don't want to coach this rookie" vibe is somewhat understandable given this is the security mailing list - it's just not the time and the place to be going back-and-forth.

Re:I got robbed of my first kernel contribution by camgunz on Wednesday September 27, 2023 @04:16PM (#37680649)
I generally agree and gave you an upvote. The macros up top were hard for me to grok too, mostly I was reading it thinking, "why isn't this just a cast" and it turns out is could be! And I get this is the security mailing list, but it's 32-bit PPC, and they took days to really get to it. FWIW I think Ariel was being overly cautious; it's hard to see how this could be a significant security issue, and it feels counterproductive to punish him for being cautious. I can kind of see both sides, but I just can't get over doing all the work Ariel did and only getting a "Reported by" credit. His feelings are justified IMO.
Re:I got robbed of my first kernel contribution by hotnfresh on Wednesday September 27, 2023 @12:08PM (#37676813)
BRB, gonna rewrite every repo I’m on to credit the linter as the author of every commit.
Re:I got robbed of my first kernel contribution by birdyrooster on Wednesday September 27, 2023 @06:01AM (#37672555)
If I submit a patch and a maintainer (or anyone else) reads it and writes their own based on it, then they have edited my work. If they don’t attribute me at all, then they are plagiarizing. Maybe there is no law to protect me, but it’s social contract.
Re:I got robbed of my first kernel contribution by guenthert on Wednesday September 27, 2023 @06:36AM (#37672773)
There are typically multiple ways to write code to address a given issue. They might differ in aesthetics (including clarity of intend), but also performance, maintainability, extensibility and robustness. It's not uncommon that those who wrote the code to be fixed rewrite the patch in order to improve on aforementioned properties while avoiding lengthy back-and-forth when asking for improvement of the patch. They are often in a better position to do so due to familiarity with the code, it's history and (unwritten) development path.

That is by no means plagiarism. If not communicated clearly, can however lead to disappointment of those who submitted the patch. An 'inspired-by' comment would have been nice.

Re:I got robbed of my first kernel contribution by fleshdaddy on Wednesday September 27, 2023 @10:37AM (#37675286)
Yeah it just seems like a bad strategy on the maintainers part. Seems like one of those perfect places to teach a new contributor style guides and make them more useful in the future. To me approaching it this way comes off as disinterest in welcoming new contributors, which maybe now they’re not needed, but being so unwelcoming could one day leave us with no one capable of maintaining these projects.
Re:I got robbed of my first kernel contribution by foldr on Wednesday September 27, 2023 @11:21AM (#37675962)
It is plagiarism by definition if you don’t give credit to the person who wrote the original patch. Paraphrasing a source without citing it is certainly considered plagiarism in non-programming contexts (even if you think that you improved the prose style).
Re:I got robbed of my first kernel contribution by jacquesm on Wednesday September 27, 2023 @11:29AM (#37676113)
A patch, by definition is a modification of an existing piece of code, in this case a very small one. Now, it is possible that copyright protection would apply to such a small piece of code in that context but plagiarism usually does not involve a perfect record (the mailing list where the patch was submitted) that states exactly where the original work was submitted, what was done to it to make it ready for inclusion as well as an admonishment that the patch was not usable because it wasn't properly signed off.

Plagiarism means that the kernel maintainer included the code and pretended that it was their original creation and nothing of the sort happened so I don't think that word should be used in this context. Nobody doubts the OP wrote the code, nobody is saying that they did not and nobody passes it off as their own.

Re:I got robbed of my first kernel contribution by foldr on Wednesday September 27, 2023 @11:37AM (#37676244)
Misrepresenting your level of reliance on a particular source is plagiarism, and is uncontroversially recognized as such in any other context. If I say that I was inspired to study a particular problem by Paper X, but don't mention that my own paper includes several copied paragraphs of Paper X that I've lightly edited, then that is plagiarism.

If there is a public record that makes it obvious that you've plagiarised, then that doesn't mean you're not guilty of plagiarism. It just means you failed to cover your tracks.

None of this has anything to do with copyright. Not all plagiarism involves copyright violations and not all copyright violations are instances of plagiarism.

Re:I got robbed of my first kernel contribution by jacquesm on Wednesday September 27, 2023 @11:45AM (#37676394)
Well, for me the bar for plagiarism is apparently higher than for you, for me it is 'passing something off as your own' and that never happened here. I'm open to other definitions that I'm not currently aware of.
Re:I got robbed of my first kernel contribution by foldr on Wednesday September 27, 2023 @11:50AM (#37676484)
The commit log and associated metadata misrepresent the authorship of the code.

I am using the bar that you can find by googling 'plagiarism policy' and reading any number of documents explaining what constitutes plagiarism in an academic context.

Plagiarism is not a crime, so the kernel maintainers can choose to decide that it's socially acceptable in the context of kernel development if they want to.

Re:I got robbed of my first kernel contribution by jacquesm on Wednesday September 27, 2023 @11:53AM (#37676541)
I think you just relegated a very large chunk of the Linux kernel to plagiarism.
Re:I got robbed of my first kernel contribution by foldr on Wednesday September 27, 2023 @12:12PM (#37676868)
I'm not sure if I'd agree with a 'very large chunk', but certainly I don't think this is an isolated incident. It's just that people don't usually make a fuss.
Re:I got robbed of my first kernel contribution by jacquesm on Wednesday September 27, 2023 @12:30PM (#37677164)
I think the basic issue stems from the fact that LKML sees patches as 'proposals' unless they can be included as is without further work. And any would-be contributor would be (heh) able to see that for themselves by looking at the many years of documented interaction between maintainers and the general public.

These long running projects all have their own styles and conventions for interaction (LKML itself being one of those) and the onus is on newcomers to familiarize themselves with that. Authorship, especially in the context of a project of this magnitude and with so many different people maintaining different parts of it is always going to be somewhat nebulous, because after all, you're changing a tiny little bit in a huge machine and anything worthy of copyright is usually expected to stand alone as a 'work'. That's definitely not the case here. Personally, I would never expect to be named author of a patch sent to the kernel mailing list, but if I wrote a sizeable subsystem then I would definitely expect that kind of recognition.

For patches like this your pay-off is the fact that they are taken into consideration at all.

Re:I got robbed of my first kernel contribution by foldr on Thursday September 28, 2023 @04:08AM (#37686723)
Rationalize it all you want, but not even the maintainer agrees with you at this point:

https://www.mail-archive.com/[email protected]/m...

> I'm sorry about the way I handled your patch. I should have spent more time working with you to develop your patch.

> I agree that the Reported-by tag doesn't properly reflect the contribution you made, I should have realised that at the time

Re:I got robbed of my first kernel contribution by arghwhat on Wednesday September 27, 2023 @06:22AM (#37672694)
If it was taken verbatim, sure - while perfectly fine under the license, that would be a dick move. But you should also note that the commit contains an additional essay or two's worth of analysis and justification, and includes test sign-off from other people. Even if you disregard the difference in code, the difference in commits is huge.

And as mentioned elsewhere, this issue was submitted to security@, triggering a machine optimized solely for resolving issues quickly and correctly for the safety of the user-base, and not one suited for training new contributors. If this was submitted normally, it's quite likely that this would have gotten merged after an iteration or two - which could easily have taken a week or more.

Re:I got robbed of my first kernel contribution by bluGill on Wednesday September 27, 2023 @10:46AM (#37675414)
Just because the patch was urgent is not an excuse for not giving proper credit. Co-author appears to be the minimum credit.
Re:I got robbed of my first kernel contribution by PH95VuimJjqBqy on Wednesday September 27, 2023 @09:57AM (#37674726)
The maintainer is responsible for quality and correctness. I don't know the specifics of this patch, but it's absolutely not strange for a maintainer to make changes with these goals in mind.

Hell, maintainers are usually more aware of broader concerns than the contributor.

Re:I got robbed of my first kernel contribution by Arnavion on Wednesday September 27, 2023 @10:24AM (#37675103)
I don't know the specifics of the patch either since OP has not linked their patch nor the final kernel commit. I don't understand why being a private list would be a problem since they can just post their patch on their website. Maybe they're waiting for the fix to hit mainline first.

But when someone submits a patch to any of my OSS projects and I want to make modifications to it before I merge it, I either keep the original author as the Author and make myself as Co-Authored-By, or make myself the Author and keep the original author as Co-Authored-By, depending on how much change I had to make to the original patch. In either case I also have the original author review my version to get their approval of my version.

The only case where I would not credit the original author at all (or only as Reported-By) is if my version had absolutely nothing to do with their patch, say they fixed the symptom in file X and I fixed the cause in file Y.

Edit: https://news.ycombinator.com/item?id=37674872 found the patches. If it was my project I'd consider these in the Author/Co-Authored-By category because they're basically the same patch.