I’ve known Linus Torvalds, Linux’s inventor, for over 20 years. We’re not chums, but we like each other.

Lately, Torvalds has been getting a lot of flack for his management style. Linus doesn’t suffer fools gladly. He has one way of judging people in his business of developing the Linux kernel: How good is your code?

Nothing else matters. As Torvalds said earlier this year at the Linux.conf.au Conference, “I’m not a nice person, and I don’t care about you. I care about the technology and the kernel — that’s what’s important to me.”

Now, I can deal with that kind of person. If you can’t, you should avoid the Linux kernel community, where you’ll find a lot of this kind of meritocratic thinking. Which is not to say that I think everything in Linuxland is hunky-dory and should be impervious to calls for change. A meritocracy I can live with; a bastion of male dominance where women are subjected to scorn and disrespect is a problem.

That’s why I see the recent brouhaha about Torvalds’ management style — or more accurately, his total indifference to the personal side of management — as nothing more than standard operating procedure in the world of software development. And at the same time, I see another instance that has come to light as evidence of a need for things to really change.

The first situation arose with the release of Linux 4.3, when Torvalds used the Linux Kernel Mailing List to tear into a developer who had inserted some networking code that Torvalds thought was — well, let’s say “crappy.” “[A]nd it generates [crappy] code. It looks bad, and there’s no reason for it.” He goes on in this vein for quite a while. Besides the word “crap” and its earthier synonym, he uses the word “idiotic” pretty often.

Here’s the thing, though. He’s right. I read the code. It’s badly written and it does indeed seem to have been designed to use the new “overflow_usub()” function just for the sake of using it.

Now, some people see this diatribe as evidence that Torvalds is a bad-tempered bully. I see a perfectionist who, within his field, doesn’t put up with crap.

Many people have told me that this is not how professional programmers should act. People, have you ever worked with top developers? That’s exactly how they act, at Apple, Microsoft, Oracle and everywhere else I’ve known them.

I’ve heard Steve Jobs rip a developer to pieces. I’ve cringed while a senior Oracle developer lead tore into a room of new programmers like a piranha through goldfish.

In Accidental Empires, his classic book on the rise of PCs, Robert X. Cringely described Microsoft’s software management style when Bill Gates was in charge as a system where “Each level, from Gates on down, screams at the next, goading and humiliating them.” Ah, yes, that’s the Microsoft I knew and hated.

The difference between the leaders at big proprietary software companies and Torvalds is that he says everything in the open for the whole world to see. The others do it in private conference rooms. I’ve heard people claim that Torvalds would be fired in their company. Nope. He’d be right where he is now: on top of his programming world.

Oh, and there’s another difference. If you get, say, Larry Ellison mad at you, you can kiss your job goodbye. When you get Torvalds angry at your work, you’ll get yelled at in an email. That’s it.

You see, Torvalds isn’t anyone’s boss. He’s the guy in charge of a project with about 10,000 contributors, but he has zero hiring and firing authority. He can hurt your feelings, but that’s about it.

That said, there is a serious problem within both open-source and proprietary software development circles. No matter how good a programmer you are, if you’re a woman, the cards are stacked against you.

No case shows this better than that of Sarah Sharp, an Intel developer and formerly a top Linux programmer. In a post on her blog in October, she explained why she had stopped contributing to the Linux kernel more than a year earlier: “I finally realized that I could no longer contribute to a community where I was technically respected, but I could not ask for personal respect. … I did not want to work professionally with people who were allowed to get away with subtle sexist or homophobic jokes.”

Who can blame her? I can’t. Torvalds, like almost every software manager I’ve ever known, I’m sorry to say, has permitted a hostile work environment.

He would probably say that it’s not his job to ensure that Linux contributors behave with professionalism and mutual respect. He’s concerned with the code and nothing but the code.

As Sharp wrote:

I have the utmost respect for the technical efforts of the Linux kernel community. They have scaled and grown a project that is focused on maintaining some of the highest coding standards out there. The focus on technical excellence, in combination with overloaded maintainers, and people with different cultural and social norms, means that Linux kernel maintainers are often blunt, rude, or brutal to get their job done. Top Linux kernel developers often yell at each other in order to correct each other’s behavior.

That’s not a communication style that works for me. …

Many senior Linux kernel developers stand by the right of maintainers to be technically and personally brutal. Even if they are very nice people in person, they do not want to see the Linux kernel communication style change.

She’s right.

Where I differ from other observers is that I don’t think that this problem is in any way unique to Linux or open-source communities. With five years of work in the technology business and 25 years as a technology journalist, I’ve seen this kind of immature boy behavior everywhere.

It’s not Torvalds’ fault. He’s a technical leader with a vision, not a manager. The real problem is that there seems to be no one in the software development universe who can set a supportive tone for teams and communities.

Looking ahead, I hope that companies and organizations, such as the Linux Foundation, can find a way to empower community managers or other managers to encourage and enforce civil behavior.

We won’t, unfortunately, find that kind of managerial finesse in our pure technical or business leaders. It’s not in their DNA.