Before I worked in software I noticed companies would have two cultures. A "shop" culture where workers can wear casual clothes, swear, kick stuff, and at the end of the day, get things working, and the "front office" that focused on sales. You never knew if a client was on the phone or in the office so workers dressed well and any negative speech was strictly forbidden.
Because programmers work at a desk, they are shoehorned into front office culture. This has probably done more harm to the productivity of software projects than any other factor. Just this year I watched a small software project (one that a small team of competent developers, QA, and a BA could have completed in several weeks) waste millions of dollars (some say hundreds of millions - the real figure (in the true spirit of front office culture) would be "rude" to tell) before being cancelled. I saw this train wreck coming a mile away and documented the issues and forwarded them to my supervisor but it made no difference. In defense of the company I work for, at least they didn't fire me. It is pure front office culture to blame the whistle blowers for failure.
And don't even start with "Oh, you just need to say it in the nicest, politest manner!" There is no way to tell somebody they are wrong and have to change in a "nice" way. Your organization either can focus on the quality of the end product and encourage criticism or focus on appearance and censor it. But if you choose the latter, unless your project is a con, it is doomed from the start.
I agree with some of your post, but this part here is a false dichotomy. All over the world people doing complex work are able to disagree constructively without being raving douchebags about it.
There is a ton of collateral damage that comes from employing some sanctimonious jerk who cannot be bothered to consider the humanity of his/her colleagues. Most companies I've worked for get that.
1. First person drafts a solution. 2. Another person doesn't like it so he drafts an alternative solution. 3. The other developers then look at the two solutions and further build upon the solution that they like better. 4. Repeat. Kind of like a proof of work chain system, now that I think about it.
I don't see how adding in emotions, whether whining or praising, are an improve upon this system at all, but thanks for your explanation.
When criticism is ignorant, purely selfish, or otherwise not constructive, it becomes a problem. And I don't think FOSS leaders should have any problem expressing this sort of judgement without anger or ill-will.
Consider that people who wine, seem to outnumber the people who do by at least 1000 to 1, and you'll have my answer for who I believe to be contributing more to getting things done.