LinuxCon Japan: Making kernel developers less grumpy
Greg Kroah-Hartman is on something of a mission: reducing the grumpiness factor among kernel developers, and maintainers in particular. His keynote at LinuxCon Japan was meant to help the audience understand what the maintainers do, and how contributors' actions can sometimes result in grumpy maintainers. But, if contributors can follow the rules and make things easier on him, there are a number of things that he will promise to do on their behalf.
He called the Linux kernel the "largest software development project
ever
" and noted that its development pace is
"unprecedented
". From 3.0 to 3.4, some 2833 developers from
at least 373 companies contributed. In that year (from May 2011 to May
2012), the
kernel had a change rate of 5.79 changes per hour. But the rate keeps
increasing and if you look at just the 3.4 cycle, the rate is 7.21 changes
per hour. That is, of course, just patches that are accepted into the
mainline, so it
doesn't count those patches that are rejected.
Developers typically send their changes to the maintainer of the file that is being changed. Those maintainers, who number around 700, feed those changes up to the 130 subsystem maintainers. From there, the patches make their way into linux-next, then to Linus Torvalds, and, eventually the mainline—if they get accepted at each step along the way.
So, in order to see why some patches might not get accepted, he looked at those that he received in the last two weeks, which coincided with the 3.5 merge window. The merge window is a time when he really shouldn't be getting many patches. He should have received them all earlier in the cycle so that he could potentially pass them on to Torvalds during the merge window. But, he said, he got 487 patches in that two-week period, many with a wide variety of problems, and some of those from core kernel developers who should know better.
Broken patches
With that, he launched into a description of some of the broken patches he got. One patch was labeled "patch 48/48" (i.e. the last patch in a set of 48) but all of the other pieces were missing. He also got a patch series with no order specified, which means that he would have to guess at the order and undoubtedly get it wrong. The alternative is to ignore the patch entirely. He also got a ten-patch set that was missing patch two in the series.
Another patch came in an email with a signature claiming that it was confidential. He actually sees that one a lot, he said, and there is nothing he can do with those kinds of patches. Linux development is done in the open and you can't send a confidential email to mailing lists or get a confidential patch merged. Obviously, it is boilerplate that gets added somewhere in the email process, but it has to be removed before the patch can be used.
There are also malformed patches that end up in his inbox, including those with tabs converted to spaces. Microsoft Exchange does that, he said, so if that's a problem in your environment, do what IBM, Microsoft, and others do: put a Linux box in the corner for the developers to use to send their mail. Sometimes the leading spaces have been stripped off the diff or the diff is not in unified format. Linux developers have gotten good at raw editing diff format, he said, which is scary in itself, but they shouldn't have to do that.
Patches are also created in the wrong directory, like down in a driver directory for example. He got a patch created in /usr/src/linux-2.6.32 and noted that there were multiple things wrong with that, including the age of the source tree and that it implied it was being built by root. The latter is very dangerous as there was a bug in the Linux build process at one point that would delete the entire root filesystem if it was run as root. None of the core developers noticed because they don't build as root. Suggestions that the bug be left in as a deterrent were ignored, but things like that can happen.
In addition, patches came in that were made against a different tree than any he would expect. He got a patch made against the SCSI development tree, for reasons unknown because it had nothing to do with SCSI.
Then there are those that don't have the right coding style. In one case,
the coding style was wrong and the developer acknowledged that but wanted
him to take the patch anyway. That gives the impression of "we don't
care, take our code anyway
", he said. There are tools to help find
and fix those kinds of problems, so there is no excuse: "send it in the
right coding style
".
Something he sees much more than he should are patches that don't even compile. The submitter clearly hasn't even built the patch, he said. Or there are patch sets that break the build in 3/6 but then fix it in 6/6. He even got a patch that broke the build in 5/8 but contained a note that sometime in the future the submitter would send changes to fix it. Another patch had obviously wrong kernel-doc in it that would cause failures building the documentation, so it was clear that the contributor had never even tried to run the kernel-doc extraction tool.
One of the patches he got "had nothing to do with me
". It was
an x86 core kernel patch, which is not an area of the kernel he has ever
dealt with.
But the patch was sent only to him. "I get odd patches
" a lot,
he said.
The last patch he mentioned was 450K in size, with 4500 lines added. Somebody suggested that it be broken up, but in the meantime several maintainers actually reviewed it, so the submitter didn't really learn from that mistake.
All of this occurred during a "calm two weeks
", he said.
These are examples of what maintainers deal with on a weekly basis and
explains why
they can be grumpy. That said, he did note that this is the
"best job I've ever had
", but that's not to say it couldn't be
improved.
If someone sends him a patch and he accepts it, that means he may have to
maintain it and fix bugs in it down the road. So it's in his self
interest to ignore the patch, which is an interesting dynamic, he said.
The way around that is to "give me no excuse to reject your
patch
"; it is as simple as that, really.
Rules
Kroah-Hartman then laid out the rules that contributors need to follow in order to avoid the kinds of problems he described. Use checkpatch.pl, he said, because he will run it on your patch and it is a waste of his time to have to forward the results back when it fails. Send the patch to the right people and there is even a script available (get_maintainer.pl) to list the proper people and mailing lists where a patch should be sent.
Send the patch with a proper subject that is "short, sweet, and
descriptive
" because it is going to be in the kernel changelog. It
should not be something like "fix bugs in driver 1/10
". In
addition, the changelog comment should clearly say what the patch does, but
also why it is needed.
Make small changes in patches. You don't replace the scheduler in one
patch, he said, you do it over five years. Small patches make it easier
for reviewers and easier for maintainers to accept. In a ten-patch series,
he might accept the first three, which means that the submitter just needs
to continue working on the last seven. The best thing to do is to make the
patch "obviously correct
", which makes it easy for a
maintainer to accept it.
Echoing the problems he listed earlier, he said that patches should say
what tree they are based on. In addition, the order of the patches is
important, as is not breaking the build. The latter "seems like it
would be obvious
" but he has seen too many patches that fail that
test. To the extent that you can, make sure that the patch works. It is
fine to submit patches for hardware that you don't have access to, but you
should test on any hardware that you do have.
Review comments should not be ignored, he said. It is simply common courtesy if he takes time to review the code that those comments should be acted upon or responded to. It's fine to disagree with review comments, but submitters need to say why they disagree. If a patch gets resent, it should be accompanied with a reason for doing so. When reviewer's comments are ignored, they are unlikely to review code the next time.
Maintainer's role
When you follow those rules there are certain things you can expect from him, Kroah-Hartman said, and that you should expect from the other maintainers as well. That statement may make other maintainers mad, he joked, but it is reasonable to expect certain things. For his part, he will review patches within one or two weeks. Other maintainers do an even better job than that, he said, specifically pointing to David Miller as one who often reviews code within 48 hours of its submission. If you don't get a response to a patch within a week, it is fine to ask him what the status is.
He can't promise that he will always give constructive criticism, but he will
always give "semi-constructive criticism
". Sometimes he is
tired or grumpy, so he can't quite get to the full "constructive" level.
He will also keep submitters informed of the status of their patch. He has
scripts that will help him do so, and let the submitter know when the patch
gets merged into
his tree or accepted into the mainline. That is unlike some other
maintainers, he said, where he has submitted patches that just drop into a
"big black hole
" before eventually popping up in the mainline
three months later.
He ended by putting up a quote from
Torvalds ("Publicly making fun of people is half the fun of open
source programming. ...
") that was made as a comment on one of
Kroah-Hartman's Google+ postings. The post
was a rant about a driver that had been submitted, which even contained
comments suggesting that it should not be submitted upstream. He felt bad about
publicly posting that at first, but Torvalds's comment made him rethink that.
Because kernel development is done in the open, we are taking
"personal pride in the work we do
". As the code comment indicated,
the driver developer didn't think it should be submitted because
they realized the code was not in the proper shape to do so. It is that
pride in the work that "makes Linux the best engineering project
ever
", he said. Sometimes public mocking is part of the process and
can actually help instill that pride more widely.
[ The author would like to thank the Linux Foundation for assistance with his travel to Yokohama. ]
| Index entries for this article | |
|---|---|
| Kernel | Development model |
| Conference | LinuxCon Japan/2012 |
Posted Jun 7, 2012 8:55 UTC (Thu)
by dgm (subscriber, #49227)
[Link] (26 responses)
Indeed. There's no pride in contributing to a project that would accept the uttermost trash. Or as Groucho put it: "I don't care to belong to any club that will have me as a member".
Posted Jun 8, 2012 1:10 UTC (Fri)
by gdt (subscriber, #6284)
[Link] (25 responses)
And sometime public mocking is counter-productive. Here's an example from yesterday where a developer was mocked for no good purpose (the API documentation was out of date, and they were asking how it now worked). I wonder if the developer feels as motivated about contributing to the kernel as they did before that thread. The level of blame towards the developer rather than towards the patch which didn't update the documentation is interesting.
Posted Jun 8, 2012 1:25 UTC (Fri)
by gregkh (subscriber, #8)
[Link] (23 responses)
We are people, and people are messy, kernel developers have no requirement to always be civil, especially to people to purposefully do not participate in our development process, and then blame us for problems.
What would you do in that situation?
Posted Jun 8, 2012 2:38 UTC (Fri)
by rahulsundaram (subscriber, #21946)
[Link] (21 responses)
Posted Jun 8, 2012 4:50 UTC (Fri)
by gregkh (subscriber, #8)
[Link] (19 responses)
And read that whole thread, this person is obviously trying to work outside of the kernel developer community, they don't want to be involved, they only want validation that they were using some kernel code based on a documentation line, instead of reading the code itself.
So tell me, honestly, how would you respond in that kind of situation.
Now multiply that interaction by 400 every week.
Tell me how you would react then.
I think we all are doing a very good job given the load we all work under. If you think you can do better, please, help out, we can use it, and we welcome help. But criticizing without understanding the issues, environment, or situation surrounding a specific interaction, does nothing.
Posted Jun 8, 2012 19:41 UTC (Fri)
by daglwn (guest, #65432)
[Link] (12 responses)
Sure, but so what? That kind of behavior would not be tolerated in any workplace and it shouldn't be tolerated in any project that considers itself professional.
Posted Jun 8, 2012 19:58 UTC (Fri)
by dlang (guest, #313)
[Link] (8 responses)
or complaining that the add-on component that the outsider designed to plugin to the companies devices didn't work and demanded time from your senior engineers to help troubleshoot the outside product?
I guarantee you that if you did manage to corner senior people like this you wouldn't get thanks and help. At best you would get a polite brush-off (and instructions to pay for support)
so if you're going to start the "wouldn't be tolerated in the workplace" approach, realize that the initial request wouldn't be tolerated either
Posted Jun 9, 2012 3:51 UTC (Sat)
by daglwn (guest, #65432)
[Link] (7 responses)
Which is a perfectly fine response, and is what SHOULD happen on LKML.
There is a difference between saying "no" and publicly humiliating.
Posted Jun 11, 2012 5:48 UTC (Mon)
by broonie (subscriber, #7078)
[Link] (6 responses)
Posted Jun 11, 2012 16:44 UTC (Mon)
by daglwn (guest, #65432)
[Link] (5 responses)
Posted Jun 13, 2012 13:36 UTC (Wed)
by broonie (subscriber, #7078)
[Link]
It's just a generally bad way of correcting people's behavior.
Posted Jun 13, 2012 22:32 UTC (Wed)
by nevets (subscriber, #11875)
[Link] (3 responses)
I've been complimented on being one of the politest developers on LKML. I jump into heated flames all the time without resorting to insults, even when insults are directed at me.
But as I started working on more core kernel code, and becoming more responsible for code that was used by a wider audience, I started getting some of these crazy requests. I started with the polite responses, but that just seemed to bring more craziness my direction. Then the polite brush offs, which also attracted this crap. Ignoring it made me look unprofessional (not responding to email). Finally I resorted to some insulting feedback and that seemed to work.
I wasted my own time trying to be nice. One thing that you can get from Greg's report is that kernel developers have very limited time. Time is our most precious resource. If being polite wastes time, and a quick jab is more effective, then those quick jabs become the efficient process.
Sorry, but unfortunately it's just part of the job. Now, as we are still humans, some developers can go overboard with their insults. But just imagine getting email every day from people that don't make the effort to understand the process. When being a bit of a jerk back either makes them understand or just go away, and you get more work done, one tends on being that jerk.
If you're creative with your insult you might even get the added benefit of appearing on LWN's "Quote of the week" :-)
Posted Jun 18, 2012 12:36 UTC (Mon)
by marcH (subscriber, #57642)
[Link] (2 responses)
Answering harassment or trolls is anything but professional. Ignoring harassment is definitely professional.
Whom do you trust to define what is professional versus not, the harassers?
Posted Jun 18, 2012 15:05 UTC (Mon)
by nevets (subscriber, #11875)
[Link] (1 responses)
But it's usually people that expect something for nothing, or just do not listen to the responses you give. After a bit of explaining the same thing multiple times, and getting the same answer back without it going any further, is where one starts to get frustrated, and a quick jab can sometimes wake them up.
Posted Jun 18, 2012 16:36 UTC (Mon)
by marcH (subscriber, #57642)
[Link]
This what I called "harassment". Please search/replace with a better term, thanks.
Posted Jun 8, 2012 19:59 UTC (Fri)
by branden (guest, #7029)
[Link] (2 responses)
You should watch the movie _Glengarry Glen Ross_ sometime.
Posted Jun 9, 2012 3:49 UTC (Sat)
by daglwn (guest, #65432)
[Link] (1 responses)
Posted Jun 12, 2012 12:38 UTC (Tue)
by mpr22 (subscriber, #60784)
[Link]
A number of factors.
Posted Jun 9, 2012 1:52 UTC (Sat)
by daniel (guest, #3181)
[Link] (2 responses)
Posted Jun 9, 2012 3:04 UTC (Sat)
by gregkh (subscriber, #8)
[Link] (1 responses)
*plonk*
Posted Jun 9, 2012 3:52 UTC (Sat)
by daglwn (guest, #65432)
[Link]
Posted Jun 9, 2012 4:57 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link] (1 responses)
Posted Jun 13, 2012 22:47 UTC (Wed)
by nevets (subscriber, #11875)
[Link]
But really, I've seen LKML actually become much more professional and less insulting. 8 years ago it was more vicious. I've seen people get insulted for no good reason, and the insults were quite nasty. Today, and even the example someone posted here, the insults come after a lot of back and forth where no progress is made, and the developer finally gets frustrated. You can even see the frustration in the insults.
Sometimes its just that the person on the other end isn't getting the point of the developer. Lots of miscommunication. That's natural. My point is that on the whole, kernel developers are pretty good to you if you just try to make an effort, and hide your ego. The last thing a developer wants is code coming from someone that says they know better than the developer. Sure, they may know more, but it works much better if you show them benchmarks and numbers to back your work, than just saying "I'm an expert in this".
Posted Jun 9, 2012 19:13 UTC (Sat)
by marcH (subscriber, #57642)
[Link]
The only sane way: like a robot.
Please just stop caring and send 400 pre-canned, polite, terse and relevant answers per week. I am sure you are well able of automating your email software so the time required to select and send such a pre-canned answer becomes negligible compared to the time actually spent reading the corresponding submission. Bonus: you save time for the interesting submissions & discussions.
Real people have feelings. Silencing them when needed is part of being a professional.
Posted Jun 10, 2012 2:08 UTC (Sun)
by gdt (subscriber, #6284)
[Link]
Exactly this. I was reading the list with a view to cleaning and submitting my years-old patches to add NAT for Cisco Sippy phones and for per-route TCP algorithm selection. What that exchange says to me is "it isn't worth the angst and that I'd be happier doing one of the 101 other things competing for time in my life".
Posted Jun 8, 2012 18:37 UTC (Fri)
by daglwn (guest, #65432)
[Link]
I would even throw in a "thank you" for finding a documentation bug.
Posted Jul 13, 2012 10:20 UTC (Fri)
by dmk (guest, #50141)
[Link]
I guess, that message would have been better with the hint that if the documentation is wrong, the correct thing is to sent a patch to fix it, not to bitch about it.
Posted Jun 7, 2012 9:34 UTC (Thu)
by epa (subscriber, #39769)
[Link] (11 responses)
Posted Jun 7, 2012 10:06 UTC (Thu)
by aliguori (subscriber, #30636)
[Link] (9 responses)
Posted Jun 7, 2012 13:04 UTC (Thu)
by jengelh (guest, #33263)
[Link] (8 responses)
I do not think so. A pull request, in properly-organized circles, always involves an implicit request for review — which is why you can see "this is not ready yet"-type of warnings when the pull is not really meant as a pull, but as a review only that just happens to look like a pull request; git-request-pull(1) just makes for a short statistical overview.
Posted Jun 7, 2012 16:03 UTC (Thu)
by iabervon (subscriber, #722)
[Link] (4 responses)
Posted Jun 7, 2012 17:01 UTC (Thu)
by epa (subscriber, #39769)
[Link] (2 responses)
A pull request makes more sense, in a way, since if you want to view the code differences in a different format you can do so easily.
Posted Jun 7, 2012 17:33 UTC (Thu)
by iabervon (subscriber, #722)
[Link] (1 responses)
Of course, this is only relevant if the project communication is mailing-list-based, and particularly if it's got policies which imply that participants must have heavy-duty email-handling techniques; that's not all (or even most) projects, but it is the kernel.
Posted Jun 9, 2012 20:29 UTC (Sat)
by marcH (subscriber, #57642)
[Link]
Posted Jun 7, 2012 18:44 UTC (Thu)
by jengelh (guest, #33263)
[Link]
Pull requests without patches may work in some circles. However, where trees grow by the gardening rules of David Miller — and the networking tree has been named as an organized citizen by LWN before, sort of —, pulls better had patches alongside.
Do `git send-email --compose ...`, and while in the editor, run-and-paste the output of `git request-pull ...`.
Posted Jun 9, 2012 20:09 UTC (Sat)
by marcH (subscriber, #57642)
[Link] (2 responses)
> I do not think so. A pull request, in properly-organized circles, always involves an implicit request for review
Should be called a fetch request.
Posted Jun 10, 2012 18:29 UTC (Sun)
by mathstuf (subscriber, #69389)
[Link] (1 responses)
Posted Jun 11, 2012 6:56 UTC (Mon)
by marcH (subscriber, #57642)
[Link]
So, if I ask you to fetch my (not ready yet) code you will do it just to waste bandwidth?
Posted Jun 11, 2012 5:51 UTC (Mon)
by broonie (subscriber, #7078)
[Link]
Posted Jun 9, 2012 2:26 UTC (Sat)
by daniel (guest, #3181)
[Link] (27 responses)
Posted Jun 9, 2012 3:55 UTC (Sat)
by daglwn (guest, #65432)
[Link] (2 responses)
Thank you.
We have to stop accepting antisocial behavior because "that's the way it always has been." It's NOT the way it always has been nor should it be the way it will be.
Posted Jun 9, 2012 20:18 UTC (Sat)
by marcH (subscriber, #57642)
[Link] (1 responses)
Posted Jun 11, 2012 18:37 UTC (Mon)
by daglwn (guest, #65432)
[Link]
Posted Jun 9, 2012 6:05 UTC (Sat)
by viro (subscriber, #7872)
[Link] (2 responses)
Posted Jun 11, 2012 11:30 UTC (Mon)
by nix (subscriber, #2304)
[Link]
Posted Jun 11, 2012 18:40 UTC (Mon)
by daglwn (guest, #65432)
[Link]
Posted Jun 10, 2012 17:25 UTC (Sun)
by gregkh (subscriber, #8)
[Link] (20 responses)
How do you expect for people to get better, and create better code, if this does not happen?
Should we just say things like "not accepted" and leave it at that? That helps no one.
Posted Jun 10, 2012 17:44 UTC (Sun)
by rahulsundaram (subscriber, #21946)
[Link] (5 responses)
Posted Jun 11, 2012 5:58 UTC (Mon)
by broonie (subscriber, #7078)
[Link] (3 responses)
Posted Jun 18, 2012 13:23 UTC (Mon)
by marcH (subscriber, #57642)
[Link] (2 responses)
"Something stronger" is very helpful (in the short term) to the overworked maintainer who needs to let off steam. It'd be great to see proof it is actually effective at anything else.
In this example insults apparently did nothing to quench the thread
(by the way painful people and children tend to feel disregard much stronger than mocking, since the latter is a form of the attention they're after)
Posted Jun 22, 2012 17:51 UTC (Fri)
by martinfick (subscriber, #4455)
[Link] (1 responses)
Posted Jun 22, 2012 22:27 UTC (Fri)
by marcH (subscriber, #57642)
[Link]
Anyway pain is not really the main issue with mocking (you might have re-ordered one of my sentences when reading and misplaced "painful"). The main issue with mocking and public humiliation is: it degrades not just the persons involved but the whole group. That could explain why it is much less tolerated in Asian cultures which are often less individualistic.
Posted Jun 11, 2012 8:44 UTC (Mon)
by dgm (subscriber, #49227)
[Link]
I guess most reviewers start as you say (nobody wants to be a dork, after all). It's when you exhaust your patience that the mocking starts.
Posted Jun 11, 2012 16:47 UTC (Mon)
by daglwn (guest, #65432)
[Link] (13 responses)
No, the mocking is about something very different. It's about the mocker feeling better about himself.
Posted Jun 12, 2012 0:41 UTC (Tue)
by gregkh (subscriber, #8)
[Link] (12 responses)
I don't "mock" people, I critique code, and sometimes, that includes pointing out horrible examples of where the author went totally wrong, in the code. If you were someone who relies on Linux, don't you want the maintainers doing that in order to ensure that the code is of the highest quality?
Take some time this week and provide review comments on code submissions to the Linux kernel. That will help everyone out (the authors, and the maintainers), and give you a glimpse of how difficult this task really is.
Posted Jun 12, 2012 1:57 UTC (Tue)
by daglwn (guest, #65432)
[Link] (11 responses)
Not if you're making personal attacks, no.
> I don't "mock" people, I critique code, and sometimes, that includes
It's all about the language. It really is. Providing a strong critique is good. Calling someone or something someone has created "stupid" is not.
Your whole talk is predicated on the assumption that the only the contributors are doing it wrong. There are two sides to this coin and the maintainers also need to improve. I could give an equally compelling talk about how to make contributors less grumpy. We're all human and we all have improving to do.
I've been through enough code reviews to know that it is challenging. Much of the challenge is in remaining professional and taking the time to mentor people rather than castigate them.
Posted Jun 12, 2012 4:34 UTC (Tue)
by jrn (subscriber, #64214)
[Link] (9 responses)
Why not? Isn't it a useful way to teach people to start looking at the effect (both direct and on maintainability) of their own work critically and to think less sentimentally about their code?
Plenty of people have told me some code that I wrote was stupid and been right. I am generally grateful for the reality check.
Posted Jun 12, 2012 6:20 UTC (Tue)
by liw (subscriber, #6379)
[Link] (8 responses)
For most instances of Bob, it doesn't help him to be taught that way. Some instances of Bob don't care, and will learn anyway, but those instances are in the minority. The majority of Bobs will be upset, and hurt, and will have a hard time accepting any lessons from the experience, and indeed may well have a harder time accepting any lessons from that teacher in the future.
Now, it's true that the emotional lives of 8-year-olds and adults are different. On the whole, adults can take more emotional stress and conflict, but the general effect is the same, just less strong.
There is a subset of programmers who have what is called a thick skin: they can take a lot more abuse than the average person without being upset much. Given the way text-only communication over the Internet tends to filter away subtle emotional expressions, it's very easy to express yourself in a way that seems neutral to you, but feels hurtful to the recipient. Without an effort to avoid that, mailing lists for free software development tend to push out those who are more easily hurt, making the list be mainly populated by those with thick skins.
That's not a good thing. Apart from any moral aspects, it reduces the number of potential participants a lot: those who submit patches and feel hurt, and those who are watching and decide to not even submit a patch.
Note that this is all about how you express criticism, not at all about having to be accepting and supporting of anyone who submits any kind of patch. It's perfectly fine to criticize and reject patches. You can, however, be nice about it.
Posted Jun 12, 2012 7:23 UTC (Tue)
by bronson (subscriber, #4806)
[Link] (1 responses)
There's no need to encourage every mediocre Bob. There's only a need to encourage excellent, self-motivated Roberts, and to actively discourage well-meaning but noisy Bobbies.
Posted Jun 12, 2012 8:03 UTC (Tue)
by dgm (subscriber, #49227)
[Link]
Posted Jun 12, 2012 8:36 UTC (Tue)
by dgm (subscriber, #49227)
[Link] (2 responses)
Last time I looked there was not a shortage of people submitting patches, but of people reviewing them. And also, when calling someone "a moron" openly on a mailing lists opens yourself to a lot of criticism, thus people try to avoid doing it unless they have good reasons.
In practice (not that I follow LKML that much lately, but still) I haven't seen people calling newbies "noob" or "stupid" just because, but when they did something stupid indeed. If someone does, they tend to get routed around by the rest of the community, because they tend to be "toxic" people.
To summarize: If Linus Torvalds calls you names, better pay attention. And better ask first and try to educate yourself before posting stuff on a mailing list full of busy people.
And let me tell you a little tale, too:
After that episode, Bob's father tries to avoid using harsh words. It's his own fault, after all. A week later, while Bob's father observes the remains of the burnt family kitchen, he cannot avoid to ask himself if this all could have been prevented somehow."
Posted Jun 14, 2012 8:55 UTC (Thu)
by spanezz (guest, #56653)
[Link] (1 responses)
My feeling of distress towards people advocating mocking people in public is kind of being shadowed by your disturbing choice of example.
I would expect that any normal father would, on seeing that Bob is playing with a dangerous knife, tell him that he should help dad with that only after he grew up a bit and has more experience with dangerous tools. And if Bob is really interested in helping with knives, give him a small blunt knife to help cut soft fruit for the fruit salad.
That also sounds like a reasonable, grown up reply (aside of course of the patronising tone) to inexperienced but eager people wasting other people's time on LKML.
Posted Jun 17, 2012 7:17 UTC (Sun)
by yeti-dn (guest, #46560)
[Link]
Posted Jun 12, 2012 17:28 UTC (Tue)
by gregkh (subscriber, #8)
[Link]
So, something we are doing is correct here. Remember, we have a overabundance of kernel developers, and we purposefully waste their time in order to make the project better overall. And so far, it seems to be working, if you think otherwise, that's great, how do you prove that?
Posted Jun 13, 2012 4:57 UTC (Wed)
by jrn (subscriber, #64214)
[Link] (1 responses)
I agree with what you said. It suggests to me that providing a strong critique is not always good, at least in public, unless you are very tactful. Better to find a minimal set of hints that makes it clear what people interested in the patch can do next.
Posted Jun 13, 2012 18:02 UTC (Wed)
by bronson (subscriber, #4806)
[Link]
Neither of which is currently the case.
Posted Jun 12, 2012 17:26 UTC (Tue)
by gregkh (subscriber, #8)
[Link]
Have you read or seen this talk? I do not think that was the assumption at all, and I pointed out that the large majority of patches I get are just fine, but I still get lots of incorrect ones, and here are some specific examples of what not to do.
It is not my job to mentor anyone, which people here seem to forget. It is my job to guide them in how to correct incorrect code, up to a point.
For each and every maintainer to be a personal mentor to the thousands of kernel developers does not scale at all, and is not anything that anyone has ever said is the job of any kernel developer or maintainer to do.
Remember, we waste kernel engineer's time, as that is what we have a surplus of at this point (and have for the past 8 years or so.) We do this so that the project overall gets better and succeeds, and so far, we seem to be doing a good job at this. If you have statistics that point out otherwise, please let us know.
Posted Jun 26, 2012 19:15 UTC (Tue)
by dvhart (guest, #19636)
[Link]
Posted Jun 30, 2013 20:41 UTC (Sun)
by yuhong (guest, #57183)
[Link]
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
tree, so that others can not fix their bugs, so of course that will be difficult, and when that author blames other people for problems, wouldn't you respond in the same manner?
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
<br><br>
Greg, so how can I avoid concluding from your comment that if a maintainer really feels like being mean then it is ok, because that is just a real person who really feels like being mean?
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
>
> Tell me how you would react then.
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
Still emailing patches?
Still emailing patches?
Still emailing patches?
Still emailing patches?
Still emailing patches?
Still emailing patches?
Still emailing patches?
Is there here an aversion to databases generally speaking? Or maybe it's just because many maintainers have become too attached to their hard-earned email scripts and shortcuts.
Still emailing patches?
Still emailing patches?
Still emailing patches?
Still emailing patches?
Still emailing patches?
Sometimes public mocking is part of the process and can actually help instill that pride more widely.
LinuxCon Japan: Making kernel developers less grumpy
Jon, you are not helping to improve the toxic culture on LKML by glorifying such antisocial behavior. And it is not OK just because Linus says it is fun. Sometimes Linus says really dumb things and we think it is ok because it is Linus. But we don't then need to go on and repeat those dumb things, because we are not Linus.
By the way, would you consider putting a copy of the "preview" button to the left of the "publish" button?
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
http://article.gmane.org/gmane.linux.kernel/1281217
Only disregard looks like it eventually had an effect.
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
For a start, there is not one single type/scale of pain.
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
> pointing out horrible examples of where the author went totally wrong, in > the code.
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
"Bob has come to the kitchen, where his father is cooking dinner. While his father is not looking, he grabs a knife and starts cutting some vegetables, just like he has seen his father do so many times. But Bob is not very good at handling the knife, and it's too big for his hands. His father, hearing the noise, tells his son how to properly handle the knife, and then keeps on with the cooking. A minute later both are running to the hospital because Bob has a deep bleeding cut on his left hand.
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
LinuxCon Japan: Making kernel developers less grumpy
On Exchange and tabs to spaces...
