Image: Linux Foundation

Linux kernel inventor Linus Torvalds is known for his outbursts at fellow coders. Now one Linux contributor has had enough and has very publicly called it quits on the entire community.

Two years ago Sarah Sharp called on Torvalds to "keep it professional" but this week she revealed why she could no longer participate in a community of Linux kernel developers, who value developers for their technical skills but seem incapable of showing personal respect.

As Sharp detailed in a blog post "Closing a door", she handed the reins for the USB 3.0 host controller driver for the kernel to a peer in May last year, and in January stepped down as the Linux kernel coordinator for the FOSS Outreach Program for Women (OPW).

"I am no longer a part of the Linux kernel community," Sharp wrote. "I didn't take the decision to step down lightly. I felt guilty, for a long time, for stepping down. However, 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."

Lennart Poettering's Linus Torvalds rant Open-source mailing lists and IRC conversations are as prone to flame wars as anywhere on the Internet, but now systemd co-creator Lennart Poettering is calling out Linus Torvalds in a more public forum for helping to create attacks on him. Read More

Sharp's comments two years ago and Torvalds' regular defense of his management style suggest not much has changed in the community.

"Violence, whether it be physical intimidation, verbal threats or verbal abuse is not acceptable. Keep it professional on the mailing lists," Sharp said at the time.

She's not alone in her criticisms of Torvalds' style. Lennart Poettering, a well-known Red Hat engineer, called out Torvalds for the same reasons last year.

"If [Torvalds] posts words like "[specific folks] ...should be retroactively aborted. Who the **** does idiotic things like that? How did they not die as babies, considering that they were likely too stupid to find a *** to suck on?" (Google for it), then that's certainly bad. But what I find particularly appalling is the fact that he regularly defends this, and advertises this as an efficient way to run a community," Poettering wrote in a Google + post.

Torvalds has insisted that his cursing was necessary to keep everyone on the same page.

"The fact is, people need to know what my positions on things are. And I can't just say, 'Please don't do that', because people won't listen," he has previously said. He also feared poisoning the community with "fake politeness", fearing that would lead to passive aggressive behaviour as "people act out their normal urges in unnatural ways".

But as Sharp argued this week, one person's need for "radical emotional honesty" doesn't excuse others in a community for denigrating a person for their gender or sexuality.

"I could not work with people who helpfully encouraged newcomers to send patches, and then argued that maintainers should be allowed to spew whatever vile words they needed to in order to maintain radical emotional honesty. I did not want to work professionally with people who were allowed to get away with subtle sexist or homophobic jokes. I feel powerless in a community that had a 'Code of Conflict' without a specific list of behaviors to avoid and a community with no teeth to enforce it," Sharp wrote this week.

The Code of Conflict she refers to was published in May this year. Less a document that aims to moderate tempers, it outlines that developers should be prepared for inevitable criticism when they contribute code to the project. As ZDNet's Linux and open-source contributing editor Steven J Vaughan-Nichols pointed out, the document was billed as a code of conduct but is actually a conflict-resolution manual.

"The Linux kernel development effort is a very personal process compared with 'traditional' ways of developing software," the code reads.

"Your code and ideas behind it will be carefully reviewed, often resulting in critique and criticism. The review will almost always require improvements to the code before it can be included in the kernel. Know that this happens because everyone involved wants to see the best possible solution for the overall success of Linux. This development process has been proven to create the most robust operating system kernel ever, and we do not want to do anything to cause the quality of submission and eventual result to ever decrease."

Read more about Linux