Linus is stubborn, persistent, and unyielding to what he sees as bullshit. These I believe are all very valuable qualities for the head of a massive software project, and may be part of the reason as to why Linux is where it is today.
However, Linus is also a bit of an asshole, turning technical criticism into personal seemingly personal attacks. I believe those 2 sets of qualities are separable, but I would guess it's uncommon to find many people who are capable of being as tough as Linus without in some way alienating those around them, it's a fine line at times.
Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times. Whether by genetics or through childhood, I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality). We often label people who are all smiles while simultaneously extremely strict as passive agressive. Add to that the fact that many technical people are less socially adjusted than average and I can see why we have so many examples of mean but effective project leads.
I feel like anyone who says "Linus was harsh but fair" never really read much of what Linus said.
Many of his attacks, especially long ago, were quite vitriolic and very much not technical. Oftentimes they weren't rants, just flat out insults, short and mean (I remember, in particular, posts directed towards PaX). They weren't productive, there wasn't a brash technical take buried in them - they were just insults.
Many people seem to just remember snippets of his more popular, more recent rants, which sometimes have some technical take in there at the least, but also, in my opinion, cross well over the line into personal attacks.
Glad he's owning up to the fact that he has some serious social baggage to deal with. I don't foresee the linux kernel community changing much in the near term though.
It might be worth noting that the people who do say he’s harsh but fair are people who actually comment on his rants.
When I see another on HN I scroll past it, because I’m not interested in the sensation. I can’t imagine I’m the only one.
Then there are people who do see his rants as a model, or who do like the sensation and do like the spice. Those people are far more likely to discuss it, repeat it, mimick it or indeed condone it.
I never understood the vitriol, because he could have just said they weren't up to spec. And when people don't fix bugs, just suspend taking their patches and say that.
In the case of PaX, there is definitely a conflict between the later commercial concept (pay to receive these patches to a GPL2 product) and the integration of security features in a comprehensible way in mainline. Brad Spengler is right that big corporations use his work for no recompense (gotta love the cancer that is Oracle), but tbh many of the patches are hard to grok. And Linus had a ridiculous 'security bugs are just bugs' attitude, opposed to the additional complexity added in some patches. I think many of the mitigation techniques are painful and have ramifications on many other areas -- but the larger redesign just wasn't being done. And they are both ascerbic individuals.
I thought his rants directed at Kees Cook were worse. He is allowed to reject everything insufficiently tested, so why doesn't he just do that? Anyway, Kees was a model of restraint.
I'm probably going to be alone in saying so, but I always enjoyed Linus and his attitude.
(to me) it made him appear honest and dedicated to (his own) goals, and I always felt like that was respectable. (mostly) whenever he was proven technically wrong about how to do something he would concede to the technically better solution, and if he didn't do so he gave reasons for his conclusion.
in other words : his technical brilliance, in my own opinion, was a far larger boon than the problems stemming from having to deal with his knife-like personality.
"in other words : his technical brilliance, in my own opinion, was a far larger boon than the problems stemming from having to deal with his knife-like personality."
One thing that is true in all successful organizations over time is that for any given person, no amount of genius will make up for being an asshole.
It may take time, etc, but eventually, it ends up a significant net negative for the organization.
The sooner folks are forced to deal with it, the better off the organization ends up in the long run.
It also turns out you can be effective at dealing with people and still be brilliant, and it usually doesn't take a lot more than spending more energy in being self aware and trying to see the perspectives of others.
Same. Linus always called a spade a spade, and I always respected that. In a culture where the Overton window has shrunk considerably and people habitually hide their thoughts, I think this kind of attitude is more important, not less. People give up ability to say certain things in the name of inclusion, and then lose ability to think those things in the first place.
I'll take an asshole over a pushover any day, and most of us are pushovers.
It's easy to enjoy a spectacle like that from the stands but if you had a boss like that you'd be a nervous wreck. Linus realizes that his behavior's far from optimal, though changing isn't easy as we all know.
Total aside, I'm a spoken word poet and performer. The original Poetry Slam started in Chicago and it's still run by the original guy; a dude who is kinda a dick and encourages the audience to be rude and boo people off stage who are bad.
I use to think this was kinda neat; you know where you stand right? I went up on the open mic several week and did really well. I saw some people get booed off stage that were really terrible, but a few that I really enjoyed -- they typically got booed off due to people not liking the content.
Then I eventually did a narrative about a prostitute in LA. I almost changed what I was going to do since I realized it was an x-mas show and maybe I should do something brighter/happier. But I've had other experiences where changing last minute was a bad idea, so I stuck to my guns and got booed off stage.
I was told I went too long, but people were already hissing at me for all the parts about the prostitute growing up on the streets.
I've gotten good feedback every other time I've done this story. I misread the audience, theme and time of the year.
I thought the booing was a good thing, until it happened to me. I've literally done shows in Dublin, Edinburgh, Melbourne, Denver, Vegas and I've never seen any other venue do anything remotely similar at their open mics. Some have a timer and go are pushed off stage if you go over, but the audience is never encouraged or praised for being rude.
In the comedy circuit, we stopped heckling and booing people off stage years ago. You can push the edge of jokes, but you don't disrespect people on stage .. unless they go over time.
The guy who runs the Chicago scene is the first and the original in this concept of Spoken Word, and the scene is crusty and old just like him. I know a number of performers who hate going there and I think I'm included too.
I still think the master/slave thing with Redis was/is dumb. But with Torvalds .. I am glad that he said this, in the way he did. I think he could benefit from the basic rules on StackOverflow. You can simply say, "I don't think that's going to work because of x, y, z. Look at commit x and try doing a, b and c instead and resubmit," compared to the yelling we've often seen.
I've generally been against code of conducts, maybe because I've only seen them misused or people get pushed out for non-clean/arbitrary reasons. But maybe we're moving into a new era? Who knows, but I hope we find a balance in the middle.
And I still don't think the Redis guy should have made that change; but asked the issue requester to submit a patch with all the changes if they wanted them.
I agree. I liked his rants, I found them entertaining, and I wish I was the target of one! (I would probably need to work on my coding skills first.) I wish people would grow thicker skins and get more emotionally mature, and be able to tolerate harsh words without taking them personally.
I too appreciated his style of candor at times. I hope that he is able to find a way to keep being Linus while also not resorting to personal attacks, and I applaud him for reflecting on his actions.
Way to go Linus... this is a great lesson for all of us!
It's easy to get caught-up in the heat of the moment and say and do things that we regret. We've all done it. It's part of being human. The key is to realize it, apologize and do better.
I think one has to be fair about what sort of asshole Linus is. He is not like Steve Jobs, Balmer and Gates who could be vindictive and get personal.
For Linus it is more about being far too blunt. But you can clearly see Linus himself being aware of it and having some humbleness about it. Jobs in contrast would never admit his bad behavior.
As a fellow Nordic (Norwegian) I feel a significant component of this is simply Nordic cultural trait. We are quite blunt. We value honesty and directness. However Finns I believe are farther out on that spectrum.
The second parts is that I think he has probably mild asperger traits. I have that, my wife and oldest son. That does not make you an asshole. I don’t talk like Linus but it can mean you often are not able to pick up other people’s emotional state.
Keep in mind this is very different from being a psychopath. They can pick up other people’s emotions but don’t care of they are hurting them. Somebody with asperger don’t want to intentionally hurt others but may do so accidentally by not reading the person properly. Somebody with Asperger is willing to admit they have a problem that needs fixing just like Linus.
A psychopath does not think he/she has a problem that needs fixing.
I agree, he seemed to only get personal when he knew the developer, and it seemed like it was mainly because he knew that they knew better, but were still submitting bad patches anyway. I still remember seeing an email response to someone who was just starting college and was telling Linus that he thought the way they were using spinlocks in the kernel was wrong. Linus knew they didn't know any better, so he didn't insult them, and went into a lengthy email about why they were doing things the way they did, and how the student's professor had taught them wrong.
Even though Finns can be much more blunt than people are used to, I think he recognized a while ago that he was going beyond being blunt. During a conference in Australia, someone asked him about how people perceived his attitude and it's effect on the kernel community. He told them that he's not a nice person, he doesn't know why people think he would be, and that if people enter the community with that in mind, they'll stop feeling like they're being personally attacked.
Agree. I also think it's very important to point out that he has been doing an insane amount of work, under an insane amount of pressure (and not just external, also internal, by his own character), for decades. Anyone who is minimally obsessive and has been leading a project involving a lot of people for a while knows the feeling. Now, with open source it can get even trickier, and the scale of the work he has been doing is comparable to few other projects.
This is not to excuse him. But when he acknowledges it himself, I think everyone should be empathetic with that. I think that judging without taking the context into account is outright cruel. Universal morality standards are cool, but we shouldn't forget that in the end we are all still just humans. We all make unforgivable mistakes. Only some of us realize and admit them.
Have certainly experienced much more direct communication styles, e.g. in Holland, than are the norm in say UK.
I remember a seminar taught by US lady in Holland where at the end of the first day she said she had never experienced so much of what she perceived as aggression. We talked it through at the beginning of the second day and put most of it down to cultural differences.
I also got the impression from the way he described the situation about him not being good at reading emotions that it could be aspergers. That would be a good thing since there are many ways for him to mitigate issues around his emotional awareness, mostly by just understanding how he is different.
Here is an example that I believe is more than just "being far too blunt"[0], it's not the worst example I can remember but it is the first one I found. In my opinion his major issue is that he grandstands, he goes beyond being just blunt and becomes unnecessarily derogatory. If his issue was with being too blunt (and I suspect you'll find that most people don't consider being too blunt to be that much of an issue compared to his other faults) that email would look something like this:
> The conflict I get is due to stupid new gcc header file crap. But the
> reason I'm rejecting this is that I just don't think it brings in any
> positive value.
> This is the old code in net/ipv6/ip6_output.c:
> mtu -= hlen + sizeof(struct frag_hdr);
> and this is the new "improved" code that uses fancy stuff that wants
> magical built-in compiler support and has silly wrapper functions for
> when it doesn't exist:
> if (overflow_usub(mtu, hlen + sizeof(struct frag_hdr), &mtu) ||
> mtu <= 7)
> goto fail_toobig;
> The above code generates shit code
> <insert evidence that generated code is shit>
> and it's a lot more difficult for people to read.
> The code could easily have been done with just a single and
> understandable conditional, and the compiler would actually have
> generated better code, and the code would look better and more
> understandable.
> <evidence of this statement too>
> Why is this not
> if (mtu < hlen + sizeof(struct frag_hdr) + 8)
> goto fail_toobig;
> mtu -= hlen + sizeof(struct frag_hdr);
> which is the same number of lines, doesn't use helper functions that
> most people are unfamiliar with, and is much more obvious what it
> actually does.
> The second more obvious version is easier to read and understand. Does
> anybody disagree with this?
> Obviously you still could have overflow issues if the whole "hlen +
> xyz" expression overflows, but the "overflow_usub()" code had that
> too. So if that's the reason that this change was introduced then
> it hasn't actually fixed anything.
> I really do feel like this code was designed to use that
> new "overflow_usub()" code, it seems to be an excuse to use that
> function. Am I missing something here?
> Just to be clear I will always try to make sure that code which offers no
> positive value does not make it into the code base, regardless of where
> in the code it's being added.
> Linus
This is still just as blunt (I do think this would be more effective if it wasn't as blunt, I just wanted to try to show that being blunt wasn't the main issue), but it doesn't have the unnecessary grandstanding and derogatory comments. The main problem with the was Linus used to conduct himself is that he puts people on the defensive, and when people are on the defensive they have a much harder time admitting that they were wrong or learning anything.
I don't actually expect Linus to come back any less blunt, I expect him to come back less aggressive and derogatory.
Many people are so afraid of ending up in the bottom right (just giving in) that they head for the top left (zero-sum competition).
This underlies some of the things people fear about codes of conduct; they're afraid that they're being pushed into that bottom right corner, rather than striving for better collaboration.
Be direct. Be clear. Seek the best solution. Don't be awful to people while doing it.
Newton was an asshole too. The whole "apple fell on his head" story came about because he was so mean to people.
I won't say that most geniuses are inempathetic, but many are. Einstein wasn't, some say Gauss was. Beethoven was. Linus is. And we'll accept Linus's attitude for being an aversion to bullshit, just the quality that we need in a kernel maintainer.
I'm glad to see that Linus finally realizes that he has a problem, but truth be told I'd selfishly rather that he keep his problem because I doubt that he could steer his ship without it. I hope to be proven wrong.
Thinking that Newton's success is caused or strongly correlated to him being an asshole seems to be begging the question. Why can't we just as well argue his achievements were intrinsically linked to his fanatical religious belief? After all, we can at least quantify the latter -- it's said that at least half of his writing was on religious subjects.
Newton was an asshole in an era when men being assholes was, in essence, acceptable. There is no evidence that being an asshole is a requirement for being a successful innovator or leader.
Yes, the assholishness probably comes from the same place as the drive that makes things happen. However, Linus isn't a lone scientist, he's a leader, so exercising more self control will make him more effective. He isn't going to lose his drive, he's just going to discipline his expression of emotions. He does seem to grok this so I'm not worried.
> just the quality that we need in a kernel maintainer.
I disagree this is the case. "This is how it's been done" is a terrible excuse for anything. This attempt at protection of the status quo is wrong because almost without exception the status quo is sub optimal.
> because I doubt that he could steer his ship without it
The other huge news here, both for Linux and for numerous other communities trying to make similar changes:
The most recent commit, right before the release, deletes Linux's "Code of Conflict" and replaces it with a real Code of Conduct, the Contributor Covenant.
> Explicit guidelines have demonstrated success in other projects and other areas of the kernel.
> Here is a Code of Conduct statement for the wider kernel. It is based on the Contributor Covenant as described at www.contributor-covenant.org
> From this point forward, we should abide by these rules in order to help make the kernel community a welcoming environment to participate in.
Something worth emphasizing here: adopting a code of conduct, and choosing to be welcoming and inclusive, does not mean a project and its developers avoid disagreement, or avoid feeling passionate about their work, or avoid discussing and fixing issues. It just means not letting things turn heated or hateful, and treating people well.
Was there a public discussion that led to this change? The 'Contributor Covenant' contains this line:
> Other conduct which could reasonably be considered inappropriate in a professional setting
which is essentially a carte blanche for any actions based on 'violation of the code of conduct', especially with the inclusion of public spaces in it's scope. We've seen it being (ab)used many times recently in open-source projects.
Most recently it's been considered legally binding, and the wide net it casts seems to be a huge liability for contributors (not a lawyer, so feel free to school me on this one).
It's a good practice to have some concrete guidelines regarding work environment. But this particular code of conduct is pure and utter garbage. I'm really not sure how Linus could ever willingly accept this.
> Other conduct which could reasonably be considered inappropriate in a professional setting
This statement here from the CoC is pretty much an open invitation to send whoever you don't agree with to the gulag/camp/whatever. What concrete definition is there of "reasonably be considered inappropriate in a professional setting"? These change across cultures and countries. Linux is a global effort. Not everyone on the planet follows the silicon valley, American or any single culture.
You either have fixed and clear guidelines on what is acceptable or not, or have no guidelines at all. Something open ended like this is nothing more than a potential witch hunt in the making.
Adopting a code of conduct for Linux is a worrisome move. Any code of conduct that purports to police what contributors do outside the context of the project is a totalitarian infringement on individual autonomy, especially since enforcers of codes of conduct tend to take an expansive view of their remit.
What CoC enforcement eventually becomes is a prohibition on project contributors professing political opinions that the CoC enforcers find reprehensible. You don't need a CoC to get civil behavior.
The Contributor Covenant is horrific and harks back to the days of the Catholic Church(Or insert religion here) and morality and it's enforcement. It's a power trip that will end badly.
Morality should come from within, a learned and practiced behaviour, personally and within communities, not prescribed.
Manifesto's are purely implemented to bully people, they allow for the lynching and harm to others without remorse.
They also very quickly mutate once they take hold, they are evil at its worst.
The Contributor Covenant is basically just a lot of publicity grabbing faux FOSS addition. I mean if you can't contribute code why simply mess around with things like the Code of Conduct.
> I am going to take time off and get some assistance on how to understand people’s emotions and respond appropriately.
Wow. Torvalds going to a therapy. I seriously couldn't be more impressed about him, because he always seemed too much of a narcissist to me. I understand how difficult it might be to decide to admit that you have a problem at this stage. And for doing that, he has my deep respect.
Which kind of brings me to the other point - would Torvalds be Torvalds if he was treated before? Is the same piece of his personality that made him a truly unpleasant person also the one that made him super motivated?
That's the second BFDL stepping down (this one claims to go just for a while), after Guido. And note that this is one is also about psychology.
I remember criticizing Linus' sarcastic comments on here some time ago. I was surprised by the number of people that defended him saying stuff like "Linus is just Linus" or "he needs to be like that to keep Linux moving forward". I personally think his brilliance would be even more appreciated if he were a bit less sarcastic.
I'm known at work for being That Guy who will point out the elephant the room and discuss it face-on, but I invested decades into empathy work so that people now respect me for doing so rather than hate me. I'm glad to see Linus considering an investment in empathy, and I don't feel it will negatively impact his forthrightness long-term — the best of all possible outcomes.
> This is more like the time I got out of kernel development for a while because I needed to write a little tool called "git". I need to take a break to get help on how to behave differently and fix some issues in my tooling and workflow.
Oh nice, so he's going to write another ground-breaking piece of software that will change how we do software. :)
Kidding aside, I think his comment is well-thought and I wish him all the best. Btw. I don't think his (sometimes heavily criticized) way of communication is that bad, it's more a clash of different kinds of culture - he is Finnish and used to a very direct way of communication and confrontation (which can be good and bad). That doesn't excuse some of his (admittedly uncalled for) rants, but I don't think he wants to sound as harsh as he often comes across ...
Great. Everyone needs to work at being a nicer and better person, Linus perhaps a bit more than most.
But equally important is everyone on the other side working to avoid being consumed by emotion, and learn to control their emotions better, when people and things in the world end up being mean or distressing.
This doesn't happen so much with Linus anymore because everyone knows about him and the people most likely to go on tilt when Linus goes on tilt have adapted and avoid communicating with him. That would be a universal solution if you could get a list of all the potentially harsh communicators out there, but doesn't work at all when you don't have such a list, and anyway it would severely constrain your interactions with the world because a fairly large number of people are like that.
People will gain a lot more from, in addition to calmly pointing out how the hostility they're encountering is unwarranted, learning to self-reflect and switch mental states to avoid getting into self-destructive patterns of thought just because someone else or something else is being harsh or mean.
Various kinds of meditation-like practice seem to be a good way to pursue improvement for people on both sides of the problem.
It's not any easier for Linus to always be nice than it is for someone who takes personally one of his outbursts to not take it personally.
Wow. I can't count how many times people have tried to excuse Linus's outbursts by saying he doesn't mean them personally, but here he is explicitly admitting that he has done just that. Then he goes on to say that his behavior needs to change and that he will seek help doing so. Good for him. These are hard things to admit, and he's setting a great example.
> In my quest for a better patch, this made sense to me.
> I know now this was not OK
There are so many people in tech who need to read that a hundred times. Including a couple of his top lieutenants.
Linus and I draw our paychecks from the same place: The Linux Foundation. I've only been there three and a half years, but the "no brilliant assholes" line in the hiring process has always rung hollow.
There exists a tremendous danger of overcorrection here. Too much agreeableness is inimical to technical progress, which requires placing technical standards over egos.
While it's counter-productive to provoke people unnecessarily, we can't allow someone's claim to have been emotionally hurt to automatically trump technical criticism. We should strive to be as kind as possible, but not to the point where we begin to sacrifice the truth.
There are some people today who are so averse to negativity that merely saying "this code sucks" is enough to get the speaker called a "jerk". This level of sensitivity is not compatible with a pursuit of technical excellence. We have to be able to acknowledge that both bad and good code exist in order to make technical progress.
I hope Linus doesn't end up being guided by the kind of people who go so far toward protecting people's emotions that they demand we accept technical mediocrity.
And to prove how important it is to be respectful, empathetic and tolerant, the originator of the new Code of Conduct is gloating on Twitter and mocking those who disagree with this move.
This is not about being respectful to others, it's about forcing others to be respectful to you. Unfortunately respect is earned, not given, and anything else extracted under duress just breeds resentment.
A slowgoing development for him, still I sympathize and wish him the best while wondering ironically if personal issues aside what works best.
It brings to mind fundamental organizational and management. Is it better to have a "rude" organization? Calling bullshit early and often instead of polite everything is fine stacks of lies since it would be impolite to point out having O(N!) code just can't work for anything of appreciable size? The optimal approach likely varies on several variables.
While I am glad this happened, I am surprised. I truly would not have expected Linus to ever write something like this. I am curious how this can happen so suddenly. Have people not tried to convince him that he can be critical without being insulting many times before? What was different this time?
Maybe he realized that his behavior would be against the new CoC.
Maybe he had a good conversation with people he respects, where they confronted him with his behavior, and he was finally able to view his behavior through the lens of an outsider.
Maybe he finally found and realized the "bugs" in his social interaction code and needs some time of to improve his mental tools.
He's tired. He's older. He mentioned several times how he's been developing this for decades. Maybe he is making a balance, maybe he thinks that the Kernel does not really need him so badly now, and he can take a time out.
[+] [-] jakeinspace|7 years ago|reply
However, Linus is also a bit of an asshole, turning technical criticism into personal seemingly personal attacks. I believe those 2 sets of qualities are separable, but I would guess it's uncommon to find many people who are capable of being as tough as Linus without in some way alienating those around them, it's a fine line at times.
Anecdotally, one of the most effective engineers I worked with, who asked penetrating questions during code and design reviews, did come off as a bit of an asshole at times. Whether by genetics or through childhood, I'd bet people tend to cluster onto the line separating "agreeable and lax" and "rude but firm" (as a sweeping generality). We often label people who are all smiles while simultaneously extremely strict as passive agressive. Add to that the fact that many technical people are less socially adjusted than average and I can see why we have so many examples of mean but effective project leads.
[+] [-] staticassertion|7 years ago|reply
Many of his attacks, especially long ago, were quite vitriolic and very much not technical. Oftentimes they weren't rants, just flat out insults, short and mean (I remember, in particular, posts directed towards PaX). They weren't productive, there wasn't a brash technical take buried in them - they were just insults.
Many people seem to just remember snippets of his more popular, more recent rants, which sometimes have some technical take in there at the least, but also, in my opinion, cross well over the line into personal attacks.
Glad he's owning up to the fact that he has some serious social baggage to deal with. I don't foresee the linux kernel community changing much in the near term though.
[+] [-] Klover|7 years ago|reply
When I see another on HN I scroll past it, because I’m not interested in the sensation. I can’t imagine I’m the only one.
Then there are people who do see his rants as a model, or who do like the sensation and do like the spice. Those people are far more likely to discuss it, repeat it, mimick it or indeed condone it.
[+] [-] angry_octet|7 years ago|reply
In the case of PaX, there is definitely a conflict between the later commercial concept (pay to receive these patches to a GPL2 product) and the integration of security features in a comprehensible way in mainline. Brad Spengler is right that big corporations use his work for no recompense (gotta love the cancer that is Oracle), but tbh many of the patches are hard to grok. And Linus had a ridiculous 'security bugs are just bugs' attitude, opposed to the additional complexity added in some patches. I think many of the mitigation techniques are painful and have ramifications on many other areas -- but the larger redesign just wasn't being done. And they are both ascerbic individuals.
I thought his rants directed at Kees Cook were worse. He is allowed to reject everything insufficiently tested, so why doesn't he just do that? Anyway, Kees was a model of restraint.
[+] [-] the_clarence|7 years ago|reply
[+] [-] serf|7 years ago|reply
(to me) it made him appear honest and dedicated to (his own) goals, and I always felt like that was respectable. (mostly) whenever he was proven technically wrong about how to do something he would concede to the technically better solution, and if he didn't do so he gave reasons for his conclusion.
in other words : his technical brilliance, in my own opinion, was a far larger boon than the problems stemming from having to deal with his knife-like personality.
[+] [-] DannyBee|7 years ago|reply
One thing that is true in all successful organizations over time is that for any given person, no amount of genius will make up for being an asshole.
It may take time, etc, but eventually, it ends up a significant net negative for the organization.
The sooner folks are forced to deal with it, the better off the organization ends up in the long run.
It also turns out you can be effective at dealing with people and still be brilliant, and it usually doesn't take a lot more than spending more energy in being self aware and trying to see the perspectives of others.
[+] [-] coffeemug|7 years ago|reply
I'll take an asshole over a pushover any day, and most of us are pushovers.
[+] [-] JoshTriplett|7 years ago|reply
> Popov said that all of that "kills my motivation" to work on Linux.
[+] [-] marmot777|7 years ago|reply
[+] [-] djsumdog|7 years ago|reply
Total aside, I'm a spoken word poet and performer. The original Poetry Slam started in Chicago and it's still run by the original guy; a dude who is kinda a dick and encourages the audience to be rude and boo people off stage who are bad.
I use to think this was kinda neat; you know where you stand right? I went up on the open mic several week and did really well. I saw some people get booed off stage that were really terrible, but a few that I really enjoyed -- they typically got booed off due to people not liking the content.
Then I eventually did a narrative about a prostitute in LA. I almost changed what I was going to do since I realized it was an x-mas show and maybe I should do something brighter/happier. But I've had other experiences where changing last minute was a bad idea, so I stuck to my guns and got booed off stage.
I was told I went too long, but people were already hissing at me for all the parts about the prostitute growing up on the streets.
I've gotten good feedback every other time I've done this story. I misread the audience, theme and time of the year.
I thought the booing was a good thing, until it happened to me. I've literally done shows in Dublin, Edinburgh, Melbourne, Denver, Vegas and I've never seen any other venue do anything remotely similar at their open mics. Some have a timer and go are pushed off stage if you go over, but the audience is never encouraged or praised for being rude.
In the comedy circuit, we stopped heckling and booing people off stage years ago. You can push the edge of jokes, but you don't disrespect people on stage .. unless they go over time.
The guy who runs the Chicago scene is the first and the original in this concept of Spoken Word, and the scene is crusty and old just like him. I know a number of performers who hate going there and I think I'm included too.
I still think the master/slave thing with Redis was/is dumb. But with Torvalds .. I am glad that he said this, in the way he did. I think he could benefit from the basic rules on StackOverflow. You can simply say, "I don't think that's going to work because of x, y, z. Look at commit x and try doing a, b and c instead and resubmit," compared to the yelling we've often seen.
I've generally been against code of conducts, maybe because I've only seen them misused or people get pushed out for non-clean/arbitrary reasons. But maybe we're moving into a new era? Who knows, but I hope we find a balance in the middle.
And I still don't think the Redis guy should have made that change; but asked the issue requester to submit a patch with all the changes if they wanted them.
I think there is a balance in the middle.
[+] [-] tomp|7 years ago|reply
[+] [-] lainproliant|7 years ago|reply
[+] [-] _wldu|7 years ago|reply
It's easy to get caught-up in the heat of the moment and say and do things that we regret. We've all done it. It's part of being human. The key is to realize it, apologize and do better.
[+] [-] jernfrost|7 years ago|reply
For Linus it is more about being far too blunt. But you can clearly see Linus himself being aware of it and having some humbleness about it. Jobs in contrast would never admit his bad behavior.
As a fellow Nordic (Norwegian) I feel a significant component of this is simply Nordic cultural trait. We are quite blunt. We value honesty and directness. However Finns I believe are farther out on that spectrum.
The second parts is that I think he has probably mild asperger traits. I have that, my wife and oldest son. That does not make you an asshole. I don’t talk like Linus but it can mean you often are not able to pick up other people’s emotional state.
Keep in mind this is very different from being a psychopath. They can pick up other people’s emotions but don’t care of they are hurting them. Somebody with asperger don’t want to intentionally hurt others but may do so accidentally by not reading the person properly. Somebody with Asperger is willing to admit they have a problem that needs fixing just like Linus.
A psychopath does not think he/she has a problem that needs fixing.
[+] [-] dx87|7 years ago|reply
Even though Finns can be much more blunt than people are used to, I think he recognized a while ago that he was going beyond being blunt. During a conference in Australia, someone asked him about how people perceived his attitude and it's effect on the kernel community. He told them that he's not a nice person, he doesn't know why people think he would be, and that if people enter the community with that in mind, they'll stop feeling like they're being personally attacked.
[+] [-] slx26|7 years ago|reply
This is not to excuse him. But when he acknowledges it himself, I think everyone should be empathetic with that. I think that judging without taking the context into account is outright cruel. Universal morality standards are cool, but we shouldn't forget that in the end we are all still just humans. We all make unforgivable mistakes. Only some of us realize and admit them.
[+] [-] robaato|7 years ago|reply
I remember a seminar taught by US lady in Holland where at the end of the first day she said she had never experienced so much of what she perceived as aggression. We talked it through at the beginning of the second day and put most of it down to cultural differences.
[+] [-] kokey|7 years ago|reply
[+] [-] Sean1708|7 years ago|reply
Here is an example that I believe is more than just "being far too blunt"[0], it's not the worst example I can remember but it is the first one I found. In my opinion his major issue is that he grandstands, he goes beyond being just blunt and becomes unnecessarily derogatory. If his issue was with being too blunt (and I suspect you'll find that most people don't consider being too blunt to be that much of an issue compared to his other faults) that email would look something like this:
> The conflict I get is due to stupid new gcc header file crap. But the > reason I'm rejecting this is that I just don't think it brings in any > positive value.
> This is the old code in net/ipv6/ip6_output.c:
> mtu -= hlen + sizeof(struct frag_hdr);
> and this is the new "improved" code that uses fancy stuff that wants > magical built-in compiler support and has silly wrapper functions for > when it doesn't exist:
> if (overflow_usub(mtu, hlen + sizeof(struct frag_hdr), &mtu) || > mtu <= 7) > goto fail_toobig;
> The above code generates shit code
> <insert evidence that generated code is shit>
> and it's a lot more difficult for people to read.
> The code could easily have been done with just a single and > understandable conditional, and the compiler would actually have > generated better code, and the code would look better and more > understandable.
> <evidence of this statement too>
> Why is this not
> if (mtu < hlen + sizeof(struct frag_hdr) + 8) > goto fail_toobig; > mtu -= hlen + sizeof(struct frag_hdr);
> which is the same number of lines, doesn't use helper functions that > most people are unfamiliar with, and is much more obvious what it > actually does.
> The second more obvious version is easier to read and understand. Does > anybody disagree with this?
> Obviously you still could have overflow issues if the whole "hlen + > xyz" expression overflows, but the "overflow_usub()" code had that > too. So if that's the reason that this change was introduced then > it hasn't actually fixed anything.
> I really do feel like this code was designed to use that > new "overflow_usub()" code, it seems to be an excuse to use that > function. Am I missing something here?
> Just to be clear I will always try to make sure that code which offers no > positive value does not make it into the code base, regardless of where > in the code it's being added.
> Linus
This is still just as blunt (I do think this would be more effective if it wasn't as blunt, I just wanted to try to show that being blunt wasn't the main issue), but it doesn't have the unnecessary grandstanding and derogatory comments. The main problem with the was Linus used to conduct himself is that he puts people on the defensive, and when people are on the defensive they have a much harder time admitting that they were wrong or learning anything.
I don't actually expect Linus to come back any less blunt, I expect him to come back less aggressive and derogatory.
[0]: http://lkml.iu.edu/hypermail/linux/kernel/1510.3/02866.html
[+] [-] Leszek|7 years ago|reply
[+] [-] JoshTriplett|7 years ago|reply
Many people are so afraid of ending up in the bottom right (just giving in) that they head for the top left (zero-sum competition).
This underlies some of the things people fear about codes of conduct; they're afraid that they're being pushed into that bottom right corner, rather than striving for better collaboration.
Be direct. Be clear. Seek the best solution. Don't be awful to people while doing it.
[+] [-] dotancohen|7 years ago|reply
I won't say that most geniuses are inempathetic, but many are. Einstein wasn't, some say Gauss was. Beethoven was. Linus is. And we'll accept Linus's attitude for being an aversion to bullshit, just the quality that we need in a kernel maintainer.
I'm glad to see that Linus finally realizes that he has a problem, but truth be told I'd selfishly rather that he keep his problem because I doubt that he could steer his ship without it. I hope to be proven wrong.
[+] [-] danso|7 years ago|reply
[0] https://en.wikipedia.org/wiki/Religious_views_of_Isaac_Newto...
[1] https://www.wired.com/2014/05/newton-papers-q-and-a/
[+] [-] ceautery|7 years ago|reply
[+] [-] eric_h|7 years ago|reply
[+] [-] marmot777|7 years ago|reply
[+] [-] aurailious|7 years ago|reply
I disagree this is the case. "This is how it's been done" is a terrible excuse for anything. This attempt at protection of the status quo is wrong because almost without exception the status quo is sub optimal.
> because I doubt that he could steer his ship without it
There is no reason to believe this.
[+] [-] unknown|7 years ago|reply
[deleted]
[+] [-] jXCw1N0jtH3|7 years ago|reply
[+] [-] JoshTriplett|7 years ago|reply
The most recent commit, right before the release, deletes Linux's "Code of Conflict" and replaces it with a real Code of Conduct, the Contributor Covenant.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
https://www.kernel.org/doc/html/latest/process/code-of-condu...
Quoting the commit message:
> Explicit guidelines have demonstrated success in other projects and other areas of the kernel.
> Here is a Code of Conduct statement for the wider kernel. It is based on the Contributor Covenant as described at www.contributor-covenant.org
> From this point forward, we should abide by these rules in order to help make the kernel community a welcoming environment to participate in.
Something worth emphasizing here: adopting a code of conduct, and choosing to be welcoming and inclusive, does not mean a project and its developers avoid disagreement, or avoid feeling passionate about their work, or avoid discussing and fixing issues. It just means not letting things turn heated or hateful, and treating people well.
[+] [-] ricardobeat|7 years ago|reply
> Other conduct which could reasonably be considered inappropriate in a professional setting
which is essentially a carte blanche for any actions based on 'violation of the code of conduct', especially with the inclusion of public spaces in it's scope. We've seen it being (ab)used many times recently in open-source projects.
Most recently it's been considered legally binding, and the wide net it casts seems to be a huge liability for contributors (not a lawyer, so feel free to school me on this one).
[+] [-] wolfgke|7 years ago|reply
Different people have very different beliefs what is to be considered "heated", "hateful" and "treating well" or not.
[+] [-] quantummkv|7 years ago|reply
> Other conduct which could reasonably be considered inappropriate in a professional setting
This statement here from the CoC is pretty much an open invitation to send whoever you don't agree with to the gulag/camp/whatever. What concrete definition is there of "reasonably be considered inappropriate in a professional setting"? These change across cultures and countries. Linux is a global effort. Not everyone on the planet follows the silicon valley, American or any single culture.
You either have fixed and clear guidelines on what is acceptable or not, or have no guidelines at all. Something open ended like this is nothing more than a potential witch hunt in the making.
[+] [-] quotemstr|7 years ago|reply
What CoC enforcement eventually becomes is a prohibition on project contributors professing political opinions that the CoC enforcers find reprehensible. You don't need a CoC to get civil behavior.
[+] [-] aaron695|7 years ago|reply
The Contributor Covenant is horrific and harks back to the days of the Catholic Church(Or insert religion here) and morality and it's enforcement. It's a power trip that will end badly.
Morality should come from within, a learned and practiced behaviour, personally and within communities, not prescribed.
Manifesto's are purely implemented to bully people, they allow for the lynching and harm to others without remorse.
They also very quickly mutate once they take hold, they are evil at its worst.
[+] [-] HaoZeke|7 years ago|reply
[+] [-] d33|7 years ago|reply
Wow. Torvalds going to a therapy. I seriously couldn't be more impressed about him, because he always seemed too much of a narcissist to me. I understand how difficult it might be to decide to admit that you have a problem at this stage. And for doing that, he has my deep respect.
Which kind of brings me to the other point - would Torvalds be Torvalds if he was treated before? Is the same piece of his personality that made him a truly unpleasant person also the one that made him super motivated?
That's the second BFDL stepping down (this one claims to go just for a while), after Guido. And note that this is one is also about psychology.
[+] [-] osrec|7 years ago|reply
[+] [-] floatingatoll|7 years ago|reply
[+] [-] protomikron|7 years ago|reply
Oh nice, so he's going to write another ground-breaking piece of software that will change how we do software. :)
Kidding aside, I think his comment is well-thought and I wish him all the best. Btw. I don't think his (sometimes heavily criticized) way of communication is that bad, it's more a clash of different kinds of culture - he is Finnish and used to a very direct way of communication and confrontation (which can be good and bad). That doesn't excuse some of his (admittedly uncalled for) rants, but I don't think he wants to sound as harsh as he often comes across ...
[+] [-] harshreality|7 years ago|reply
But equally important is everyone on the other side working to avoid being consumed by emotion, and learn to control their emotions better, when people and things in the world end up being mean or distressing.
This doesn't happen so much with Linus anymore because everyone knows about him and the people most likely to go on tilt when Linus goes on tilt have adapted and avoid communicating with him. That would be a universal solution if you could get a list of all the potentially harsh communicators out there, but doesn't work at all when you don't have such a list, and anyway it would severely constrain your interactions with the world because a fairly large number of people are like that.
People will gain a lot more from, in addition to calmly pointing out how the hostility they're encountering is unwarranted, learning to self-reflect and switch mental states to avoid getting into self-destructive patterns of thought just because someone else or something else is being harsh or mean.
Various kinds of meditation-like practice seem to be a good way to pursue improvement for people on both sides of the problem.
It's not any easier for Linus to always be nice than it is for someone who takes personally one of his outbursts to not take it personally.
[+] [-] notacoward|7 years ago|reply
> In my quest for a better patch, this made sense to me. > I know now this was not OK
There are so many people in tech who need to read that a hundred times. Including a couple of his top lieutenants.
[+] [-] RyJones|7 years ago|reply
Glad to see this is being addressed.
[+] [-] quotemstr|7 years ago|reply
While it's counter-productive to provoke people unnecessarily, we can't allow someone's claim to have been emotionally hurt to automatically trump technical criticism. We should strive to be as kind as possible, but not to the point where we begin to sacrifice the truth.
There are some people today who are so averse to negativity that merely saying "this code sucks" is enough to get the speaker called a "jerk". This level of sensitivity is not compatible with a pursuit of technical excellence. We have to be able to acknowledge that both bad and good code exist in order to make technical progress.
I hope Linus doesn't end up being guided by the kind of people who go so far toward protecting people's emotions that they demand we accept technical mediocrity.
[+] [-] mewaj|7 years ago|reply
This is not about being respectful to others, it's about forcing others to be respectful to you. Unfortunately respect is earned, not given, and anything else extracted under duress just breeds resentment.
[+] [-] Nasrudith|7 years ago|reply
It brings to mind fundamental organizational and management. Is it better to have a "rude" organization? Calling bullshit early and often instead of polite everything is fine stacks of lies since it would be impolite to point out having O(N!) code just can't work for anything of appreciable size? The optimal approach likely varies on several variables.
[+] [-] herpderperator|7 years ago|reply
[+] [-] boxspam|7 years ago|reply
Maybe he had a good conversation with people he respects, where they confronted him with his behavior, and he was finally able to view his behavior through the lens of an outsider.
Maybe he finally found and realized the "bugs" in his social interaction code and needs some time of to improve his mental tools.
[+] [-] lucio|7 years ago|reply