I think people are talking about multiple phenomena here. Yeah, there's the whole blunt/direct/borderline asshole behavior when someone is making a mistake and someone else is trying to correct that mistake in the most efficient way possible, hopefully educating the person making the mistake and maybe being a jerk about it to highlight for everyone what a huge mistake it is so everyone else remembers not to do that thing.
That's what the Linus defenders are usually standing up for, at least. Maybe in his case it's an effective way to run his project, I don't know. He's the boss and it's up to his contributors whether or not they want to deal with that kind of thing.
I don't think that's the phenomenon that's being discussed here though. You say it's refreshing to be told when your ideas suck by someone who knows better, but in my experience that's not the case in most programming communities. Most of the time, the people who are going to tell you that you that your ideas suck are not actually that much more experienced and may not even have better ideas.
When I first got on Usenet in the early '90s, I was just starting to learn programming. I thought the people on comp.lang.c and elsewhere were just the smartest people in the world (some of them were, of course). I loved it when they skewered people asking dumb questions or proposing dumb ideas, and I felt like I learned a lot from reading their posts. In hindsight, they only seemed to be so smart because I knew so little. Looking back on it now, many of them just seem like bitter and pedantic people that knew a lot of technical minutiae but didn't necessarily know or care about creating software that actually did things, that other people could use. They were smart and knew a lot of useful things, but just as often they would make very personal and subjective observations about things, but mask those observations as bold, objective proclamations about This Is How Software Should Be Written. Unfortunately, in my larval hacker stage I couldn't tell the difference.
Anyway, what I was getting at was that it's good to learn things from people who know more than you do, but just because they're assholes about it doesn't mean they're right (it frequently means the opposite). Programming communities tend to be dominated by the assholes though, because they're the most motivated post comments and get into arguments with people about technical minutiae. It's the way it is, but it's not necessarily a good thing.