I would never speak to someone like that. However, I would love it if Linus would talk like that to me. I would learn so much from that man. Also, we don't know anything about their personal relationship. I have friends that treat each other like this every day, and yet are still very good friends/colleagues, but they know not to speak this way to me. Linus can talk to me like that any time, but my friends and co-workers can't. You establish these limits when you start any friendship or professional association.
Mauro did make a major fcukup. He accepted a patch which returned an obviously invalid error value for an ioctl request. The worst part is that the error code was changed depending on its value, as if to sweep the problem under a rug. The beauty of the LKML is that there is no rug. The reason Mauro got burned is because he is a seasoned maintainer.
Mauro did not deserve to be shamed on the slashdot front page. Yes, he did blame userspace for the problem he created as the maintainer of the media subsystem. Also, any new kernel developer should make sure they know the coding style and inherent laws of the subsystem they are focusing on. I am sure he understands the USB video device class very well, but he submitted code that goes against basic pragmatics (changing an error value).
We all enjoy drama, and this conversation is gold for any new or old developer. I learned something from this argument. It taught me to refocus on meticulous aspects of my code, and to rehash the basics of all of the programming paradigms (which should be obvious anyway). I gather this was Linus' intent. He just took a very direct approach to filling our minds with some valuable knowledge.
Why not take something positive from this mailing list instead of contributing something negative? Stop bashing Mauro. He has a family, and stresses in life that will be exaggerated by this blunder. Linus comments were well deserved, but he took to the harsh criticism fairly well after he foolishly brushed off the initial call to his attention. Unfortunately, he ended his follow up with an unfortunate comment. I am sure he is now trying to ignore superfluous flames outside of the LKML and refocus his attention on learning through reading the code in his subsystem. The most important first step is to read the kernel source. If you don't understand some aspect, you need to look deeper. It is never enough just to code. You have to always continue to read and learn throughout your entire career as a developer.
When I read a book, I look up every single word I don't know. This has become habit, and as a result the more I read, the less I actually need to look up words. Apply the same aspect to your coding. When you are reading code, don't skip over any function or operation you *think* you understand.