While I appreciate the technical talent of the kernel devs, I have lost nearly all respect for these developers. This issue needs to be resolved before it gets worse.
While I appreciate the technical talent of the kernel devs, I have lost nearly all respect for these developers. This issue needs to be resolved before it gets worse.
Groups, packs, tribes, mobs, will emulate the behavior of the leader. For the members it is a sign that they respect the leader and a sign of loyalty.
The problem is that Linus isn't really a dick head, among the times I've interacted with him (few) he was pleasant and respectful. Except the high 'hits' if you search for him are generally him being brutally critical, both technically and personally. And that is a challenge.
People emulate their leader, and so their leader has to project the kind of leadership they want, all the time. And worse, only the gross strokes are really picked up, the subtley it always lost. So an outburst from a leader that might have had specific triggers, is read as simply an outburst. The triggers never surface by themselves to the consciousness of the folks following.
People who want Linus' respect in the kernel community, act as they perceive he acts. The result is suboptimal for community harmony. That is my observation anyway.
It doesn't matter if 90% of the interactions are civil and supportive, those top links "set the tone".
The only way to fix it is to have Linus disavow the behavior, call it out as bad in forums, and have the top 10 links when you Google him be him dressing down kernel maintainers who treat others like children to be scolded and shamed. The behavior of his followers will change to mimic that instead.
While we are on the topic of stupidity... Do people really believe there are that many "stupid" and "arrogant" people contributing to Linux? Seriously? Because, ya know, FreeBSD doesn't seem to have that issue. Odd... Maybe there's something else going on. No?
I'm a kernel developer. I find the current kernel development culture toxic and draining to deal with; many other communities are much more fun to work in, and I feel energized working in those communities rather than in the kernel. I put up with it because I want to affect the direction of the kernel as well as the culture of the kernel, and because the main long-term way to affect either of those is from within that culture. I also help mentor people who want to join the kernel community. I can only hope that enough people with similar feelings participate in the community and rise to prominent roles within it, which will help change the culture for the better.
I would also point out that, in addition to the people directly perpetuating this kind of toxic culture (both the massive attacks and the "background radiation"), such a culture also thrives on a large body of people who don't think it's a problem, or who chuckle at quotes of the latest nastiness. Just look at this comment page and you'll find several comments demonstrating what makes this culture hard to change.
I am sorry to hear that you've experienced this and it's frustrating for me from my position especially. I am fascinated by the kernel and determined to become a regular contributor (I'm working on a driver atm), but also would obviously vastly prefer a positive and helpful community.
As an outsider looking at how hard it is to move from trivial patches to non-trivial it seems like even getting there is a real challenge, let alone to come in with an attitude that I'm going to stand up to cultural issues, so I wouldn't presume on the latter, but not because I think being abusive or toxic is ok.
I am enthusiastic about becoming a part of the community and always try my best to treat others with respect, so hopefully if I am successful at becoming a regular contributor I can help even in some small way to improve things :) and hopefully as you say there are others who feel the same way.
That is exactly my hope. If we can't eliminate the awfulness quickly, let's at least dilute it with a larger welcoming community.
For example, quite a lot of kernel development occurs on subsystem mailing lists and in separate groups; those communities can (and sometimes do) maintain higher standards than LKML.
This is going to be off-topic but...why are so many OK with that in the workplace? I've seen far more unprofessional language and toxic environment in a workplace by executives and managers and yet people fail to report it and fail to publicly complain.
" I did not want to work professionally with people who were allowed to get away with subtle sexist or homophobic jokes. I feel powerless in a community that had a “Code of Conflict” without a specific list of behaviors to avoid and a community with no teeth to enforce it."
Welcome to the typical office environment. And yet we're more likely to complain about this in the free/open source community than we are for the workplace.
Why is that?
Back on topic: I'm in agreement with you and there are ways of getting people to behave correctly and to have technically high quality work without acting like jerks. Those avenues should be investigated and implemented. I get it, for volunteer-based efforts it can be hard to enforce some standards because sometimes you're just happy to get any contribution, but there really needs to be a higher lower-bound placed on decency.
Because nobody gets fired from their paying job for criticizing puerile bullying on a mailing list.
My thoughts? Its all in-group bonding and enforcement of the social norms of the group. Even if some aren't comfortable with it personally and wouldn't do it otherwise.
The older I get the more I can agree that the (software) workplace needs to get much more professional than it is.
Maybe I am off base on this one though...
Currently, Linux kernel works. The process for changing it, overall, works too.
Currently, some people are driven off by abrasive language and personal comments. You might be surprised to find out that attempts to enforce language and behavior rules will also drive people off. And not just assholes. Very often such attempts lead to replacement of open rudeness with more subtle, but equally (or more) hostile tone-policing and emotional reasoning. It creates politics. Open rudeness is often easier to ignore, because it's obvious and isn't backed up by "official" code of conduct.
I'm not saying that nothing could/should be done here. It's just that simplistic solutions like creating a strict code of conduct and kicking out the "bad" people are likely to do more harm than good.
The trouble is, the nastiness drives away people not based on their level of competence, but based on their willingness to put up with nastiness. So you end up with fewer good developers, and people talking about how the senior kernel maintainers are so overworked that they "have" to be nasty, because they don't have time to be nice.
Do you really think that widespread open nastiness means there are no politics now?
So much agreed. I find it deeply weird that technical people suddenly be against improving something on the grounds that it appears to work now.
Look at Linux itself. Did the world really need another OS? Does it need all those features, all those patches? Thank goodness nobody worried too much about that. If they had, Linux wouldn't exist. Hell, computers wouldn't exist.
Yes, so simply prove that having an official code of conduct and that enforcing it wouldn't cause more harm than good.
Show me a big-corp that's more agile and effective and gets things done better than a startup and I'll totally believe in the power of a fully staffed HR slash police department in promoting effective work. I don't think that happens very often (if at all) but being able to point out that it works for dozens or hundreds of big companies would be pretty convincing. I'd love to be wrong about this actually!
The other problem is that it's a volunteer "organization" and as such there's not much you can do to kick people out. They're mostly hired by outside companies and those companies would have to choose to fire them for failing to adhere to a standard that they themselves don't set, so they'd be outsourcing the management of their own people to a certain extent. I suspect they wouldn't be keen to agree to this.
> Do you really think that widespread open nastiness means there are no politics now?
I would venture to guess that at least the nastiness now means that the politics are mostly out in the open and that it's easier to navigate.
It's possible to eke out tremendous performance gains making small changes inside hot loops with computers these days because processors don't expose their characteristics very well. The CPU is happy to execute some kind of awful loop that causes it to wait hundreds or thousands of cycles per iteration because you're column indexing instead of row indexing.
This might be in some ways analogous to what happens when everyone has to be polite; nobody can tell you what you did wrong lest they get yelled at by the be-nice-police and things slow way down as people have to hint and guess as to what the problems are.
I don't think there is anything such as a free lunch; unintended consequences are rife in the world. Suggesting that the linux kernel could work better, free of unintended consequences seems to be a bold claim. But the great thing about hackers, geeks and nerds is that solid evidence trumps politics and preference.
Perhaps, for people who can tolerate the nastiness. The question is, how many excellent developers leave (or never participate in the first place) without saying a word, because they don't want to deal with the nastiness?
No one's suggesting "never say anything negative". As the original article said "I need communication that is technically brutal but personally respectful." In other words, you don't need homophobic sexist insults to tell someone they're doing something wrong.
You're setting up a false dichotomy, between pointless nastiness, and some imaginary ultra-polite fairy land that no one is asking for.
What's so hackerish and geeky and nerdly about insulting people for their sexual preference or appearance or grooming, instead of discussing the actual technical issues?
That's a great point, and together we're actually correct.
How many new developers would you gain by implementing some kind of (largely unenforceable) code of conduct versus how many old developers would you scare away with such a thing. Now you've got an actual engineering tradeoff that you can consider.
Would the gains more than offset the losses? I certainly don't know. I don't think there is any way to know except to try it and hope it doesn't go badly. I can understand why people might not be keen to take a risk like that, though.
If that's true, then there are three cases with regard to my code patch/submission:
a) I am wrong and they are right, I've learned something and correct my code.
b) I am right and they are wrong, I type up a reply and start an academic discussion on the issue itself. This is a good thing too.
c) It's opinionated, in which case I defer to the people who are more invested in the kernel and correct my code, since it's better that things stay consistent with their opinions.
In all three cases, after I'm done I go do something fun. Taking things personally would be a really sub-optimal use of my mortality. If I were interested in becoming friends with Linus and gang, I could see why this is a problem.
I always cheer up immensely if an attack is particularly
wounding because I think, well, if they attack one
personally, it means they have not a single political
argument left.
- Margaret Thatcher
I agree with you and her mostly but as others say, there is a limit.Is this an issue though? If the Linux Kernel project can get all the talent it needs with current attitude, then there is no good reason to change.
If the culture delivers, let it be, just not join. I don't mind rough language and hostility. And if I am greeted and cannot prove that I am meaner and more hostile, just move on.
I can think of two:
1. The project might get even better.
2. Ethics.
The larger a project gets, the quicker it is needed to root out some things.
Good projects are not democracies. A leader isn't going to get everything right, but accepting everything is probably worse. I think in many environments people DO want to be more blunt, but because they are representing an employer, they feel they cannot. And this sometimes leads to compromise and less desirable results.
When everything is communicated in exactly the same "business professional" tone, you have effectively reduced the bit depth.
The way you deal with things is by being logical and having supporting evidence, but I don't believe communities have to be for everyone and work for everyone.
They should accept all groups of people, but if some people take energy out of the project, the project should get to decide where it wants to go.
While I like being nice, I think if you are not occasionally very blunt.
So there's a spectrum. It's a spectrum I think you can understand better if you've run a project with a couple hundred or more contributors. You have to preserve your energy.
Still, I'd prefer to see language limited and highly offensive things shouldn't be said. But it's a spectrum. Quality is most important relative to making everyone feel like they 'have a voice'.
Linus is doing extremely well for containing it.
If some maintainers are doing worse things, that needs to be addressed.
Problems come up when there are choke points where a lot of people want to contribute to the same thing, and that is naturally going to cause conflict -- or something like OpenStack, where it just says yes to everything and gets all confused :)
We've become a society that gets offended a bit too much. A nd as such, we say less offensive things, and read subtexts into small things, to the point where everything sounds offensive. It's a downward spiral to where all communication has no bit depth.
That Linus calls any attempt at civility "bourgeois mores" or something like that doesn't make it so. No one is calling for the same "business professional" tone. Just for basic civility. You can be a little rude, just don't go overboard.
> The way you deal with things is by being logical and having supporting evidence, but I don't believe communities have to be for everyone and work for everyone.
Again, this is the response I'd expect if someone called for mandatory uniforms. Here someone is just asking them to be itsy-bitsy-slightly less dickish. To tone down their dickishness. To go from being total dicks to being normal dicks.
Ah, but who decides what is a normal, acceptable amount of dickishness? This is actually quite simple: common sense, combined with listening to what members of the community say (sprinkled with a well deserved apology here and there). And when common sense doesn't cut it any more, there is a need for rules. Namely, the exact same way every reasonably functioning society that wished to be anything less than a total asshole-heaven has done since the dawn of civilization has done it.
Before Sarah there was no USB3 support in the kernel, and no prospect of gaining any.
Alan Cox has quit twice, the first time after being personally abused by Linus.
Do Alan and Sarah seem like the kind of talent you can casually discard?
btrfs is, and I'm being kind here, spinning its wheels. Are there filesystem devs who can't be fucked contributing?
The android team periodically try, and then give up, trying to mainline chunks of their work because they can't be bothered dealing with the shit they get.
Yes. It's a huge fucking issue. I think I speak for plenty of people when I say that we don't want to be part of a culture that's known for bullying, harassment, sexism, etc... That crap is the whole reason I got into computers in the first place. It was a safe haven away from all the jocks and other very similar BS in highschool. Yet here we are tolerating and in some cases even celebrating similar actions within our own community.
This needs to change.
Participation is voluntary in open source. So no one forces you. But you are not entitled to acceptance in any community. I on the other hand there are people that like it the way it is.
You are totally free to fork the kernel into PC Linux with strictly enforced rules and see if the talent will follow you.
> That crap is the whole reason I got into computers in the first place. It was a safe haven away from all the jocks and other very similar BS in highschool.
And here I think we get to the core of the problem. In flight or fight situations some people have the flight option turned off and counterpunch on any adversity, even if it stupid. They won't see a problem with the linux kernel culture at all. But the flight only people - they will see.