To start, man I just really love this line: I agree with both of them a lot. Probably more Linus than Sarah, but they both have some really strong points. Since I read this I've been discussing it with some people AFK mostly about the poisionous atmosphere that "professional environments" provide. It's absolutely detrimental to productivity, mental health, reality, and straight getting shit done; it's built on lying all day to everyone around you and pretending you all like each other and listen equally when it really shouldn't be that way. Giving equal credence to the truly insightful development and the self-important douchebag that has no idea what he's doing but demands to be heard is not helping anyone at all, and there's a serious culture problem that we allow the latter to believe that his ideas are good, and worse that no one can properly tell him if he fucked up. His ego is going to absorb everything when you say supportive lines instead of "get your head out of your ass already you are wrong." One of the things that Sarah mentions is very true, but I feel like her perspective on it is a bit askew She's right that most of it comes top down, and is abusive, but again for reasons of office politics. If you can't speak freely about what's going on, you have to sit and take it. I doubt Linus has any objections to his lieutenants speaking freely with him when he fucks up as well. It has to be bidirectional (although hopefully his lieutenants aren't as explosive as he is. I agree with his methods, but he's certainly too fiery for me to work with. It's not a failing of his, just different work types. He mentioned this earlier in this whole debacle.) I REALLY like her proposal for an organizational chart-- for more than just the LKML, but for every workspace and website. To take some key parts from it: [...] [...] [...] These could be massively useful for seeing places that could use further development, and for allowing people to see which people go where in the scheme of things. If on Hubski, for example, you have an org chart showing mk at the top and all the others who have helped build the site up around him, you can start to get a feel for the dynamics of some of the relationships around the site, adding in thenewgreen and kleinbl00 for example. Outside of Hubski, I love it for development, especially for being able to appropriately get complaints to who needs to get them, or for weeding out randoms who don't know what they're yelling about, but sound like they do to outsiders.Because if you want me to "act professional", I can tell you that I'm not interested. I'm sitting in my home office wearign a bathrobe. The same way I'm not going to start wearing ties, I'm also not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what "acting professionally" results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways.
Research has shown that verbal
abuse and bullying rarely comes from subordinates criticizing people in
power. The book "No Assholes Rule" cites research that shows only 1% of
subordinates bully their superiors. That's because people (like me) who
are not in a position of power face intense push back from the community
and personal harassment from jerks on the internet when they question or
cuss at someone in a position of power.
Perhaps what might help here is a kernel organizational chart. A graph
of who sends pull requests to Linus, and their subsystem maintainers.
The org chart would help outsiders understand that "this random flame
email" is between two people with a trust link. If an outsider sees an
email blast from Linus to Greg, they will understand this is a "I trust
you as one of my top lieutenants, and as a maintainer, you fucked up."
An org chart would be helpful for people submitting patches for the first
time. If someone submits a patch to a USB driver, they'll know they
really should be listening to feedback from Greg, Alan, Felipe, Oliver,
and me. If J. Random developer is whinging about coding style issues that
checkpatch didn't catch, the submitter will know that they should take
their feedback with a grain of salt.
The org chart is also helpful for showing the "bus factor" of different
parts of the kernel. If Greg gets hit by a bus, he has four sub-sub
maintainers who could possibly take over maintainership of USB. Other
kernel subsystems don't have sub-sub maintainers, or even backup
maintainers that could take over if the subsystem maintainer had a family
emergency during the merge window. An org chart would make those
subsystems that aren't deep enough pretty obvious.
I'm reading this because you rattled my chain, but I'm sharing it because it's interesting. The crux of the issue, as you pointed out, is: "Professional" environments are all that and more. However, so are "unprofessional" environments. The single advantage engendered by "professional" environments is STRUCTURE. In other words, all the Kabuki, all the pomp'n'circumstance, all the hokey-pokey exists for the sole purpose of providing a methodology for assholes to be assholes to each other and still allow the system to function. Orson Scott Card made a point in Songmaster that the greatest invention of the Romans, who are rarely credited with inventing anything, was bureaucracy. The Roman Empire took centuries to die long after Vandals sacked Rome simply because there was so much calcified redundancy in place that cutting the head off the beast only caused a million lizard brains from the neck to the tail to keep the heart pumping, the legs waddling and the tail twitching long past the point where anyone gave a shit about Caesar. That is what "professional" environments bring us - a codex by which shit can get done between people who hate each other and, left to their own devices, wouldn't piss on each other if they were on fire. Stepping out of the "professional" frame, then, is basically an act of war. I've done it. It causes excitement. It has always been deliberate and it has always reflected that the glacial changes possible within the "professional" environment have stagnated to stalemate. So when you "tell XX to pound sand" (the description used of my actions by someone up and to the left on my org chart at the time) you are basically saying "open the blockade or we shall sack the harbor." The trick is in knowing how to do it, knowing when to do it, knowing when not to do it, and knowing what to do when it is done to you. Linus Torvalds knows how to do it. I doubt he puts it in these terms. I get the sense that he's fairly intuitive about this stuff, rather than cerebral. Sarah does too, I think, but I think you missed it. Reading between the lines of this email, which has one name I recognize in it, which discusses a subject almost completely alien to me, I see the following: LINUS: I'm Rick James, Bitch. SARAH: Yeah, but we all have to work with you. LINUS: But you're not Rick James, Bitch. SARAH: No. But this isn't about you and me, this is about every troll and piker that will comb through this discussion looking for nuggets to take out of context and it's fucking tiresome. So do you want to explain who the fuck Rick James is, why he matters, who reports to him, why he gets in moods, and otherwise expound on the context of why, exactly, Rick James is a SuperFreak? Or would you like to take it down a notch? To me, that's the take-away. Textual conversations are not at all contextual. Context is built up by the participants and right or wrong, that context is 100% missing for any third party. And if a third party is going to see you take it up the ass because Linus Torvalds is in a mood, you either need to accept that you look like a little bitch to the entire internet or you need to come up with a way to tell Linus Torvalds to STFU in front of the entire internet without stooping to his level. Politics. It works, bitchez.Because if you want me to "act professional", I can tell you that I'm not interested. I'm sitting in my home office wearign a bathrobe. The same way I'm not going to start wearing ties, I'm also not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what "acting professionally" results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways.
I think you're right, actually, and we're definitely on the same page on Linus. The politics are going to come in regardless, and that's probably where Sarah's argument comes from: having to explain the shit to the third parties all the time detracts from what they're actually doing, but saying they should change their modus operandi for the outsiders shouldn't be the response to take. Being polite for the coworkers is one thing, being polite for ignorant trolls outside your work is another. Structure is absolutely vital and I truly used to believe playing into all the office etiquette was the best way to go about clearing the air and moving forward and just doing the job, but I can't abide by it anymore. Willingness to promote the concept that all ideas deserve equal weight doesn't work, nor does giving more weight to the ideas of those at the top. The Roman Empire lasted far past it's downfall from bureaucracy, but it was still fallen. It just collapsed inefficiently without any innovation to change the situation. Apologies, I wanted to add more to this, but I'm on my phone and inevitably forgot some things by the time I got to them.