Linus is fully capable of writing "fuck", as evidenced by e.g. [1]. If he stars it out, assume it is a stylistic choice for that particular message.
> then I don't think I'd ever contribute to the LKML.
If you can't handle a message like that, then perhaps it's just as well. Note the context (though I can appreciate it may not matter to you, and that you simply won't contribute regardless of it):
A senior developer who have repeatedly made Linus exasperated by submitting code that Linus have had massive issues with, up to and including unacceptable levels of breakage, appears to have written code so idiotic that it should not even have occurred to him. 1 byte reads with sys-calls is a beginner mistake. Kay was/is not a beginner. He also had at that point had repeated complaints from Linus about the quality of his code, and showed no sign of listening.
This conflict eventually culminated in Linus making it clear he'd had enough, and will no longer merge code from Kay until he cleans up his act [2]
While I don't think I'd be as caustic as Linus, I can totally understand the level of exasperation that saga must have caused him given the series of issues in question. And at the point of this outburst, nothing appears to have worked: the stream of crap had kept on coming.
[1] https://lkml.org/lkml/2012/12/23/75
[2] https://plus.google.com/u/0/111049168280159033135/posts/Kd57...
Such conduct is not tolerated in workplaces, where people are paid to contribute, why do you consider it acceptable in an environment where people contribute for free?
On the other hand, in most open source projects you contribute what you want, where you want, and if you don't like the project lead, it takes you as much as closing the browser window to quit.
That said, I don't really know if this is the situation of the people working directly under Linus. ¿Aren't the key kernel developers usually paid by big corporations to work there?
Even between two coworkers of equal status, this behaviour would not be tolerated by a good employer.
I don't mean to put words in your mouth, but are you saying that being exasperated is justification to be arbitrarily caustic?
There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
> There are plenty of open-source project leaders who deal with incorrigible people and do not talk this way.
And a lot of people who "do not talk this way" are a lot worse by dealing with these kind of issues through backstabbing or veiled insults.
While some are saint-like and never say or do a bad thing to contributors, I don't buy that the lack of abrasive language in any way is a reliable indicator of civility.
There is a choice to be made. The choice stems from the basic mindset: am I fundamentally ok with verbally abusing people around me, or should I try to stop doing that?
I don't know what's in Linus' mind. Perhaps he is utterly incapable of never resorting to verbal abuse. But I doubt that's true.
Some people can form that understanding as the basis of their relationship and continue on happily, able to both give and receive this kind of criticism. To others, it is completely foreign and incomprehensible and they don't see the tongue-in-cheek at all and just interpret it as blatant, outright hostility, which is generally not the actual subtext.
Then this is all Linus had to say. This, exactly, is a great sentence on why you'll no longer be accepting code from a party, and sums up both what they can do to get back in, and what other developers can learn from this. There's no need to sink to insults, especially at the level Linus can dish out.
We have to deal with clients so clueless, I don't know how they manage to even email us with the stupid questions. But we're polite to them and when speaking about them publically. We keep the abortion-comments private, between the developers whenever we go out for happy-hour. It's not very hard for the open-source community to do the same. (I know the majority of the open source community does not do this. But a vocal minority do, and the rest of the community seems to be okay with this, when it's not okay).
Linus has no incentive, financial or social, to be nice to Kay. Chewing him out, however, probably lowers his blood pressure and saves him the time of refactoring his immediate emotional reaction into a polite response, both of which are probably critical metrics to him.
Most people are not going to see the context of that statement. I'm sure he had his issues with the developer and the relevant code, but that doesn't excuse such a public display. All he did in that matter is make himself look bad and, to a degree, made his project look bad. As it's been stated elsewhere, such actions most likely just drives people away.
Open source software, especially the big projects, are a public facing entity. Just like any large corporation. A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
Each to their own I suppose.
Most people are never going to contribute to the Linux kernel in the first place. Anyone who is likely to, is likely to 1) actually get at least some cursory knowledge about the community and the process, 2) not deal directly with Linus until they've spent a lot of time getting up to scratch, including submitting patches to sub-system maintainers, 3) get only polite responses from Linus if/when they do deal with him.
I don't think Linus has any reasons at all to be concerned about whether or not people see the context of the statement. The people who don't are not likely to affect his ability to do his job.
> All he did in that matter is make himself look bad and, to a degree, made his project look bad.
Any reasons why Linus should care?
> As it's been stated elsewhere, such actions most likely just drives people away.
Linux does not have a problem with lack of developers trying to get stuff into the kernel. If it drives away some good people, then so be it. If it makes some shitty developers think twice about ignoring repeated admonitions from Linus, then it seems to me like good use of his time.
> A public lashing with this type of language should not be considered healthy for the project nor the open source movement. It only causes negativity within and towards the project with the additional issue, as you show yourself, of not always actually solving the problem.
From my point of view, the negativity tends to show up in discussions like this, rather than in forums where people are actually concerned with these projects. The level of desire for political correctness annoys me greatly. I find a lot of the responses here far worse than the direct language Linus sometimes uses because of insinuations and underlying implications of the statements.
If someone involved in a public facing project open to the masses doesn't care in any way how they appear in public, then that's just a problem that will likely never go away. I suppose as long as people are willing to accept the abuse then it won't negatively affect the project that much in terms of contributions.
Another one, got it. As long as people still continue to desire to contribute then other people's behavior is totally acceptable.
So far, I have yet to see any one person's comment reach the level of the quoted statement. If you can't see that then I guess we'll have to agree to disagree. Also, you are assuming quite a lot about my level of tolerance for political correctness. Simply pointing out that someone behaves in a bad manner and suggest that maybe there was a better way is not political correctness.
Again, we shall have to agree to disagree. Projects will carry on regardless.
Kay had then made /proc/kmesg semantics somewhat weirder, by not blocking but instead returning 0 when the available buffer wasn't big enough to read into; normally, returning 0 to a read indicates that the file has been closed, while if there simply isn't data available yet the call is supposed to block until it is.
So Linus was asking Kay to fix the issue, but also making an aside about how stupid it is to try to read one byte at a time from the kernel.
Now, there was the other incident you mention, in which Linus did get upset enough at Kay for not responding very well to a big report, but this one was not that; he was merely asking Kay to fix a bug, and cursing out some unnamed other developer for having done something as dumb as byte-at-a-time reads.
Not really defending either side here. I find Linus excessively caustic on these issues, and Kay a bit too unwilling to admit when he needs to fix a bug. I feel like Lennart gets way more hate than he deserves; he can be a bit difficult to work with sometimes, but it's crazy how some people think that he's single handedly out to destroy the Linux ecosystem.
I run a lot of software originally written by Lennart (Avahi, Pulse, systemd, heck, I recently even started using ifplugd on systems that still needed to use ifupdown but we wanted to respond properly to network cables being connected and disconnected), and find that it tends to be higher quality, more well designed, and more stable than a lot of the other code in the stack. Due to the fact that much of it changes the "traditional" way that systems worked to a very different but friendlier way, there tend to be a few integration issues along the way for early adopters; if you don't want such integration issues, it's probably best to use a stable distro like RHEL/CentOS or Debian Stable, rather than a quickly updating distro that ships code that's not yet ready for primetime like Ubuntu, Fedora, or Debian testing/unstable.