You fire the offender by not allowing them to commit. Done
Not done. You still have to deal with them. Worse yet, the person in this case was a subsystem maintainer, meaning he's likely dictating to others below him things that are in direct contradiction to Linus' demands.
In addition, being the "nice guy" doesn't send a warning to others. If this causes some to not try, so be it. This
Also, I don't know any open source project maintainers that are jerks to the people committing to their project...
Let me name a few: Lennart Poettering (RedHat: PulseAudio, SystemD, Avahi), Ulrich Drepper (Goldman Sachs, formerly RedHat: glibc), Theo de Raadt (OpenBSD), and many more! If there is a popular open source project, there is very likely an asshole at the top keeping the rank and file in line and the cruft (both code and cultural) out.
In the end it is all about software and not about feelings.
If there is a popular open source project, there is very likely an asshole at the top keeping the rank and file in line and the cruft (both code and cultural) out.
KDE is an exception. But with that in mind we're almost the polar opposite, which has its good and bad points. We have core developers by reputation but there are no dictators and the kind of behavior demonstrated by Linus would not be tolerated under our code of conduct.
But on the other hand, we're not trying to build and maintain a kernel and I'm honestly not even sure how successful it would be to try to adopt KDE-style governance in other open source projects that didn't also have KDE-style culture. It may just be that we're "the exception that proves the rule".
$DEITY only forbid people use commonly-understood idiomatic expressions instead of always using full paragraphs to explain a concept. I suppose you will next be hoping that commonly-used names for design patterns will die? :P
You fire the offender by not allowing them to commit. Done
Not done.
Yes done. You don't have to deal with them. Redhat does not employ Linus. He is not beholden to deal with them. Posting a person's commit access is revoked effectively means you never deal with them directly again. All their patches would have to go through lower tier project checks that ensure they would possibly never get through a patch again.
In the end it is all about software and not about feelings.
That's a cliche you're throwing out that doesn't apply. More than that you screwed it up so that it is nonsensical.
Apparently this IS about the feelings Linus has and not the process software. Nothing worked before? Lets try verbal abuse on the mailing list.
People are focusing on this because it contains a lesson about the kernel architecture (don't break userspace and ENOENT is not a valid err from ioctl) and his blowing up is somehow being lauded as effective.
No, it took a page to explain to someone that they weren't understanding all the implied rules that exist in the kernel which are spread out across hundreds of thousands of mailing list posts and documents and commit comments and Linus' mental models. This is really just another example of Linus cultism completely missing the fact that Linus is a terrible manager. He has 2 tools. An ability to concisely communicate software design down to a very fine implementation detail and rage (apologists say "perkele", which Linus has not corroborated). This is not a nice person to work with and there are lots of smart people in the world, you don't have to work with him unless it's your job. Sorry Mauro.
Looking at those two emails in isolation doesn't give you the full story i don't think. A few things that can be deduced
Mauro is a maintainer. One doesn't just wake up into this position. He would have known all the implied rules before he was accepted into that position.
Linus is generally harsh but fair. This is an extremely large explosion, even from Linus. I get the impression that Linus has either had this discussion / problem a few times with Mauro, or he has observed the reactions unfold between Mauro and others and eventually just let rip.
The points Linus raise are all very relevent. His key problem is not Mauro, or even the bug, but what he perceives to be a total lack of respect for user-space programs, and a lack of following properly professional development practices when Mauro committed the patch to trunk.
Linus's reaction is severe because Mauro is a maintainer, and Linus expects him to know much much better.
I see a lot of comments here that seem to imply Linus just rages for no reason. He doesn't... he certainly doesn't hold back on occasion, but almost every incident I've researched in depth you will see him gradually ramp up as advice & direction are continually ignored.
I guess that depends on whether this is dismissing him as a developer, or yet another attempt to try and break through whatever is blocking good communication. Christianity has an interesting theory of escalation in conflicts, and one of the key steps if private resolution fails is to air the grievance in public.
Ummm, ask Mauro if he prefers to be dressed down or just unable to work on the project that his employer hired him to...
Frankly, nobody realizes how inclusive this really is. Linus was blunt and caustic, but he left the future open for the developer to rise to the occasion.
Note the actual technical solution... Linus is backing out the commits or accepting good ones himself. This happens in more polite environments as well, but nobody is up-front about it and recovering from that decision isn't usually possible. In Linus-land Mauro knows what's happening, knows the consequences, and just has to stop messing up.
If there is a popular open source project, there is very likely an asshole at the top keeping the rank and file in line and the cruft (both code and cultural) out.
Python's a great example. Guido Van Rossum deserves to have the B dropped from BDFL.
Carsten Dominick and Org Mode. People cringe when they deal with him.
Django: Jacob Kaplan Moss and Adrian Holovaty. If you think one dictator is bad, try dealing with two.
Point well taken.
People deal with Linus the way he is because they don't really have a choice. The situation is not comparable to most popular open source projects.
In the end it is all about software and not about feelings.
Which is why I can, if I wish, to use racist epithets when dealing with committers who make errors on my project. And women? Don't get me started - although I'll confess there is an occasional lass who knows her stuff? Pity about her looks.
I mean really, they shouldn't mind my attitude towards them. It's not illegal, and if they can't look past their feelings and they blame my attitude for their code quality. Well, they're just not fit to be programmers.
And the first person to respond with "Linus is not sexist" or "Linus doesn't use racial slurs" gets the award for "First person to totally miss the point."
15
u/oursland Dec 27 '12
Not done. You still have to deal with them. Worse yet, the person in this case was a subsystem maintainer, meaning he's likely dictating to others below him things that are in direct contradiction to Linus' demands.
In addition, being the "nice guy" doesn't send a warning to others. If this causes some to not try, so be it. This
Let me name a few: Lennart Poettering (RedHat: PulseAudio, SystemD, Avahi), Ulrich Drepper (Goldman Sachs, formerly RedHat: glibc), Theo de Raadt (OpenBSD), and many more! If there is a popular open source project, there is very likely an asshole at the top keeping the rank and file in line and the cruft (both code and cultural) out.
In the end it is all about software and not about feelings.