Well, I guess that's my cue.
I work in a pretty successful technology company. We have a "no brilliant jerks" policy. Doesn't matter how good someone is, if they're actively corrosive to working with people, they're gone.
That doesn't mean I don't see developers getting into heated discussions about the merits of technical issues. But those heated discussions are professional, utterly impersonal, and without a shred of meanness. They just disagree.
This whole "good engineers are assholes" myth is, well, a myth that has been promulgated by a group of people more dominated by assholes than by good engineers.
I applaud Sarah Sharp and, blankinthefill, I want you know not all environments are like this. Not even all successful FOSS projects.
Seriously. Being professional and communicating clearly are by no means mutually exclusive.
I'm probably the type of person who would fall under the category of "brilliant jerks", at least on the surface. I'm very direct, saying what I think without prevarication, or worrying about hurting someone's feelings. I don't use subtext, or passive aggressive politicking; what I say has no hidden meanings. This directness can be abrasive to some people, particularly those who don't know me, who sometimes see subtext when there is none. However, any abrasiveness is indirect, meaning not intentional. This directness of mine is useful in maintaining clear communication. My colleagues rely on my ability to, as one of them put it, "cut through the bullshit".
However, I never attack someone directly, or insult them, and any profanity is mild, never directed at someone, and is usually just for emphasis. You can be direct and clear without being unprofessional. By professional, I don't mean biting back valid comments for fear of hurting someone's feelings, or hiding vitriol behind a polite facade, I mean having some basic respect for the people you work with, whether in person at an office, or online in an OSS project. Somehow, what people think "professionalism" implies is often the exact opposite of what it really means. To be "professional", one just needs to treat those they work with as an ally and an asset, rather than an enemy and a liability. In those instances where someone actually is an enemy/liability, it is that person who is acting unprofessional, and adding more unprofessionalism to the mix is just going to make things worse. So long as some professionalism standards are enforced, people like that will be taken care of without others needing to stoop to the same level.
Problems of a professional nature are usually endemic of a lack of respect for one's peers. Being able to communicate clearly and get work done is completely orthogonal to that concept.