LWN.net needs you! Without subscribers, LWN would simply not exist. Please consider signing up for a subscription and helping to keep LWN publishing |
For anyone who has followed Daniel Vetter's talks over the last year or two, it is fairly clear that he is not happy with the kernel development process and the role played by kernel maintainers. In a strongly worded talk at linux.conf.au (LCA) 2018 in Sydney, he further explored the topic (that he also raised at LCA 2017) in a talk entitled "Burning down the castle". In his view, kernel development is broken and it is unlikely to improve anytime soon.
He started by noting that this talk would be a "rather more personal talk than others I give". It is his journey from first looking in on the kernel in high school to learn how operating systems work. The kernel developers were his heroes who created this awesome operating system by discussing things out in the open.
Eventually he started scratching his own itch in the graphics subsystem, which led to him getting hired to work on Linux graphics professionally on a small team. He got volunteered to be the kernel maintainer for that team, which grew from three to twenty people in a year or two. In that time he learned the tough lesson that "leading teams is leading people". But he has learned that the way kernel maintainers work is making developers unhappy, including him. The talk would be a look at how he learned just how broken things are.
The first thing that generally comes up when discussing what's broken in the kernel community is the discussion culture, for example Linus Torvalds cursing at someone. That culture is enshrined in the kernel's Code of Conflict, which says that if you want to contribute to the Linux kernel, "you will get shredded for the greater good of the project", he said. There is another paragraph that says if you get really uncomfortable, you can report it to the Technical Advisory Board (TAB) "and they might not be able to do a whole lot about it", he said.
But if you talk to kernel developers at conferences, they will often say that the culture has gotten much better in the past few years. Generally what they mean, Vetter said, is the "rather violent language and discussion" in the kernel community has decreased or disappeared. But he thinks that is not the real problem, it is only one aspect of the problem.
That led to his first interlude, which was about a book that he read as part of his thinking about Linux kernel culture. It was Why Does He Do That?: Inside the Minds of Angry and Controlling Men by Lundy Bancroft. The interesting part of that book is the archetypes of abusers that Bancroft has extracted and the patterns of behavior that abusers engage in so that they can stay in power, he said. Vetter's main takeaway from the book is that abuse comes down to two elements.
First, the abuser must have power over the victim; in the kernel case, maintainers have a lot of power over their contributors, since their right to reject code is absolute. To get code into the upstream kernel, developers have to deal with the maintainer of the subsystem.
The other element is controlling behavior, which is not necessarily violence. Clearly, violence can be completely controlling behavior that puts the safety of the victim at risk, but there are counterexamples such as martial arts. Those are violent but, if done correctly, respectful. There is plenty of non-violent controlling behavior, though, including determining who a victim can talk to or go out with.
Vetter wanted to highlight the kinds of controlling behavior he has seen, which maintainers use to dictate what their contributors can and cannot do. That list starts with the assertion that "only technical topics are in-scope" for the kernel community. This is nonsense, he said; for developers it is true, but it may not be for maintainers.
For some maintainers, that means anger, screaming, and shouting, but others expect emotional support because they are overloaded. The emotional state of the developers is totally irrelevant. There is also a lot of micro-aggression, nagging, and bikeshedding from maintainers in an environment that is ostensibly technical-only. Maintainers can impose their emotional state on their contributors in the mailing list, but only the maintainers' emotions matter, not contributors'. This is classic controlling behavior, Vetter said.
Beyond that, discussions about governance and fixing these problems are off-topic as well. That makes it hard to even discuss the problems with others.
Leading teams of people is not a valued contribution within the kernel community, which creates a negative space for leadership, he said. Since maintainers are personally responsible for all tests failing, regressions in the subsystem, and so on, that makes things personal; it also turns maintainership into a high-stakes game. So maintainers self-censor and impose that on their sub-maintainers and contributors. Making it personal is, he thinks, a strong force that perpetuates the cycle of abusive and controlling behavior in the kernel community.
This leads to something of a personality cult in some subsystems. There are people who have been working in the subsystem for many years and are the keepers of much of the knowledge and history built up over those years. These people are "very hard to remove". Pretty much every subsystem has their "local toxic person" that cannot be removed because of their accumulated store of knowledge.
Maintainer power is not shared in most subsystems. The group maintainership model was pushed at Kernel Summits, but it has only been adopted in a few places: the x86 subsystem, ARM at the top level, and half of the graphics subsystem. In addition, maintainers are not documenting their implicit assumptions and rules. For example, even after writing, reviewing, and applying thousands of patches over the years, Vetter is still not sure how to format patches for other subsystems. Inevitably, there will be minor formatting or other issues that will arise when he submits patches elsewhere, but those rules are "outright not documented".
The tools and tests that maintainers use to check patches are not made available, at least easily, for contributors to use. That is slowly getting better, he said. But it would be easier for developers to find and fix problems before they get to the maintainer's tree if the checking and testing tools were accessible.
Most of the review that is done is between the maintainers and contributors. He crunched some numbers around a year ago and found that only 25% of review is done by peers, the rest is done by the maintainers. It becomes something of an exercise in conflict avoidance for the contributor, since the patch is on its way to acceptance. The contributor just needs to "go through the motions, respin the patch series ten times" to show that they are "sufficiently subordinate to the maintainer", he said, then it will be merged.
For some suggestions on how to do things better, he recommended two talks. One is "Life is better with Rust's community automation" [YouTube video], given by Emily Dunham at LCA 2016. The other is "Have it your way: maximizing drive-thru contributions" [YouTube video] by VM Brasseur. The latter targets one-off contributions, but by making the process easier for one-time contributors, it will also improve things for regular contributors. His takeaway is that submissions should be looked at by a bot that points out any stylistic issues, perhaps even provides a fixed-up version of the code, and points contributors to the appropriate part of the documentation. So these rules are not only documented but also easily referred to when problems arise.
The subsystem he was maintaining started growing wildly and he started to "get this sinking feeling that this is really not how you run a team". Around the same time, he was invited to his first Kernel Summit. He wanted to try to talk to some potential allies but, since graphics is kind of separate from the rest of the kernel, he did not know more than two or three of the hundred or so maintainers at the summit. He sought out some of those who had made public statements that made him think they might be up for "fighting the good fight" to change how kernel development is done.
But he found it hard to enlist aid and allies at the summit. Some of the seemingly "nice maintainers" turned out to be resistant to change. There is a risk in speaking out in the kernel community, he said. So it turns out that there are few maintainers willing to do so. When you chat with many of the people who have been around kernel development for a long time and challenge them about problematic people, toxic behavior, or "maybe we should do this better" the response is often "it is what it is and you just deal with it". In his view, this makes them complicit.
The people that you can talk to, Vetter said, are those who have left the community. That is great because you can compare notes. When you do so, the same names often come up as maintainers that are something of a disappointment for not doing more to help fix the problems. There are a lot of "loud quitters", but an even larger number of contributors have just dropped out silently. This provides a sizable group of people to talk to.
Similarly, in some ways, is the pool of burnt-out maintainers. They realize the problems, but don't want to leave the kernel entirely so they step down as maintainers. You can have "really good conversations" with them, he said, but since they have already burned out, they do not have the energy to help out fighting the next fight.
The participants on the dri-devel mailing list and the graphics subsystem in general have tried to do things a little differently to "make our little corner of the kernel more useful". The subsystem spearheaded the rewrite of the kernel documentation system and it is the only one that hands out commit rights. The latter makes graphics "more like a standard project".
In the last year, a code of conduct has been enacted and is being enforced, he said. The "surprising thing is that it seems to work". There has been a need to quiet a number of kernel developers—he thinks they may end up banning some. If you make it clear that you are serious, some unreasonable people become much more reasonable, Vetter said.
One group that would seem to have a strong incentive to fix the kernel process would be the "sandwiched maintainers". "They get the harassment from above and they get the unhappy contributors from below." He has talked with other subsystems that would like to see things be done differently, but it seems that once people start talking about fixing things it just eventually peters out and "nothing happens".
Before getting into the forces that tend to cement kernel development place, Vetter provided a few places to learn about maintainership. The Community Leadership Summit and the affiliated CLSx events, which are held at OSCON, LCA, and elsewhere, as well as the Maintainerati event, make for great places to talk with other open-source maintainers. The community tracks at many different conferences are also good. One author he wanted to highlight is John Kotter, whose books on change management have been helpful to Vetter's thinking on how to change an existing community with a lot of inertia.
There are some strong forces that uphold the status quo in the kernel, he said. One is the spectator sport nature of the kernel mailing list. When Torvalds blows up publicly, it is picked up by Reddit, Hacker News, and elsewhere. It is something of an "abusive performance art" that reinforces the personality cults and shows the power that maintainers wield. It also demonstrates the high-stakes nature of speaking out, since every time one of Torvalds's rants gets posted, all of the previous episodes from years ago are rehashed.
Some maintainers are so scared of the next blow up, and have the scars from the last one, that they are unwilling to change anything because that's the safest option. So if the subsystems starts talking about group maintainership or handing out commit rights, it eventually boils down to the maintainer saying "no". They are worried that if a regression happens or there is some other problem that occurs due to the change, they will be lambasted publicly (again). They are trying to handle their fear by keeping as much control as possible, which just perpetuates things, he said.
A lot of maintainers are employed because they are the bottleneck. Their managers should be forcing them to stop being the bottleneck by adopting commit rights and simply being the one who gets the blame when Torvalds freaks out, but that is not happening. The maintainer bottlenecks continue to have job security and the managers seem to be satisfied with that approach.
The Linux Foundation (LF) is part of the problem as well, he said. It was set up, partly, because some were concerned about the amount of power Torvalds was wielding, so they wanted a neutral foundation that would employ him. The steep hierarchy in the kernel-development world is an advantage for the foundation, because it can employ the top maintainers and thus provide exclusive access to them for its members and others. More recently, the LF has moved into the cloud world, so this is less of an issue, but the LF is still a factor in maintaining the hierarchy, he said.
As the secretary for the X.Org Foundation, he has heard some of the old stories where that foundation ran into difficulties along the way, so he sees conflicts of interest as inevitable. If the project governance and business sides are intertwined, things can get messy; after ten years, the community may have moved on, but the business is still stuck in the older thinking. So instead of best serving the community, the foundation's goal becomes one of keeping the people employed, even though there may not be a need for those jobs anymore.
In Vetter's opinion, there should be a strict separation between project governance and employing people. So the foundation would provide services and infrastructure for the project but not employ people to work on the project directly. Because, at some point, those people may not be doing work that is in the overall interest of the project and its community any longer. Similarly, he thinks that voting rights should be spread widely, so that when there are shifts in the community, the new people are not ignored because they have no voting power.
He wrapped up his talk by noting that the maintainers benefit from the status quo, so they are unlikely to try to change it. He would not suggest that contributors not work on the kernel, as it is a massive career boost, but did suggest they always have an exit plan. "If you stick out your head, and sooner or later you will stick out your head, it will get chopped at."
His talk title could be taken different ways; it could be seen as a reference to burn it all down and start over. But he sees things differently; it is a plea to the maintainers to please fix things before the revolution comes. That revolution would be a terrible thing for Linux. The current leadership refuses to see the problems, he said, and gets defensive when they get brought up.
So he suggested that maintainers share power, drop privileges, and don't make their reviewer powers special. They should also document everything they can and automate things, as well. It is important to "care about the people", because without people you don't have much of a project. He summed up his suggestions with "be a steward, not a lord".
He then answered a few audience questions. It is unclear to him how and why things have come to be this way. It may be that long ago, when Linux was started, we didn't know how to build a working community, as we do today. By the time people started speaking up, the power structure was too entrenched to be changed.
Vetter said he has a hard time recommending that people join or rejoin the kernel community. Outside of the graphics subsystem, the overall understanding of the problems is so lacking that you can't even start talking about solutions. One step might be to get people to a point where they agree that just apologizing for the current situation is not sufficient. Maybe there is another subsystem that could start to make positive changes; if that happens, it would make his talk a "resounding success", he said, but the time frame for that is probably something like five years.
There are probably elements of the talk that almost any participant or observer would quibble (at least) with, but it seems fairly likely that there would not be widespread agreement on which. The reaction to the talk has been laudatory in many quarters and he clearly voiced concerns that have largely stayed under wraps. In the talk, Vetter has identified some real problems in the kernel community, it remains to be seen where it goes from here.
A YouTube video of the talk is available.
[I would like to thank LWN's travel sponsor, the Linux Foundation, for travel assistance to Sydney for LCA.]
Index entries for this article | |
---|---|
Kernel | Development model |
Conference | linux.conf.au/2018 |
Too many lords, not enough stewards
Posted Feb 1, 2018 1:04 UTC (Thu) by bferrell (subscriber, #624) [Link]
When you have rock stars, they give thrilling performances, generate tremendous amounts of excitement for both the observers and themselves. They also trash hotel rooms and people, behave atrociously and eventually self destruct. This isn't limited to rock and roll. Cults of personality exist everywhere we look now. I'm not going to get real specific either. All I can do with that is start multiple flame wars. In entertainment, we have Harvey Weinstein and a cast far longer than we want to get into. There have been a number of recent revelations in tech.
In large partially, I think it's the stakes. Rock star performance results in rock star rewards... Retire at 30 and buy an island retreat.... Do WHATEVER you want. That's what the implication is. We can look at certain companies that were and seemingly are rock stars, fast moving, fast growing and so dazzled by themselves they fail to understand, from the top down... Just because you're able to doen't mean you should. Tax avoidance, dodgy software used to evade the law... practices written and executed by people. In other places we hear and largely accept the phrase "by any and all means necessary". To me, that means no quarter given and none asked. Utter ruthlessness.
The excuse used is the business mantra of "responsibility to the owners/shareholders". It's not really a law I'm told, but from the top down, it's treated that way and used to absolve all sorts of nastiness... Including hiring, encouraging and making more "rock stars".
All in the name of merit.
Too many lords, not enough stewards
Posted Feb 1, 2018 4:49 UTC (Thu) by josh (subscriber, #17465) [Link]
Let's not glorify the toxic "rock stars", as though their behavior comes with the territory. It doesn't. People are just more likely to put up with it. Let's not.
Too many lords, not enough stewards
Posted Feb 1, 2018 5:50 UTC (Thu) by etbe (subscriber, #17516) [Link]
The music industry takes most of the money, the actual stars don't get that much. If rock stars burn out then the music companies still make good money and they just launch another rock group to replace them. Copying the music industry seems counter-productive if you care about the quality of the product or the life expectancy of the workers.
Too many lords, not enough stewards
Posted Feb 1, 2018 8:28 UTC (Thu) by marcH (subscriber, #57642) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 8:35 UTC (Thu) by rodgerd (guest, #58896) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 2:30 UTC (Thu) by msnitzer (guest, #57232) [Link]
I don't make people respin Device Mapper (DM) patches 10 times. I create the change I want to see in a contributor's code more often than not. Developers might not like that either. But this is all meant to be collaborative. There is also no one size fits all. And it certainly isn't meant to be an exercise of combat. The fact that Linux development participants think like that, and then profess to know what maintainers should and shouldn't be doing is the worst manifestation of frustration with maintainer decisions. Guess what: developers who disrespect developers burn bridges they are meant to use.
The code of conflict isn't meant to be a weapon either. The first person to win the race to assert that they have a right to escalate to the Linux Foundation's TAB is usually the snowflake who just isn't able to convey their technical views in a convincing way.
Disgruntled developers bury themselves. Maintainers aren't the problem. And talks like this (by a maintainer!?) only encourage some new geek melodrama #linuxmetoo movement. But ask me how I really feel ;)
Too many lords, not enough stewards
Posted Feb 1, 2018 3:31 UTC (Thu) by roc (subscriber, #30627) [Link]
That sounds reasonable on the surface. But taken to an extreme, the same logic at Mozilla meant we couldn't talk openly about the misbehaviour of anti-virus vendors because we needed them to keep working with us. Not healthy.
I have complaints about the kernel development process that I haven't published because I don't want to upset developers we might need to work with on rr-related issues in the future. Maybe that's a problem, maybe it isn't.
Too many lords, not enough stewards
Posted Feb 1, 2018 5:33 UTC (Thu) by neilbrown (subscriber, #359) [Link]
Are people really that fragile?
I personally hate it when people hide or distort the facts under the mistaken idea that my feelings might be hurt in some way. They are my feelings and I'll take responsibility for them.
Certainly be careful how you say things - be polite, respectful, and make "I" statements rather than "you" statements. But the worst effect the content can have is that I'll think you are wrong (which is only fair as in that case you probably think I'm wrong).
Too many lords, not enough stewards
Posted Feb 1, 2018 8:02 UTC (Thu) by rodgerd (guest, #58896) [Link]
> Certainly be careful how you say things - be polite, respectful
A hilarious juxtaposition.
Too many lords, not enough stewards
Posted Feb 1, 2018 21:52 UTC (Thu) by neilbrown (subscriber, #359) [Link]
I'm glad I was able to bring some amusement to your life, but I fear it might have just been a misunderstanding.
The reason for being polite and respectful is not because people might be fragile, but because people are easily distracted - they hear the loudest message and have to focus to hear other messages.
If you are impolite or disrespectful, people will hear that and might miss your intended message. If you want your message to be heard, then present it in a way that lets people focus on it - ideally in a way that draws people towards it.
Too many lords, not enough stewards
Posted Feb 1, 2018 22:15 UTC (Thu) by gracinet (subscriber, #89400) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 23:22 UTC (Thu) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 3:14 UTC (Fri) by gracinet (subscriber, #89400) [Link]
I genuinely enjoyed Neil's comment a lot for I feel it's great wisdom, not only for its pleasant self-reference or its rhetorical structure. I suppose we all know more or less that starting a fight is definitely not the good way to solve an issue, yet I'd never laid a finger on it so clearly.
Anyway, I will definitely try and think "focus, what's the goal here?" in the future to help me avoid escalating tensions in my teamwork.
Too many lords, not enough stewards
Posted Feb 8, 2018 10:47 UTC (Thu) by Wol (subscriber, #4433) [Link]
As a retired maintainer, Neil speaks from experience. And the community he led is a happy one, in my experience.
Cheers,
Wol
Too many lords, not enough stewards
Posted Feb 9, 2018 2:00 UTC (Fri) by nix (subscriber, #2304) [Link]
Too many lords, not enough stewards
Posted Feb 3, 2018 10:24 UTC (Sat) by patrick_g (subscriber, #44470) [Link]
It reminds me the "Crocker's Rules" : http://sl4.org/crocker.html
Too many lords, not enough stewards
Posted Feb 4, 2018 6:03 UTC (Sun) by neilbrown (subscriber, #359) [Link]
Thanks for the link! It seems very sensible.
I am always happy to communicate under Crocker's Rules.
Too many lords, not enough stewards
Posted Feb 5, 2018 2:14 UTC (Mon) by mjg59 (subscriber, #23239) [Link]
Too many lords, not enough stewards
Posted Feb 5, 2018 3:21 UTC (Mon) by neilbrown (subscriber, #359) [Link]
I find "fault" to be a fairly unhelpful concept, in the same class a "blame" and "guilt" and "shame". They might play a useful role when trying to build a community through control. They don't play a useful role when building a co-operative community.
"fault" is an historical concept - it depends on how you interpret a sequence of events (a history). Different people will interpret history in different ways.
Feuds often arise when two people (or groups) each blame the other for some outcome. Both sides can have an interpretation of history that is quite convincing, but that doesn't help co-operation.
So no, it doesn't suppose that my negative personal reaction is my fault - fault is irrelevant. Rather, it declares that my negative personal reaction is my responsibility - you don't need to concern yourself with it. You are most welcome to engage in any action that you see as potentially healing, but you shouldn't avoid an action simply because you fear it might trigger a negative personal reaction in me.
Think about code. If you post a patch and I, as maintainer, accept it, and then it turns out to be buggy - whose fault is the bug. Answer: it doesn't matter. I want to know about the bug so I can fix it and hopefully avoid similar bugs in future. I want you to know about the bug, not to accuse you but so that you might learn from it.
I'm happy for you to post a fix, or for someone else to post a fix, or I'll do it myself. Fixing it is my responsibility. I'm happy to receive help, but I'm not interested in assigning blame.
Don't hold back a patch that seems useful, out of fear that there might be a bug. Post the patch, explain why it is useful, explain any basis for any fear that you have. As maintainer of the code, it becomes my responsibility whether to apply it.
If you consistently send me patches that turn out to be buggy, I might start ignoring patches from you. If you consistent say things that trigger a negative personal reaction for me, I might stop listening to you. But in both cases, I'm the maintainer and I take responsibility.
> That's not how people work.
That's not how people who are used to controlling others and being controlled in return work. I've watched people play that game. I don't like it.
Too many lords, not enough stewards
Posted Feb 5, 2018 10:05 UTC (Mon) by mjg59 (subscriber, #23239) [Link]
From the rules:
> Crocker's Rules means that you have accepted full responsibility for the operation of your own mind - if you're offended, it's your fault.
So:
> So no, it doesn't suppose that my negative personal reaction is my fault
It literally does.
Too many lords, not enough stewards
Posted Feb 5, 2018 16:58 UTC (Mon) by dgm (subscriber, #49227) [Link]
> It literally does.
No, it doesn't. It's a *definition*, not an assumption. And rather explicit.
We can discuss, if you want, if it actually exisist some (super)human beeing capable operating under Crocker's rules all the time, but that's another thing entirely.
Too many lords, not enough stewards
Posted Feb 5, 2018 10:35 UTC (Mon) by farnz (subscriber, #17727) [Link]
The issue with Crocker's rule, taken to extremes, is that it implies that it's OK to be as deliberately offensive as you like, because the negative reactions to deliberate offensiveness as the responsibility of the person offended. For example, if I insist on calling someone a monkey, not a person, knowing that they're (a) Black American, and (b) have experienced such comparisons being used to justify treating them personally as less than human, Crocker's rule says that it's their fault they got upset.
It's a good guideline for an individual to start from - not least because, taken seriously, you're always able to explain what about a statement that has upset you has triggered the upset, and thus explain it so that people can avoid giving offence later, but it's not a great guide for communication in general.
Too many lords, not enough stewards
Posted Feb 5, 2018 11:06 UTC (Mon) by neilbrown (subscriber, #359) [Link]
I think that extreme is distorted beyond recognition.
To quote "Declaring yourself to be operating by "Crocker's Rules" means that other people are allowed to optimize their messages for information,.."
So the primary goal is maximizing information. If someone chooses to be deliberately offensive, I fail to see how that can be construed as "maximizing information".
Also, if you choose to use Crocker's rules, it doesn't imply it is OK for "you" to do anything. It is permission for other people to do certain things. If a person feels that the risks exceed the benefits, they would be well advised not declare Crocker's rules. As described in the link, it is strictly opt-in.
Of course, people who are determined to be offensive are unlikely be deterred by someone's decision not to opt-in. So I cannot see how the "deliberately offensive" hypothesis is at all relevant - it is neither encouraged nor prevented.
Too many lords, not enough stewards
Posted Feb 5, 2018 11:30 UTC (Mon) by farnz (subscriber, #17727) [Link]
The issue is that it fails in the face of bad actors; someone who genuinely believes that there's a skin tone that implies that you're not human any more is optimizing to maximise information transfer. It's just that some of the information they're transferring (that they don't believe that you're a person because of your skin tone) isn't directly relevant to the task at hand.
Now, it may also be the case that some of the information they're transferring is offensive - but they've optimized for information transfer above all else, and you, by opting into Crocker's rules, have implied that it's fine for them to assert that you're not a real person, but a sub-human slave, because by doing so, they're maximizing information.
Too many lords, not enough stewards
Posted Feb 5, 2018 17:06 UTC (Mon) by dgm (subscriber, #49227) [Link]
Just remember that opting in to Crocker's Rules doesn't imply that I cannot discard information that I deem unrelated to the task at hand. It's not that different from the Robustness Principle "Be conservative in what you send, be liberal in what you accept".
Too many lords, not enough stewards
Posted Feb 5, 2018 17:55 UTC (Mon) by farnz (subscriber, #17727) [Link]
And it has the same failure cases as the Robustness Principle; where all actors involved are making a good faith effort to make things better, both Crocker's Rules and the Robustness Principle result in miscommunication being quickly resolved with the right outcome. It falls over when there are bad actors involved who don't actually want to make things better, but to make their ideas dominate come what may; if no-one is calling out bad behaviour, then bad actors have no reason to change their actions.
In turn, this leads to the toxic community issue, given enough time - when you see that a community is apparently accepting of racism/sexism/whateverism (because no-one calls it out under Crocker's Rules), bad actors who approve of racism/sexism/whateverism are willing to join, but past victims of racism/sexism/whateverism are put off because they fear a fresh bad experience. If left unchecked, that leads to an environment where only people tolerant of racism/sexism/whateverism take part, because people who just want to discuss technical details are put off by the racism/sexism/whateverism that pops up all the time.
Too many lords, not enough stewards
Posted Feb 5, 2018 22:25 UTC (Mon) by neilbrown (subscriber, #359) [Link]
If, however, the information content of your messages is (by my assessment) harmful to the community - if you refuse to use secure encryption or masquerade as a host that isn't you, or consistently deliver unsolicited bulk email or engage in DDoS attacks - then I don't see that Crocker's rules prevent me from highlighting this fact in the community and suggesting that they are not helpful behaviours.
> if no-one is calling out bad behaviour, then bad actors have no reason to change their actions.
I completely agree with this. Crocker's rules are only half a solution. They allow us to communicate openly without fear of a misunderstanding escalating. They don't tell us what we need to communicate.
If you receive a message which you think it unhelpful or harmful, it is perfectly within Crocker's rules to say so - to call out the bad behaviour. Don't say it in a way to attack anyone - say it in a way to inform people. Maybe your correspondent will learn something and change their ways. Maybe they will persist and you will determine that they are an unreliable source of information, and act accordingly.
I'm imagining a new tag in the MAINTAINERS file which declares:
1/ I accept Crocker's rules on kernel related email lists
2/ I undertake to be polite and respectful in kernel related email. Please tell me if you notice me behaving otherwise.
Purely opt-in of course.
If you are having a problem getting a patch accepted, try sending it to someone who has declared that tag.
Too many lords, not enough stewards
Posted Feb 6, 2018 0:36 UTC (Tue) by excors (subscriber, #95769) [Link]
I think a problem with that approach is that when someone sends a message to you on an email list, you are not the whole audience for that message. Possibly hundreds of other people will read it too, and they haven't all signed up to Crocker's Rules.
E.g. Alice says something to Bob, Eve is on the same list and reads that message and silently agrees with Alice's arguments, but Bob disagrees and calls Alice a moron. Alice doesn't care and shrugs it off, but Eve feels like the insult applies to her too (as she shares Alice's position) and is offended, and will be reluctant to join the discussion in support of Alice, and might become nervous of talking to Bob even in unrelated discussions, and everyone will lose out on Eve's valuable technical input.
Then there's the positive feedback cycle that farnz suggested, where newcomers who are crocks like Alice and Bob will happily join in all the discussions, while non-crocks stay quiet in any discussions that involve at least one crock, and it will only reach an equilibrium once all the non-crocks have been driven out of the community.
Too many lords, not enough stewards
Posted Feb 6, 2018 13:29 UTC (Tue) by farnz (subscriber, #17727) [Link]
Worse; if Bob is a bad actor (rather than a good actor with poor communication skills), Bob and their ilk can ensure that the Crocker's adherents don't get to the point of calling them out, but that Eve and their ilk are made aware that joining in here will result in the same bad outcomes that they've already experienced elsewhere. Things like "dogwhistles" are useful here - chances of you even recognizing them if you're in neither the abusive nor the targeted group are low, but they set expectations.
A better alternative I've seen described as "assume good intent" is to start from the assumption that Bob doesn't mean the bad thing he just said, and to respond by first rephrasing what Bob said into a good description of what you understood him to mean in Crocker's terms, and then to respond to the rephrasing you did.
Something like Bob says "WTF, this code is awful - time of the month?!?", and you respond with "Bob, that's not a good way to express things. I'm assuming you meant 'how did you test this code - I can't see how it could work?'" and continue from there.
If Bob is a good actor, then you've not harmed anyone - you've given Bob a chance to understand that they didn't express themselves well, you've given Alice and Eve a sign that bad behaviour is not considered acceptable here, and you've moved on quickly from the bad phrasing to the technical detail. If Bob is a bad actor, you've either made them realise that bad behaviour is not OK here, or you've pushing them towards being explicitly offensive.
Too many lords, not enough stewards
Posted Feb 6, 2018 21:57 UTC (Tue) by paulj (subscriber, #341) [Link]
Great comment, thanks.
Too many lords, not enough stewards
Posted Feb 9, 2018 0:50 UTC (Fri) by ras (subscriber, #33059) [Link]
That's the glass half empty way of looking at it.
The glass half full way of taking it is that you are master of your own universe, not someone else. So if they say you are being a jerk, take it in the same way as someone saying you got some technical thing wrong. Look at the evidence. Maybe life in your universe would have been easier in the long run if you had waited a few hours before firing off that angry reply. Or maybe it really was time to draw a line in the sand by letting your displeasure show through.
Regardless, your negative reaction is something you should own and control. If it's not, it's a lever someone else can use to manipulate you.
Too many lords, not enough stewards
Posted Mar 30, 2018 19:43 UTC (Fri) by ssmith32 (subscriber, #72404) [Link]
There is, however, a fair amount of academic, science-based literature out there that addresses the issue in a far better way. I found "Why Zebras Don't Get Ulcers", by Robert Sapolsky, to be an excellent overview of this (the most effective attitude to take under stress), as well as other things.
Of course, the truth is we *don't* actually have full control over our life or our emotions, or even our decisions. We have some.
So is it a good thing to believe you have enough agency to take full responsibility over your own emotions?
Spoiler: as with so many things, the answer is, "it depends". Context matters.
In the example in the Crockford rules (e.g. "you're a moron"). It depends on whether the person's evaluation of your general intelligence is useful data that you can use to take productive actions. Personally, when I'm trying to solve technical issues, I find it rarely is. Now, *why* they think I'm a moron - usually that is very helpful.
Too many lords, not enough stewards
Posted Mar 30, 2018 19:46 UTC (Fri) by ssmith32 (subscriber, #72404) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 4:37 UTC (Thu) by josh (subscriber, #17465) [Link]
There exist good maintainers. Daniel is one of them. I know several others. This article isn't about them, and every article about such problems doesn't need to pause and say "by the way, notallmaintainers". (Not that this article and talk didn't already reference some positive steps people have taken.) If someone is in doubt about whether their behavior is what the article describes, perhaps they should take a closer look at it.
> Guess what: developers who disrespect developers burn bridges they are meant to use.
Nobody said otherwise. But guess what: maintainers shouldn't disrespect developers either. It's entirely possible to have a development community that *isn't* regularly held up as an example of how not to treat people, and is even regularly held up as an example of how to create an energizing environment that more people love to take part in.
You seem to be going out of your way to suggest that the Linux kernel development community is fine and healthy and there's nothing wrong with it. There are more than enough counterexamples to that point. The fact that *you, personally* don't have a problem with it does not negate the experiences of numerous people who *have* experienced problems with it, and find it unpleasant, painful, and *draining* to work in.
> And talks like this (by a maintainer!?)
Yes, by a maintainer. Eminently qualified to talk about just how broken the community he works heavily with is. Recognizing the problem is the first step to fixing it. And we could use a few less staunch defenders standing around the cesspool and getting in the way of improving it, too.
I have *personally* been in meetings that had architectural decisions influenced by "how do we touch that subsystem the least, so that we don't have to deal with its maintainer". Does that sound like a particularly healthy and enjoyable community?
Too many lords, not enough stewards
Posted Feb 1, 2018 5:47 UTC (Thu) by neilbrown (subscriber, #359) [Link]
That is very sad, and sounds exactly like "the platform problem" (https://lwn.net/Articles/443531/). If there is a bug in the kernel (or the community) we don't want it to be worked around, we want it to be fixed.
"Fixing" doesn't mean endless design discussions or in-depth analyses of what is wrong. It means developing and sending patches and following through with them. Patches address specific issues with specific code in specific subsystems. One problem with your claim (and parts of Vetter's talk) is that there are no specifics so the claim cannot be verified and the effectiveness of the solution cannot be measured.
Of course, if you had specifics, I wouldn't expect them to be posted here, any more than I expect patches to be posted here. They belong where-ever they can be applied.
Too many lords, not enough stewards
Posted Feb 1, 2018 6:04 UTC (Thu) by josh (subscriber, #17465) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 12:29 UTC (Thu) by dvdhrm (guest, #85474) [Link]
I have had several cross-subsystem patches end up being stalled, while *core maintainers* reply in private to me bitching about other maintainers that they would be required to work with to get the patch committed. This is not about $random-driver, but VFS, MM, arch, and other core kernel parts.
In my experience, this is not the exception, but the rule.
Too many lords, not enough stewards
Posted Feb 1, 2018 21:32 UTC (Thu) by neilbrown (subscriber, #359) [Link]
It may be "the rule", but it is still a bug. We are engineers. We should be fixing bugs.
I believe that Linus genuinely cares that the process works and that maintainers are working effectively. That is the only thing that he is interested in talking about at the kernel summit. So if you have any sort of evidence at all, please present it to him. Focus on the process, not the people, and ask him what you should do to get your patches merged.
Be prepared to be patient, and be prepared to do some extra work yourself - presumably the end-goal is worth it.
Too many lords, not enough stewards
Posted Feb 1, 2018 11:19 UTC (Thu) by broonie (subscriber, #7078) [Link]
I have *personally* been in meetings that had architectural decisions influenced by "how do we touch that subsystem the least, so that we don't have to deal with its maintainer". Does that sound like a particularly healthy and enjoyable community?Me too. It's a thing. Often it's just the maintainer being AWOL rather than anything worse - not that that entirely helps the contributor, and the worse does happen as well.
Too many lords, not enough stewards
Posted Feb 1, 2018 13:22 UTC (Thu) by msnitzer (guest, #57232) [Link]
And a non-maintainer who builds longstanding animosity and conflict with another non-maintainer and then expects a maintainer to be the arbiter is bringing pain to all involved. It becomes more about sniping and stone-walling than what is good for the code.
I have recent experience dealing with that exact situation. It was _awful_. The Linux community isn't always fine. But just because negative experiences influence peoples' views of the health of the Linux community doesn't mean it is a cesspool.
And FYI, I'm a maintainer. I consider myself qualified to have a voice in this discussion too.
I'm not saying everything is perfect. But I also don't think the Linux kernel community on the precipice of certain gloom and doom like Daniel would have us all believe. Projecting a self-help book's content onto a development community is an exercise in pissing in the wind.. sorry but Daniel's views are the minority for a reason.
Too many lords, not enough stewards
Posted Feb 1, 2018 20:43 UTC (Thu) by k8to (subscriber, #15413) [Link]
Don't attack me for saying this either. I'm taking authority on your motivations etc, just echoing how the tone reads.
Too many lords, not enough stewards
Posted Feb 1, 2018 20:46 UTC (Thu) by k8to (subscriber, #15413) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 13:09 UTC (Fri) by [email protected] (subscriber, #39252) [Link]
> There exist good maintainers. Daniel is one of them. I know several others. This article isn't about them, and every article
> about such problems doesn't need to pause and say "by the way, notallmaintainers". (Not that this article and talk didn't
> already reference some positive steps people have taken.) If someone is in doubt about whether their behavior is what
> the article describes, perhaps they should take a closer look at it.
In my view, general statements of bad behavior in a group of people made in public may be regarded as offensive unless they are clearly applicable to the majority of that group (in which case the evidence they are based on should be made clear too).
For example, I don't think it would be appropriate to say something like "White males abuse their wives" in a public dispute out of any deeper context.
Too many lords, not enough stewards
Posted Feb 1, 2018 8:05 UTC (Thu) by rodgerd (guest, #58896) [Link]
And yet here you are to make it clear that you glory in the awful behaviours alluded to!
Complete with threats: "developers who disrespect developers burn bridges they are meant to use."
> the snowflake
You seem to be the most sensitive person here; I suspect it's a problem of over-identification.
Too many lords, not enough stewards
Posted Feb 1, 2018 21:43 UTC (Thu) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 23:48 UTC (Thu) by rodgerd (guest, #58896) [Link]
And no, it's not trolling - but I can certainly understand, given your inability to frame your response to Daniel's piece in terms of championing aggressive behaviour, veiled threats, and your own hurt feelings - why it would be easier to do so rather than to engage with it honestly.
Too many lords, not enough stewards
Posted Feb 2, 2018 0:18 UTC (Fri) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 0:30 UTC (Fri) by corbet (editor, #1) [Link]
Can I suggest that maybe it's time to take a break from this conversation? I think it would be good if everybody involved (not just the one I'm responding to) would step back and calm down a bit. Maybe afterward we could try to take it in a more constructive direction.Thanks.
Too many lords, not enough stewards
Posted Feb 1, 2018 10:11 UTC (Thu) by daniels (subscriber, #16193) [Link]
As you say, sweeping generalisations aren't helpful. But even the code of conflict refers to people being 'abused' or 'threatened'. I have a hard time seeing how personal abuse and threats are part of 'keeping it all about the code', and everything being purely technical.
Too many lords, not enough stewards
Posted Feb 1, 2018 13:32 UTC (Thu) by msnitzer (guest, #57232) [Link]
Abuse and threats are _not_ OK. But a person who isn't getting their way that falsely resorts to such accusations is the definition of dysfunction and even cancer. It is like a woman evoking "I feel threatened" when she has absolutely no reason to be. She knows it'll get people to back off even when she is what is wrong. Those instances must be called out and rejected. But they aren't, because the person went nuclear and nobody wants to touch it. And because that person already established themselves as erratic and misguided and largely beyond consoling or help.
Too many lords, not enough stewards
Posted Feb 1, 2018 15:28 UTC (Thu) by daniels (subscriber, #16193) [Link]
Of course. I don't know anyone who's argued for strong codes of conduct and enforcement, who thinks false claims are a good thing which should be encouraged. Any system which isn't prepared to handle false claims is counterproductive and broken.
Despite the hysteria though, there doesn't actually seem to be documented cases of abuses of reasonable strong systems. On the other hand, there are a huge number of cases where the lack of such a system has been exploited to abuse people.
But you can run DM how you like, and make sure all the snowflakes are run out.
Too many lords, not enough stewards
Posted Feb 1, 2018 16:36 UTC (Thu) by msnitzer (guest, #57232) [Link]
Using "snowflake" obviously triggers people. I could've used a different word. But snowflake really does serve a purpose. It is describing the people who generally do have problems. I'm in favor of enabling people to realize their goals and help as I can. To that end I'm forced to deal with conflicting opinions, requirements, and other more unsavory ratholes that come with that. It is the sad reality of being a maintainer. And it certainly does make the role feel like "work". If people could let the past be the past we'd be better off. Easier said than done. Most maintainers really are good and helpful. For those that aren't, we're forced to "suck it up" and "roll with the punches". Same goes for problematic developers that foster dysfunctional exchanges more than ideal.
Really not trying to be controversial. But flippant responses like "But you can run DM how you like, and make sure all the snowflakes are run out." are received loud and clear. I can be better. And so can you.
Too many lords, not enough stewards
Posted Feb 1, 2018 18:24 UTC (Thu) by excors (subscriber, #95769) [Link]
Maybe that's not what you intended at all, but I don't think I'm alone in perceiving that subtext. If you want to avoid misinterpretation, don't use words that have strong unwanted connotations in the communities you interact with.
Too many lords, not enough stewards
Posted Feb 1, 2018 18:59 UTC (Thu) by msnitzer (guest, #57232) [Link]
The question really is: can we harness the good to improve and innovate while also defeating the bad elements that are omnipresent? I think we do a pretty damn good job of it in the grand scheme of things. So when entire talks are dedicated to just how bad it is, that comes off as quite disingenuous. It isn't an accurate characterization of the broader community and the people who make it all work. And to speak so emphatically as if it is, that is a problem.
Too many lords, not enough stewards
Posted Feb 2, 2018 0:22 UTC (Fri) by nivedita76 (subscriber, #121790) [Link]
Too many lords, not enough stewards
Posted Feb 8, 2018 11:05 UTC (Thu) by Wol (subscriber, #4433) [Link]
I regularly use the term "black". The people I am talking about are not American, and would find the term "African" offensive.
Always remember the English and Americans are two peoples divided by a common language - and don't you dare translate the word "bum-bag" in my presence - the American equivalent is both offensive and sexist ... :-)
(It took me quite a while to realise what you saw as offensive ...)
Cheers,
Wol
Too many lords, not enough stewards
Posted Feb 2, 2018 12:50 UTC (Fri) by [email protected] (subscriber, #39252) [Link]
I also have to say that I feel personally offended by some statements made in the talk, even though I may agree with some points made in it too. Yes, I can get over this, but that doesn't particularly improve the taste in my mouth, so to speak.
Moreover, kernel code maintainers *are* contributors too. The majority of them actually contribute code changes, but even if they don't do that, maintaining a piece of kernel code is a significant contribution pretty much by itself, so positioning them against "contributors" as it was done in the talk doesn't appear to be fair enough.
Too many lords, not enough stewards
Posted Feb 1, 2018 15:44 UTC (Thu) by jkingweb (subscriber, #113039) [Link]
You really undermine your argument by using "snowflake" rather than, say, "party". Surely if it's supposed to be a matter of technical merit, name-calling can be avoided?
Too many lords, not enough stewards
Posted Feb 1, 2018 17:28 UTC (Thu) by jubal (subscriber, #67202) [Link]
Whatever you feel, your reply shows very explicitly that you're part of the problem.
Too many lords, not enough stewards
Posted Feb 1, 2018 18:51 UTC (Thu) by ttelford (subscriber, #44176) [Link]
It's clear that Daniel Vetter is creating problems of his own as well: His stated attitude that anybody who isn't willing to help in his crusade is complicit is, quite frankly, offensive. It's an all-too-common declaration that everybody should to bow to some petty tyrant's will; it's even in Star Wars when Anakin declared "If you're not with me, you're against me."
Too many lords, not enough stewards
Posted Feb 1, 2018 19:17 UTC (Thu) by josh (subscriber, #17465) [Link]
> When you chat with many of the people who have been around kernel development for a long time and challenge them about problematic people, toxic behavior, or "maybe we should do this better" the response is often "it is what it is and you just deal with it". In his view, this makes them complicit.
I think you're interpreting that comment differently. There's a huge difference between not having the bandwidth to deal with the problem and not acknowledging that there's a problem. I can *absolutely* sympathize with anyone who does not have the time or energy to solve the problem themselves; that's not inherently wrong. But that's not the same thing as saying there *isn't* a problem, or that the current ecosystem is working just fine, or pointing at the pace of development and figuring that people just need to "grow a thicker skin" and "just deal with it". Or, even worse, *defending* the current state of affairs and attacking people who try to identify and address problems with it.
Nobody here has said "if you're not with me, you're against me". The problem is people who are, in fact, against fixing the problem, against talking about the problem, or against the idea that there's a problem at all.
Too many lords, not enough stewards
Posted Feb 1, 2018 21:58 UTC (Thu) by pbonzini (subscriber, #60935) [Link]
Yet many of the maintainers want to improve the community starting with their little piece. Calling the Linux community names like "appalling" or "toxic" might have been a Twitter sport for some time now, but a sweeping generalization saying that the usual, expected maintainer behavior can be likened to abuser-victim relationships? That's a first, and I think it crosses a line---so much for bragging that your subsystem has a code of conduct.
_No one_ deserves that, among Linux developers or anyone else. I have never felt as uneasy (in a work setting of course), as listening to Daniel's talk made me feel.
Too many lords, not enough stewards
Posted Feb 1, 2018 22:11 UTC (Thu) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 23:05 UTC (Thu) by airlied (subscriber, #9104) [Link]
But why does make you uneasy? Do you think there is some truth in it, if you are pretty confident there is no parallels between maintainer behaviour and abuser-victim relationship then you'd have no reason to fell uneasy and could just dismiss Daniel's comments out of hand.
I've been on the receiving end of my fair share of Linus fits, and I've describe my reaction to those to a few people who definitely drew parallels to an abusive relationship. My excuse was I was staying for the kids.
Too many lords, not enough stewards
Posted Feb 1, 2018 23:36 UTC (Thu) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 23:44 UTC (Thu) by rodgerd (guest, #58896) [Link]
From the guy calling people "snowflakes."
I think the problem here is the talk cuts too close to the bone for you.
Too many lords, not enough stewards
Posted Feb 1, 2018 23:57 UTC (Thu) by pbonzini (subscriber, #60935) [Link]
Would you enjoy it?
Too many lords, not enough stewards
Posted Feb 2, 2018 3:04 UTC (Fri) by rodgerd (guest, #58896) [Link]
And given my career has been spent poking computers in newspapers and finance, I'm very used to people making sweeping generalisations. Why would I take it to heart, unless I thought they were fair and accurate?
Too many lords, not enough stewards
Posted Feb 2, 2018 4:49 UTC (Fri) by pbonzini (subscriber, #60935) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 6:12 UTC (Fri) by ashkulz (subscriber, #102382) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 6:16 UTC (Fri) by rodgerd (guest, #58896) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 0:27 UTC (Fri) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 0:46 UTC (Fri) by airlied (subscriber, #9104) [Link]
Let's calm down
Posted Feb 2, 2018 0:50 UTC (Fri) by corbet (editor, #1) [Link]
Second request: I honestly think it's time to take a break and let things calm down a bit. Please?
Too many lords, not enough stewards
Posted Feb 2, 2018 1:31 UTC (Fri) by msnitzer (guest, #57232) [Link]
(I've emailed David to reinforce that I wasn't directing my comment to him.. but that aside, I fully accept I've done more harm than good in these comments; and yes I'm "done". Apologies for the noise Jon)
Too many lords, not enough stewards
Posted Feb 2, 2018 2:57 UTC (Fri) by rodgerd (guest, #58896) [Link]
It's quite a contrast, and it might be useful to think empathically about the fact that you have more in common with the people you're dismissing than you realise.
Too many lords, not enough stewards
Posted Feb 2, 2018 4:00 UTC (Fri) by k8to (subscriber, #15413) [Link]
If you want to avoid being toxic in your communications, you simply have to recognize how terms are used and the associations in place. The fact that pepe the frog looks cute doesn't mean that wearing him on your shirt to work every day won't cause problems.
Too many lords, not enough stewards
Posted Feb 2, 2018 5:43 UTC (Fri) by ttelford (subscriber, #44176) [Link]
Clearly, the term means something very different in your worldview.
That’s fine, but please do not make the mistake of attacking anybody who doesn’t see the world through your lens.
Too many lords, not enough stewards
Posted Feb 2, 2018 5:50 UTC (Fri) by rodgerd (guest, #58896) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 6:17 UTC (Fri) by ttelford (subscriber, #44176) [Link]
Too many lords, not enough stewards
Posted Feb 3, 2018 1:37 UTC (Sat) by k8to (subscriber, #15413) [Link]
And it's used to imply that, crassly, about anyone they disagree with, in a lazy way that tries to shut down communication rather than engage in it.
That's the standard usage.
Lord of Snowflakes
Posted Feb 8, 2018 5:55 UTC (Thu) by Garak (guest, #99377) [Link]
The relevant quasi-paranoid thought I have here is that prior to Snowden, I had never heard the 'snowflake' term used in those ways. Close, but not the same. Prior to Snowden, had I encountered it, I would have interpreted its use as referring to the 'myth' of all snowflakes being unique, and something a compassionate person might use to encourage a sense of self-importance in a person who at the time was feeling as if they didn't matter much, because they were just a single person on a planet of billions. Then, curiously (to me), somewhat shortly after Snowden, I started seeing it used in the way you described in internet comments. Slashdot or SoylentNews, I think I saw it used by someone in the same comment as outright racist (perhaps trolling) comments. Then as time went on I saw occasional use of it in the way you described. I do think however that an adequate exploration of the term is indeed key to this entire topic, including the long comment thread. I must also admit that about the closest I ever came to kernel development was some participation in dm-devel, where an idea I made was dismissed. Before reading this thread I was certainly content to believe it likely that my idea indeed was not good, or not explained well. However I also happen to have a ruthless-jungle darwinian view of linux kernel 'politics', and a non-mainstream view that forking should be viewed with positive rather than negative connotation. Thus I was always perfectly content with the idea that I was able and free to fork and demonstrate the utility of the idea independent of any official maintainer. And even though I think this thread is the best evidence one could imagine for Linus to demote/fire msnitzer, I have to admit that part of my understanding of the political issue around Linus's 'colorful' methods of critically commenting, can pretty much be summed up by this 'snowflake' usage. Namely I've never seen any quotes from him on LWN that make me wish he would be out of the picture. Unlike about a dozen in this thread from msnitzer. Yet at the same time, I also have a paranoid theory that intelligence agencies threatened by Snowden's revelations may have pushed this particular 'snowflake' trigger/meme in a mass-psyop tactic. I hope within a couple hundred years some AI does a plot of instances of uses of the term in internet comments, perhaps to flesh out that theory. $0.02...
Too many lords, not enough stewards
Posted Feb 1, 2018 23:48 UTC (Thu) by pbonzini (subscriber, #60935) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 23:53 UTC (Thu) by neilbrown (subscriber, #359) [Link]
I cannot speak for Paolo, but it made *me* uneasy because I felt it was painting a distorted picture, which had just enough truth in it the people might believe the whole. I think that would be harmful.
I don't go the LCA to hear how the world is broken. I go to hear what people are doing to fix it - maybe I can join them or learn from them.
This talk https://www.youtube.com/watch?v=-3HNeoFuSH0 is only 13 minutes long, and is about working *with* the community, and is certainly worth watching.
> I've been on the receiving end of my fair share of Linus fits,
I learned to laugh at bullies long ago; usually under my breath - I'm not stupid. Laughing at them doesn't change them, but it sure helps me. Pity might be an even healthier response, but it is more challenging.
Too many lords, not enough stewards
Posted Feb 2, 2018 0:05 UTC (Fri) by airlied (subscriber, #9104) [Link]
I think Daniel might have overpainted the doom and gloom about it all, but maybe the LF can pay for a qualified psychologist booth at the next conference and we can describe our interactions with other community members in private and see what they say.
I know I don't do as much kernel maintainer interaction as I used to because it kinda burned me out each time, Daniel (with my support and shielding from upstream) has pretty much constructed a really good sub community in graphics and he has done more to fix this than giving a talk to explain it's broken. I do wish he'd gone into more detail on the what we can do to fix things, but really there are so many entrenched interests in the wider maintainer community that having anything reduce their standing is hard work, it's like getting politicians to pay themselves less money.
We can't even agree on a way to report bugs in a central manner, never mind what a commit msg should look like. Maybe we need maintainer training sessions.
Too many lords, not enough stewards
Posted Feb 2, 2018 0:35 UTC (Fri) by neilbrown (subscriber, #359) [Link]
This here. This is the problem. Maintainers are not like politicians.
Politicians have power because the constitution gives it to them.
Maintainers have power only because we, the community, give it to them.
Anyone who wants to can fork the kernel. Linus only has power because people trust him more than they trust anyone else in this very specific role. He doesn't have an army to suppress uprisings, or a state controlled media to convince us that, while all animals are equal, some are more equal than others. All he really has is demonstrated competence and commitment. Same goes for other maintainers.
If you keep telling yourself that the maintainers rule the world and that you have no choice than to bow to their whims or hide under a rock, then it is *you* who are giving them power, and you share some responsibility if they misuse it.
Have you seen the movie "The Help"? "You is strong, you is kind, you is important." (https://www.youtube.com/watch?v=3H50llsHm3k) You can use your strength and change the world, or you can just be a victim. Be the change you want to see, then infect others with it.
I'm not at all surprised that Daniel has been doing great things in his sub-community. He did hint at that in the talk. I would have liked to hear more about that.
> how do you avoid bullies when it's your job to deal with them though?
I guess avoidance isn't such a good strategy after all. I'll stick to laughing, and practicing compassion (a better word than 'pity' I think).
Too many lords, not enough stewards
Posted Feb 2, 2018 0:55 UTC (Fri) by airlied (subscriber, #9104) [Link]
The method of their use of that power is only formalised through the documentation. At least politicians have some documentation on how they are meant to do things I suppose.
Too many lords, not enough stewards
Posted Feb 3, 2018 22:29 UTC (Sat) by jani (subscriber, #74547) [Link]
Yes, but who in their right mind would want to? The community keeps preaching everyone who cares to listen, and probably many who don't care, about working upstream. Carrying local patches is expensive. I don't think forking the kernel is a viable option to bypass maintainers at any level.
Or I just didn't understand what you mean by forking in this context.
Too many lords, not enough stewards
Posted Feb 4, 2018 5:47 UTC (Sun) by neilbrown (subscriber, #359) [Link]
Yes it is - long term. Short term it is very cheap.
Apparently working with certain maintainers is also expensive (with others it is a joy).
Depending on your particular needs at a particular time it makes sense to perform a cost/benefit analysis and decide what the best course of action is.
Maybe the best approach is to persist with the maintainer.
Maybe it is to try to route around them.
Maybe it is to fork and maintain a separate tree for a while, and then try to merge again in 6-12 months when circumstances might have changed.
Maybe it is to fork permanently.
Key point is that you have options and you can take control within the parameters of those options. You cannot force other people to change their behaviour, but you can choose how you will behave, and it is valuable to have a clear view of all of the options.
How a person chooses to behave typically speaks more loudly than unsolicited opinions they might choose to present.
Too many lords, not enough stewards
Posted Feb 4, 2018 8:36 UTC (Sun) by rodgerd (guest, #58896) [Link]
> Yes, but who in their right mind would want to?
Are the people who work at or on Red Hat, SuSE, Google, Amazon, Debian and Oracle? Alan Cox was insane (news to the people who found years of -ac kernels vastly better than Linus kernels)?
The hyper-majority of Linux users are no-where near a mainline kernel, and many developers only touch it to pull patches into their own trees.
Too many lords, not enough stewards
Posted Feb 4, 2018 14:20 UTC (Sun) by jani (subscriber, #74547) [Link]
Yet most prefer being as close to upstream as possible, carrying local patches for their chosen stable release, downstream, perhaps to provide "value add" for their customers. Contrast this with, say, hardware vendors or individual developers forking upstream to bypass the maintainer structure, and trying to convince the above mentioned downstreams to carry their out-of-tree patches to deliver to the end users.
I suppose you can argue some level of downstream forking happens all the time, but I just don't see it as a relevant argument in the discussion at hand.
Too many lords, not enough stewards
Posted Feb 4, 2018 21:26 UTC (Sun) by neilbrown (subscriber, #359) [Link]
It is not unheard of for a hardware vendor to partner with an distro to work on getting hardware support upstream - each side brings different skills for mutual benefit. They work together on a fork when circumstances prevent them from working together upstream.
If an individual developer is having trouble getting a patch upstream, it may make perfect sense to submit a bug report/feature-request to their favourite distro and say "I have a bug, I have a fix, I cannot git it upstream, could you take it directly?". This distro maintainer might do that, or might help get it upstream, or might do both.
This is all part of "routing around".
Too many lords, not enough stewards
Posted Feb 2, 2018 3:00 UTC (Fri) by rodgerd (guest, #58896) [Link]
Maybe maintainers are doing too much: release management, coding, technical direction, and people leading appear to be what the maintainers would *ideally* do, and in most of the software dev world that's three to four different jobs. On top of that there's always the chance (as Daniel pointed out) of making the front page of The Register if Linus goes on one of performance art excursions to express displeasure with your work.
Too many lords, not enough stewards
Posted Feb 1, 2018 23:49 UTC (Thu) by rodgerd (guest, #58896) [Link]
I'm trying to find some evidence of your concern for people having abuse publicly heaped on them by, for example, Linus, and I can't. You seem to have a very one-sided set of concerns.
Too many lords, not enough stewards
Posted Feb 2, 2018 1:40 UTC (Fri) by pbonzini (subscriber, #60935) [Link]
Now that I've swallowed bait, hook and line, will you please stop trolling, thanks.
Too many lords, not enough stewards
Posted Feb 1, 2018 22:08 UTC (Thu) by ttelford (subscriber, #44176) [Link]
"It is what it is and you just deal with it" is not complicity. There is such a thing as neutral ground - shrugging your shoulders and staying out of the fight. We all get to pick our battles, and vilifying those who just want to stay out of it isn't helping the cause.
Too many lords, not enough stewards
Posted Feb 2, 2018 11:37 UTC (Fri) by jubal (subscriber, #67202) [Link]
Complicity does not require being actively involved; it's enough to just do nothing (“the standard you walk past is the standard you accept”).The subsystem maintainers are the leadership of the kernel development; as much as they might want to, they can't absolve of their responsibility for the style, tone and the general behaviour of the development community. Cf. Gen. Morisson's message to the Australian army. (Original video of the speech on youtube.)
Too many lords, not enough stewards
Posted Feb 2, 2018 15:51 UTC (Fri) by ttelford (subscriber, #44176) [Link]
The Oxford Dictionary states “Involved with others in an activity that is unlawful or morally wrong.”
Mariam Webster has “helping to commit a crime or do wrong in some way”
That’s quite different from inaction and/or choosing to be uninvolved.
By your definition, a pacifist is responsible for the horrors of war because they didn’t join up and defeat the enemy faster.
Too many lords, not enough stewards
Posted Feb 2, 2018 18:48 UTC (Fri) by tao (subscriber, #17563) [Link]
Complicit is the wrong word, no doubt about it (but Daniel Vetter is, TTBOMK, not a native English speaker), but the point he's trying to make is clear: that not protesting when you witness something wrong (in this case toxic behaviour or abuse) means that you accept it.
Pacifists typically refuse to partake in the conflicts in a rather vocal manner, so your comparison doesn't hold water.
The question is, if you observe toxic behaviour or abuse, and you don't do anything about it, who do you expect will? Maybe you don't have to be the one to do so every time you observe something, but why not set a good example at least once?
Too many lords, not enough stewards
Posted Feb 2, 2018 19:09 UTC (Fri) by blackwood (subscriber, #44174) [Link]
I did not say that silent contributors are complicit, since that would indeed be a rather silly notion. I even spent a full slide explaining why it's really hard for those silent masses of contributors to affect any change, and why it's unrealistic to expect them to work towards that.
Too many lords, not enough stewards
Posted Feb 2, 2018 23:52 UTC (Fri) by himi (subscriber, #340) [Link]
The quote from General Morrison is extremely apposite: "The standard you walk past is the standard you accept" - right now at least some of the standard setters in the kernel culture are walking past what are clearly abusive behaviours, and as community leaders they need to accept responsibility for that choice, and for the results of that choice.
Too many lords, not enough stewards
Posted Feb 3, 2018 0:41 UTC (Sat) by ttelford (subscriber, #44176) [Link]
For what it's worth, that is not the impression I got listening to the YouTube recording - I thought you were a native speaker.
> I did not say that silent contributors are complicit, since that would indeed be a rather silly notion.
I was actually rather puzzled, my thinking was along the lines of 'He just said those that don't intervene are complicit, and then gave reasons why contributors don't intervene?' In spite of my overall agreement of the ideas presented, that point stuck out to me as more than a little wrong.
This clarification changes my understanding significantly, and I do appreciate the time you spent in your response, and in the talk. Your talk was overall thought provoking and definitely worth my time.
For a bit of my own background: I originally come from a place where the culture has expectations of community involvement. It's common for people to come around asking for support in whatever their cause célèbre happens to be, and I faced retaliation when I din't want to get involved (or, even worse in their view, felt their course of action was wrong).
I still have deep scars from the experience, and it left me with a strong conviction that shaming people who just want to stay out of a fight can be deeply hurtful; to me, accusations of "complicity" are often a different flavor of manipulation and abuse.
Too many lords, not enough stewards
Posted Feb 3, 2018 6:51 UTC (Sat) by blackwood (subscriber, #44174) [Link]
>I was actually rather puzzled, my thinking was along the lines of 'He just said those that don't intervene are complicit, and then gave reasons why contributors don't intervene?' In spite of my overall agreement of the ideas presented, that point stuck out to me as more than a little wrong.
Ah I understand now why this wasnt clear enough, I didn't emphasis enough that I mean different people. And I also didn't emphasis enough that I think the problematic aspect of apologizing/excusing is when it's done by people with influence and power, like maintainers or very long-term contributors.
Trying to press the mass of general contributors (who don't have any real power to stand up) into supporting anything is indeed problematic, since it's essentially a flavour of victim-blaming. With your background I understand why you reacted strongly to that idea.
Too many lords, not enough stewards
Posted Feb 3, 2018 16:34 UTC (Sat) by ttelford (subscriber, #44176) [Link]
I think we understand each other. It’s been a pleasure chatting with you.
Too many lords, not enough stewards
Posted Feb 2, 2018 19:35 UTC (Fri) by abacus (guest, #49001) [Link]
From a recent e-mail that was written by you, Mike Snitzer: Just wish you could stop with this petty bullshit and actually collaborate with people. Do you think this language is appropriate for a kernel maintainerin a technical discussion? See also https://marc.info/?l=linux-block&m;=151457874931156.
Too many lords, not enough stewards
Posted Feb 2, 2018 20:46 UTC (Fri) by niv (subscriber, #8656) [Link]
As a woman, I found the entire comment enough to want to have nothing to do with you.
Too many lords, not enough stewards
Posted Feb 2, 2018 22:54 UTC (Fri) by tao (subscriber, #17563) [Link]
Either you don't understand what the "#metoo" movement is about (women finally daring to voice sexual harassment and abuse that has been kept hushed up for far too long), or you don't consider such things that big of a deal. Neither of those options speak very high of you, to be honest. Seeing as you use the good old "snowflake" dog whistle I'm feeling inclined to think you belong in the latter category, but I'd be happy to be proven wrong and hear you come back here to apologise if you read up on #metoo and realise that it's not a movement that should be written of as melodrama, but rather an indication of very real, very serious systematic sexism that's been accepted for far too long.
Too many lords, not enough stewards
Posted Feb 3, 2018 11:23 UTC (Sat) by jubal (subscriber, #67202) [Link]
That's why I stated that the honourable msnitzer has very clearly indicated that he is, indeed, a part of the problem.
Too many lords, not enough stewards
Posted Feb 8, 2018 2:53 UTC (Thu) by msnitzer (guest, #57232) [Link]
As for my "petty bullshit" comment to hch in that linux-block, linux-nvme thread: yeap, that was pretty fair (given the circumstances in question that thread). If you're completely uninitiated on the topic you have no basis to comment on it. Searching for my name and seizing on language you think proves something that it doesn't: thanks for working overtime to try to make me a "part of the problem".
Lord of Hypocrisy
Posted Feb 10, 2018 21:37 UTC (Sat) by Garak (guest, #99377) [Link]
A reasonable statement (except that for those willing to look at full nuance, as it too is technically a sweeping generalization. I.e. often in split second emergency decision situations, sweeping generalizations can be useful. Though often enough they are used badly).
"Maintainers aren't the problem."
An unreasonable statement, curiously in the same comment as a clear statement about why it is unreasonable. I.e. a clear 'sweeping generalization about maintainers'. (not used in a split second emergency decision situation)
Elsewhere in this discussion you said-
"Abuse and threats are _not_ OK. But a person who isn't getting their way that falsely resorts to such accusations is the definition of dysfunction and even cancer. It is like a woman evoking "I feel threatened" when she has absolutely no reason to be. She knows it'll get people to back off even when she is what is wrong. Those instances must be called out and rejected. But they aren't, because the person went nuclear and nobody wants to touch it. And because that person already established themselves as erratic and misguided and largely beyond consoling or help."
While this sentiment has logic, and in fact had a scene in the recent Whoopie Goldberg / Charlie Sheen film '9/11', the nuance that I would highlight is that the "instances must be called out and rejected" must be taken in logical proportion with the instances when similar situations occurred but there absolutely were reasons for the person to feel threatened. Those instances must also be called out and rejected. I think people here, myself included, take offense to your attitude because it doesn't do justice to that other side of the balance. That balance is what seems to be missing from your attitude on the matter. As evidenced by the first two quotes I highlighted of yours that are clearly contradictory and therefore hypocritical.
Also, your characterization that "she is what is wrong" is another suspicious trigger you used. Having recently watched '9/11'(the breakfast-club/sartre-esque 2017 movie), one can envision the dynamic that "it is society, and the history of gender-based systematic injustice that is the root of the problem, not the person who manifests some amount of non-logic as a result of that millenia long human history of injustice". Likewise, a nuanced view would suggest that the context matters a lot as to how people should be called out as wrong. In an elevator in the world trade center on 2001/09/11, a certain greater amount of tact and delicacy is appropriate for calling someone out as wrong, as opposed to on alt.politics on usenet or a twitter or facebook or lwn comment thread.
Too many lords, not enough stewards
Posted Feb 1, 2018 4:30 UTC (Thu) by neilbrown (subscriber, #359) [Link]
While there were several valuable insights in the talk, I felt I hear the voice of hurt more than the voice of wisdom, which spoiled it a little for me.
The key issue, I think, is power structures, and Vetter did us a favour by exploring this. It is true that maintainers have quite a lot of power and that it can be misused, though I think fairly few do misuse it. It can also have the appearance of misuse and the more we tell each other how toxic the community is, the more likely people are to see misuse when it isn't really there. But it isn't just maintainers that have power. Developers do too.
The quote "The Net interprets censorship as damage and routes around it." is attributed to John Gilmore and contains some wisdom. Might it be valid to riff on this and say "The kernel community interprets power hungry maintainers as damage, and routes around them"?
As a developer for a distro (SUSE) my primary goal is solving customer problems and I can do that without having to get external maintainers to approve everything. We do have an upstream first policy and we follow that as much as possible and mostly things go upstream at least concurrently with them going to customers (in my experience most maintainers are helpful when time permits, and their review often improves my code). But if I cannot get approval, or even any acknowledgement, from a maintainer then internal processes are sufficient to bypass that maintainer on the path to our customers. We still aim for upstream acceptance eventually, and some times that literally takes years, but I don't feel disempowered and that is valuable.
The same thing happens in community projects. I can share code with other people who are interested in the same functionality (e.g. a piece of hardware like the openphoenux or gnubee) without having to go through upstream. Linus positively encourages this by telling us that forks are good. Easy fork/easy merge means that developers have power.
If the core goal is getting code into Linus's tree, difficult maintainers can be a problem, but I think they can still be routed around. Drivers can be sent to GregKH (for drivers/staging). Andrew Morton will take patches for a wide range of kernel locations. You can send patches directly to Linus too (cc the maintainer and explain why a bypass seems necessary). Of course in each case you should make sure you've done your homework and that your patch is really as good as it can possibly be.
My belief (and I can think of no evidence which contradicts this) is that maintainers have good intentions, but their strategies for dealing with conflict and stress and time pressure and people in general are sometimes far from perfect. That doesn't excuse the behaviour, but it can go some way to understanding and learning how best to respond to it. If you find that you cannot work with someone, then remember that the project is open and dynamic and look for ways to change how you get your contributions to where they need to be.
> A lot of maintainers are employed because they are the bottleneck.
This sounds to me much more toxic than anything I see in the kernel community. If someone has job security only because their name is in the MAINTAINERS file, that cannot be healthy for them or for anyone else. I hope that doesn't really happen, but I have no reason to doubt Vetter's claim.
Too many lords, not enough stewards
Posted Feb 1, 2018 4:49 UTC (Thu) by jake (editor, #205) [Link]
Thanks for the kind words Neil! I can take no credit for the title, though, as I had something boring and anodyne ... Jon suggested this and I adopted it immediately :)
jake
Too many lords, not enough stewards
Posted Feb 1, 2018 6:07 UTC (Thu) by abacus (guest, #49001) [Link]
I agree that Jake has done a great job! This article is very interesting and insightful.
Too many lords, not enough stewards
Posted Feb 7, 2018 12:04 UTC (Wed) by nix (subscriber, #2304) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 15:26 UTC (Thu) by ncultra (subscriber, #121511) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 18:36 UTC (Thu) by JoeBuck (subscriber, #2330) [Link]
You refer to public shaming and say that people should just deal with it. There are around a hundred million capable East and South Asian software developers, most of whom can read and write English well enough to effectively work with international colleagues, but very few are involved in high profile FLOSS projects (or if they do contribute, they are shielded by large companies and let a few colleagues interface with project leaders). A log of the reason is that many of them come from shame cultures.I used to be on the GCC steering committee, and for me, being personally and publicly flamed by Linus Torvalds (more than once) was a badge of honor. But to many people, because of their culture and upbringing, such an episode would be the absolute end of their participation, they might even consider changing careers. I've seen the term "snowflake" used in this discussion: some of you think such people are snowflakes and they should buck up, let the nasty words roll off of them, and soldier on. But can we really afford to throw away the talents of a hundred million people?
Too many lords, not enough stewards
Posted Feb 1, 2018 19:15 UTC (Thu) by msnitzer (guest, #57232) [Link]
(Ab)using "snowflake" like I did was just a quick way of explaining the problematic types in the community. But it isn't descriptive enough to accurately capture my intent. I was lazy and it obviously resulted in hitting nerves.
That said, the people who establish themselves as actively hostile and dogmatic that get feedback they disagree with and then keep digging in to become so fully entrenched in their position: those people set themselves up for a serious fall. And when that fall happens, if they aren't humble and they decide to lash out by saying that they were personally attacked and fell threatened, etc. They are just posturing and trying to "reverse the heat", to flip reality. They invited challenge and couldn't handle it. Those people melt into a puddle like snowflakes when heat is applied.
Too many lords, not enough stewards
Posted Feb 1, 2018 19:41 UTC (Thu) by josh (subscriber, #17465) [Link]
It's fine to reject a patch. It's fine to tell someone there's a problem with the code they wrote. It's fine to tell them that the architectural approach they've taken won't work and they need to go back and rethink it. It's even fine to tell them that they're *systematically* having a recurring issue in their patches and you need them to address it more systematically. None of that is inherently a problem.
You can do all of those things respectfully, without personal attacks, without flames, and without all the other forms of toxicity that occur regularly in the kernel community. You can make people feel welcome, rather than sounding like "how dare you waste my valuable time with your idiocy".
Too many lords, not enough stewards
Posted Feb 1, 2018 20:08 UTC (Thu) by msnitzer (guest, #57232) [Link]
Everyone has an opinion on how best to handle things. Yet they cannot all be "the chosen". All this bickering about kernel community (dys)function has run its course for me. (Now if I could only figure out how to shutoff the N lwn.net email notifications I've committed to while replying N times).
Too many lords, not enough stewards
Posted Feb 1, 2018 20:09 UTC (Thu) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 20:15 UTC (Thu) by josh (subscriber, #17465) [Link]
You said:
> That said, the people who establish themselves as actively hostile and dogmatic that get feedback they disagree with and then keep digging in to become so fully entrenched in their position: those people set themselves up for a serious fall. And when that fall happens, if they aren't humble and they decide to lash out by saying that they were personally attacked and fell threatened, etc. They are just posturing and trying to "reverse the heat", to flip reality. They invited challenge and couldn't handle it. Those people melt into a puddle like snowflakes when heat is applied.
You're reframing a discussion about the hostility of the kernel community to try to claim that people claiming that are just people who "get feedback they disagree with" and just can't take the heat. There's a standard derailing that happens in almost every discussion of this problem, where people start imagining a dichotomy where you can't stop the flames and attacks without stopping the feedback and degrading the quality of the kernel. That's a false dichotomy. You can, in fact, do both, and communities *other* than the Linux kernel have managed to do so.
Too many lords, not enough stewards
Posted Feb 1, 2018 21:56 UTC (Thu) by msnitzer (guest, #57232) [Link]
I'm using my Linux kernel maintainer experience to attempt to illustrate the kind of dynamic I've witnessed. People who cry foul when one hasn't occurred are "special". And a lot of this talk, thread and topic isn't rooted in anything real. Just a lot of people with hurt feelings talking in the abstract.
Framing the Linux kernel community as a caustic rat's nest of evil is one way to spin it. It just isn't reality.
Too many lords, not enough stewards
Posted Feb 1, 2018 23:51 UTC (Thu) by josh (subscriber, #17465) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 0:40 UTC (Fri) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 3:14 UTC (Fri) by josh (subscriber, #17465) [Link]
I have, in fact. They paint quite a clear picture.
> But if you can identify with Daniel's talk then you're probably perfectly fine with false narratives.
Hey, look, yet another example of exactly what I referred to in the comment you're replying to and attempting to deny.
Too many lords, not enough stewards
Posted Feb 2, 2018 0:34 UTC (Fri) by nivedita76 (subscriber, #121790) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 1:22 UTC (Fri) by airlied (subscriber, #9104) [Link]
Like we have plenty of public evidence of bad behaviour on the parts of maintainers (myself included I'm sure), but I'm interested in knowing how large the problem of developers crying fowl and escalating things on rejection using codes of conduct.
I've never experienced this in any of the project I've worked in as a maintainer, or as the top-level maintainer for the second largest subsystem in the kernel, so I'm surprised that it happens as frequently as you state.
Too many lords, not enough stewards
Posted Feb 2, 2018 1:48 UTC (Fri) by msnitzer (guest, #57232) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 21:34 UTC (Thu) by ncultra (subscriber, #121511) [Link]
Too many lords, not enough stewards
Posted Feb 11, 2018 11:46 UTC (Sun) by elvis_ (guest, #63935) [Link]
Too many lords, not enough stewards
Posted Feb 12, 2018 8:28 UTC (Mon) by anselm (subscriber, #2796) [Link]
Even if it is 1 in 450 (or 1 in 4500) that is still a whole lot of possible contributors whom we would be stupid to scare off unnecessarily.
Routing around problem maintainers
Posted Feb 1, 2018 17:28 UTC (Thu) by ebiederm (subscriber, #35028) [Link]
If maintainers are a bottleneck, they can be routed around.
Being a bottleneck can be as simple as not having enough time to look at code, it doesn't even require someone to be abusive of their power
or responsibility.
I do this all of the time, and I have people do it to me all of the time.
Especially for things like making a big cross subsystem change it is just easier to stand-up and run your own tree, and just
let people who might be affected know that you are doing something, rather than ask for permission.
Too many lords, not enough stewards
Posted Feb 1, 2018 11:01 UTC (Thu) by error27 (subscriber, #8346) [Link]
Me: This patch that fixes a NULL deref
Dev: F you! Why did you mark my patch with the fixes tag!
Me: There were two patches that we problematic and I marked the first one that caused a NULL dereference.
Dev: Are you blind and stupid?
This is where a neutral third party could have stepped in and reviewed the code.
Too many lords, not enough stewards
Posted Feb 2, 2018 17:55 UTC (Fri) by seanpaul (subscriber, #70610) [Link]
As a member of a maintainer group myself, I can tell you definitively that I am as much of a jerk as I was before. That said, if I am treating someone unfairly, I fully expect my counterparts to let me know that. I promise to do the same if another maintainer is having a bad day.
Most people are not jerks most of the time, instituting checks and balances really does help.
> Me: This patch that fixes a NULL deref
> Dev: F you! Why did you mark my patch with the fixes tag!
This would not fly on dri-devel, group maintainership or not.
Too many lords, not enough stewards
Posted Feb 3, 2018 10:05 UTC (Sat) by jani (subscriber, #74547) [Link]
Agreed. Having your maintainer peer tell you "hey, that's not cool" is hard to shrug off.
Too many lords, not enough stewards
Posted Feb 4, 2018 3:43 UTC (Sun) by error27 (subscriber, #8346) [Link]
In retrospect here is probably where that email thread went wrong. It was the kind of bug where you forget to set an error code and then do return ERR_PTR(rc). That is a NULL return essentially. The callers don't check for NULL and crash.
Apparently it was documented somewhere that callers were supposed to check, but originally the code only returned error pointers and one caller didn't check for NULL. His bug of accidentally returning NULL should have been harmless. A later caller was added that also didn't check for NULL.
I gave the fixes tag to his patch which introduced the runtime bug. He wanted me to give it to the later caller that was added. That seems obviously wrong, but possibly giving it to the other earlier patch which didn't check for NULL would have been correct.
If a third party had got involved we could have figured what was going on without the annoyed email thread. Or it would help to just have someone else acknowledge that the code is subtle and it's not always obvious where fixes tags should go so let's go easy on each other.
In the end we figured out the technical bits and he asked me to redo the patch, and I told him what, after you were so rude to me? Do it your own self.
These kinds of conflicts are a normal part of life and I don't have any lasting ill will. To be honest, I don't remember the other developer's name. It wasn't someone I deal with a lot.
But I do like the idea of bringing in a calm person when it feels like someone is starting to get annoyed instead of waiting until it's too late.
Too many lords, not enough stewards
Posted Feb 1, 2018 13:33 UTC (Thu) by bredelings (subscriber, #53082) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 13:34 UTC (Thu) by bredelings (subscriber, #53082) [Link]
Too many lords, not enough stewards
Posted Feb 1, 2018 18:05 UTC (Thu) by joey (subscriber, #328) [Link]
Hierarchy has a lot to do with it, and thinking about it, even your typical 1-2 committer small project has an implicit hierarchy probably 2 or 3 levels deep (issue filers, drive-by patchers, occasional contributors etc).
Too many lords, not enough stewards
Posted Feb 1, 2018 23:35 UTC (Thu) by neilbrown (subscriber, #359) [Link]
Many years ago I received a phone call from James Bottomley. He, as manager for a developer who was trying to get a feature into md, was reaching out to me, as md maintainer. I don't recall precise details, but something had broken down. I think I was a little bit annoyed by something and the developer probably had cause to be a little bit annoyed at how I was responding (or probably how I was *not* responding). James basically said "is there a problem? Can I help?". I probably vented a bit, then saw how petty the issue was and agreed to move on. He probably spoke to the developer too, though I know no details. In any case we moved on and that feature is now helping to improve data safety for millions of people. That phone call was the right thing to do (though it took my a bit by surprise I must admit).
Vetter said in the talk that "leading teams is leading people", and that is spot on - but it isn't just the people in the team. It is upstream as well.
A good team leader serves as an interface between the team and management, managing resources and requirements etc. Managing the expectations of your boss is just as important as managing the output of your team. A good relationship makes a world of difference.
The same can be true in an open community - it isn't just managing technology, it is also managing people, both upwards and downwards. If you are a manager with people skills, then apply them to relationships with significant maintainers in the community. "Thanks for helping out with patches from my team, it makes a big difference", "Is there anything we can do to make your job easier", (publically) "Jo Maintainer was a big help in landing this project".
Be like James.
Too many lords, not enough stewards
Posted Feb 2, 2018 1:11 UTC (Fri) by airlied (subscriber, #9104) [Link]
Now if that developer worked for a company where nobody had a preexisting relationship with you that was able to reach out, how would have it had ended?
I do agree be like James in doing this sort of thing, but also can't we remove James from this story and work it out ourselves and end up in a better place?
Too many lords, not enough stewards
Posted Feb 2, 2018 1:40 UTC (Fri) by neilbrown (subscriber, #359) [Link]
This was a long time ago so I could be wrong, but I'm fairly sure there was no pre-existing relationship. I think I knew of James, but I didn't know him. I was working at UNSW at the time, and he managed to find my phone number on the university web site.
> but also can't we remove James from this story and work it out ourselves and end up in a better place?
I'm not sure what your point is. Yes, it would be lovely if we could all be nice to each other, but just wanting it doesn't make it happen, any more than wanting code to be bug-free isn't very effective. We all have tools at our disposal which can improve code, and others which can improve community interactions. Some we know about, some we don't - yet.
Having a third party be a mediator, either proactively or by invitation, can help in all sorts of ways. Wanting to "remove James from the story" is a bit like wanting to "remove 0-day from the story": it is discarding a valuable tool.
Too many lords, not enough stewards
Posted Feb 2, 2018 1:53 UTC (Fri) by airlied (subscriber, #9104) [Link]
I'm not trying to make a point, I'm trying to get more in-depth knowledge on how you'd react if you replaced James (who I'm sure you knew was a kernel maintainer even if not personally) with a random manager in a random company.
Maybe we do need some sort of process to deal with developer<->maintainers butting heads with some sort of other contributor being asked to stand in and help work out the details of the problem.
I know Linus has always stated that people don't have to interact with him to work on the kernel, you can work with someone else to get your code merged via their trees, maybe we need that for every level of the hierarchy, maybe we have it but nobody knows how to engage it properly.
Too many lords, not enough stewards
Posted Feb 2, 2018 7:18 UTC (Fri) by error27 (subscriber, #8346) [Link]
Like if things seem to be getting heated we could call in a referee. Sometimes it's not even a flame war, but just a discussion about if the code is buggy where there is a clear answer. If a referee could look at it and give a third opinion that would help.
Back when I was a total programming newbie, I found a sleeping under spinlock bug and reported it to the author. "Are you sure you want to call schedule() while you're holding a spinlock?" The developer was also a newbie and replied "Yes". I told him it would trigger a warning. So then he wrote a patch that messed with accounting to temporarily disable the "sleeping with lock held" warning. This was before we used version control and anyway I was a newbie so I didn't know anything about how patches were merged or who maintained what. I just kept on getting more and more alarmed and annoyed by this terrible code and the other dev was annoyed that I wouldn't leave him alone. Eventually Alan Cox stepped in and told us both to cool it and fixed the bug. It was a totally obvious technical debate that became a personal flame war because I didn't know how to get someone else involved.
Email is tricky. Al Viro once criticised me for being too mean to someone. I deal with a lot of newbies so I wasn't even annoyed when I wrote the email. I thought I was giving good advice "Don't change the code if you aren't sure what the right fix is". But apparently it came off as "Go away forever". That's a simple thing to apologize for that. Al was a useful referee in this case.
Escalating every issue to the TAB is too much and anyway by point it reaches that level you're probably already too traumatized and sick of being a kernel dev.
Too many lords, not enough stewards
Posted Feb 3, 2018 10:36 UTC (Sat) by jani (subscriber, #74547) [Link]
Personally, I've found that group maintainership models help with this. If one maintainer ends up in a collision course with a developer for whatever reason, the other maintainers can (and are expected to) chime in. To calm down the discussion, to offer insights and other points of view, maybe take over, offering the first maintainer a break and the developer a fresh start, and so on. Whatever works. Well before the conflicts escalates.
Also as a maintainer, I think it's a luxury to be able to sanity check my decisions with my peers, and to ask for help when I'm frustrated or overworked etc. And to get a straight answer when needed to the question, "Am I being a jerk?"
Too many lords, not enough stewards
Posted Feb 3, 2018 19:47 UTC (Sat) by rodgerd (guest, #58896) [Link]
Too many lords, not enough stewards
Posted Feb 3, 2018 20:43 UTC (Sat) by jani (subscriber, #74547) [Link]
Oh, the full disclosure I failed to add: I've been working with Daniel on transitioning parts of drm and Intel graphics to group maintainer models for the past several years. He has moved on from maintainership, and now we have one maintainer trio for i915 and another trio for "drm misc", with shared maintainer tools, documentation, and similar processes. I think it's been a great success.
Too many lords, not enough stewards
Posted Feb 2, 2018 11:49 UTC (Fri) by l1k (guest, #112260) [Link]
Maybe we do need some sort of process to deal with developer<->maintainers butting heads with some sort of other contributor being asked to stand in and help work out the details of the problem.
I had a public dispute a year ago with Bjorn Helgaas over a reverted patch. Out of the blue, Rafael Wysocki reached out both on- and off-list and calmed the situation in a diplomatic way.
It absolutely blew my mind that Rafael, who maintains multiple subsystems and I imagine must be extremely busy, took the time to intervene. It restored my faith in the community and my motivation.
I agree we may need a lot more of such activities.
And in my view, this also validates danvet's observation that very much not "only technical" issues are topical.
Too many lords, not enough stewards
Posted Apr 6, 2018 20:47 UTC (Fri) by bhelgaas (subscriber, #73603) [Link]
In a nutshell, someone had bisected a "keyboard & mouse unresponsive" regression to http://git.kernel.org/cgit/linux/kernel/git/torvalds/linu... ("PCI: Add runtime PM support for PCIe ports"), which I had merged. I did not know how to fix the regression other than by reverting the patch, so I posted a revert as an interim measure while hoping somebody would be able to do a better fix.
The revert was in linux-next for a while, but I dropped it after about a month when we learned that http://git.kernel.org/cgit/linux/kernel/git/torvalds/linu... ("drm/probe-helpers: Drop locking from poll_enable") fixed the regression, so the revert was never merged to mainline.
I was too hasty in putting the revert on my for-linus branch, and I apologize for that. My intent was to be responsive to the end-user who had spent quite a bit of time and effort isolating and reporting the issue.
Too many lords, not enough stewards
Posted Feb 2, 2018 2:51 UTC (Fri) by rodgerd (guest, #58896) [Link]
This is a great success story, but it seems predicated on someone like yourself who is fundamentally interested in making things better; in this case with the assistance of a third party. You were prepared to recognise things weren't going well and work with the mediator (which is great!); but this doesn't help with the other part of the problem Daniel describes, which is the smaller group of folks who enjoy being able to behave badly - imagine James ringing up someone and being told that their opinion isn't relevant, for example.
(It also seems like the maintainer has a very ill-defined status: are an architect, setting the direction of their subsystem? Are the a leader, focused on getting people to work together? Are the a release manager, deciding when code is ready to ship? All of the above? A little of each?)
Too many lords, not enough stewards
Posted Feb 2, 2018 3:24 UTC (Fri) by neilbrown (subscriber, #359) [Link]
I doubt Linus, or any upstream, is interested in working with a (sub)maintainer who isn't "fundamentally interested in making things better". Don't suffer in silence with such people. Take specific issues to their upstream ... and be prepared to become the maintainer yourself!!
> which is the smaller group of folks who enjoy being able to behave badly - imagine
I have never seen evidence of those people. Maybe I just lead a sheltered life.
I have certainly had interactions with maintainers who seem to ignore me or seem to be inconsistent, or seem to make unreasonable requests for irrelevant changes. With patience and perseverance progress can still be made. I sometimes get impatient, but that is my weakness.
I won't claim the the group you mention doesn't exist, but I will claim that it isn't helpful to assume any given person is in the group. There are lots of other explanations for apparent bad behavior than the assumption that it is deliberate. If other avenues fail and the evidence for the behaviour being deliberate mounts, then you can use it in your attempts to route around the maintainer.
> It also seems like the maintainer has a very ill-defined status
This is certainly true, and it is a question that various people have tried to address. The lack of clarity is probably one cause of the misunderstandings that arise.
I see the job of the maintainer as simply to do whatever needs to be done - to care about the code, to want bugs to be fixed, to want features to be implemented, to want maintainability to be improved. Those wants will lead different people in different situations to head in different directions.
Too many lords, not enough stewards
Posted Feb 2, 2018 4:34 UTC (Fri) by error27 (subscriber, #8346) [Link]
But last year a top maintainer tore me a second arsehole because I of my commit messages. He complained four times that I hadn't read SubmittingPatches and couldn't follow directions, that I was generally and idiot and that I said, "NULL dereference" instead of "NULL pointer dereference". His final act was to edit my commit to leave a snide message that he was the only genius at writing commit messages and had to do everything for the rest of us. A couple months later he gave a talk about commit messages and LWN wrote an article about how important it is to write great literature in your commit messages. Everyone was like thank you genius man for teaching us with your wisdom.
I am still traumatized by it. Whenever I see his name in get_maintainer.pl output I just start cursing and my day is ruined.
One time I was going to send a bug fix to this dude's subsystem. It was a simple thing where he had returned positive ENOMEM instead of negative by mistake. I wrote the patch and then I saw that there is no mailing list for the subsystem, it's just LKML. I was like FFFFFFFFFF.... No. That's like being alone in a room with your abuser. I deleted the patch.
Too many lords, not enough stewards
Posted Feb 2, 2018 17:33 UTC (Fri) by tbird20d (subscriber, #1901) [Link]
Speaking personally, and in generalities, there were some things I agreed with in Daniel's talk, and other parts where I thought his analysis was faulty. One thing I found frustrating (but completely justifiable) was the lack of specific examples by which to judge for oneself the merit of his arguments. Unfortunately, when talking in generalities it is all too easy for different parties to think of their own examples, and thus not be able to agree on the nature or severity of a problem. This is hard enough even for people with different backgrounds looking at the same examples! (And, I do recognize the irony that I'm speaking in generalities, and so am likely to not be understood as well as I might.)
This is why the collection of specific instances of the behaviors at issue is important.
Too many lords, not enough stewards
Posted Feb 2, 2018 7:54 UTC (Fri) by dgc (subscriber, #6611) [Link]
Brave man steps up and
calls out an unpleasant truth.
Does anyone listen?
Many familiar
names justify status quo.
Blind? Complicit? Or ..... ?
Arguments abound,
Weeping sores picked deeper.
Deafness everywhere.
Ill chosen words spoke,
Perspectives misunderstood.
Lessons not learnt.
History repeats?
The burnt-out ex-Maintainer
watches code go by.
Too many lords, not enough stewards
Posted Feb 2, 2018 9:04 UTC (Fri) by unixbhaskar (subscriber, #44758) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 9:32 UTC (Fri) by blackwood (subscriber, #44174) [Link]
Too many lords, not enough stewards
Posted Feb 2, 2018 10:31 UTC (Fri) by linusw (subscriber, #40300) [Link]
I would say my condensed appraisal is that the problems are real, but is not in any way limited to the kernel community and in some cases deeply founded in ~10000 years of culture.
The reference to the book about domestic relationships focus on some aspects of the problem that are psychological and individual. We can all be better people. Some have more potential for improvement than others. Some are more fragile, some are more stoic, some likely have distorted emotional abilities on the autism-spectrum making them especially hard to deal with. Some people will react with hostility to anything resembling psychology simply because they are insecure people and do not like the idea about thinking critically about themselves and their own behaviors, also they tend to place the problem elsewhere than within themselves when put to the point. They will have to be reached by other methods than directly pointing out personality flaws, it's just not going to help, they will feel intimidated.
The problem with leadership is harder to get at and has sociological, anthropological, ethnological and political implications. Nobody really knows what good (community) leadership is, I haven't ever seen a scientific deductive reasoning idea of that, ever, all statements seem to be inductive, even to the point of being just a bin of anecdotes about people "many think were great leaders". Different cultures have very different ideas about what constitutes good leadership on top of that (google "power distance index" or "Hofstede's cultural dimensions theory" for a wakeup call).
The same goes for organization. What is a good open source organization principle? We know that some of the most *successful* ones have developers that are organized hierarchical and despotic, the despot may be benevolent or far from, they can still be successful. Despots or maintainers rule by governors called submaintainers.
Whether a successful leadership is a good leadership is a philosophical question. If we take the stance that it is desirable that leadership makes the developers feel good about their work environment, that is a direct utilitarian claim. (Most happiness to the most people.) What is the goal: to get the technology in place at any cost or to make the developers feel reasonably OK or even great about their work-life? History certainly do not lack examples of great technology being developed by people under threat even to their personal security and their families lives. Was that "good" then, in the philosophical sense of technological imperative?
What we have today is neither overly (tyrant) despotic or ideally friendly. There is room for improvement.
I think the main takeaway from Daniels talk and other talks he made is that when you get a group of developers and (sub)maintainers with very similar abilities and strong trust among them, it is possible to make the organization more decentralized. More anarchist, less autocratic if you like. And that works great for everyone involved.
Too many lords, not enough stewards
Posted Feb 2, 2018 15:25 UTC (Fri) by hubcapsc (subscriber, #98078) [Link]
Then I started getting emails from Al Viro with the most awesome
descriptions (which occasionally contained well chosen bad words,
or comparisons to things that probably aren't physically possible)
of the parts of our project that would have to be fixed
before we could be accepted. We worked hard on those parts, and as
time progressed, Al went way overboard helping me on weekends with
the parts he could see I was having a hard time with.
When I go to the LF meetings that the other maintainers go to, I'm
amazed at the depth of knowledge that many of them have. I'm old, I'll
never progress to that level, but there's a young guy on our team
that probably will. I doubt he's an anomaly, and when the time comes
there will be people ready to take over for the current set of
"irreplaceable" maintainers.
I get a handful of patches from other developers each development
cycle. Sometimes because they were reading our code and see a way
to make it better, sometimes because their fuzzers saw something
that was a problem. I'm thankful for all these patches and can't
imagine being abusive to their senders.
I guess that's my long-winded way of saying that I don't perceive
the current model as being broken.
-Mike "nothing's perfect"
Too many lords, not enough stewards
Posted Feb 2, 2018 18:31 UTC (Fri) by josh (subscriber, #17465) [Link]
Yes, every day, a large number of people manage to submit patches and get them merged or get feedback without getting attacked and flamed.
That makes it easy to think there's nothing wrong, if you haven't encountered a problem personally or watched one happen. Or if you've only seen one or two, or only those that make the news. For every instance that's so vitriolic it makes the news, there are many more that simply aren't as high-profile.
Nobody is saying the community is irreparable, or that there isn't a huge amount of good happening in it. It's because of all that good happening that people want to try to make it better, more enjoyable, less stressful, more welcoming.
Too many lords, not enough stewards
Posted Feb 3, 2018 23:33 UTC (Sat) by timur (guest, #30718) [Link]
I wish Torvalds would curse at me. It would meant that I finally get to work on something that he thinks is important.
Copyright © 2018, Eklektix, Inc.
This article may be redistributed under the terms of the
Creative
Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds