1. 37
  1.  

  2. 30

    “Allowing the ‘smartest guy in the room’ to humiliate people is no different than allowing the biggest kid in the school to humiliate people.” -Reginald Braithwaite

    This issue is by no means limited to the Linux kernel community.

    1. 2

      Wait, what?

      The big kids in school don’t humiliate people. They physically assault people.

      1. 1

        True. :/ Societal blind spot, though; I once had someone on Quora’s bullying forum tell me he thought a broken nose was no big deal and kids shouldn’t get special treatment just because they’re bleeding everywhere. He clarified that “unless it’s a broken arm or leg, parents should stay out of it”.

        1. 1

          Umm, sure? But no-one is breaking noses on LKML

          1. 3

            I guess I understood your point backwards. I don’t see “other things are worse” as any sort of excuse.

            1. 1

              I understood @craigstuntz’s line as being “we all hate school bullies, and people saying humiliating things on LKML are no different from school bullies”. And I think that’s false, that actually there is a substantial difference.

              1. 3

                I honestly think they are in many cases the very same people. In a way that’s beside the point, because there’s a systemic pattern whereby the abusive behavior is the successful behavior, so the victim decides to become an abuser, and that can happen either within one person’s lifetime or across generations, and it really doesn’t affect this discussion to talk about which is the case.

                I know there’s a temptation to take issue with referring to hostile words as a form of abuse. That’s a long discussion but I ultimately stand by it in at least the extreme cases. Nobody who’s lived through 2014 and 2015 online can have avoided noticing the ways in which things that are just words, maybe even just words about specialized topics at first, become a justification for personal dislike, and then a justification for overt hatred and physical attacks.

                The guideline for saying something in public from a position of authority should be, if the most malicious person possible is reading it, what meaning would they try to squeeze out of it? In the case of such a high-traffic mailing list, the most malicious person possible is reading it, it’s not a hypothetical.

                1. 3

                  I don’t think that’s what Reginald meant at all. I think he meant the people who enable them are really doing similar things.

                  1. 2

                    Also a really good point. :)

        2. 1

          I think it’s a variation of Dilbert’s Law.

          We are all stupid.

          You.

          Me.

          Torvalds.

          Scott Adams.

          We are simply not smart enough.

          Not smart enough to program correctly.

          And certainly not smart enough to treat each other decently and teach each other how to program correctly.

          Mostly because we are not smart enough to know what “Program Correctly” is.

          It is one of those fuzzy “know it isn’t when we don’t see it” sort of thing.

          But we are not smart enough to put “Program Correctly” into words others will understand and agree on.

          Into Principles.

          Into Guidelines that others can understand the reasons for, and others will agree with.

          So in our stupid limited brains we rage at the world.

          But our rage is really lashing out at our own limiting stupidity.

          Some of us are smart enough to see this.

          Others only see that others are stupid.

          1. 4

            I would go so far as to say there’s no such thing as “correct programming”; in fact, we have another current thread about that. :) The Economics of Software Correctness

            1. 1

              Hmm.

              My pet hobby horse.

              We need to separate “defect free” programming from “programming The Right Way”.

              There very few programs which execute correctly given any input.

              There are far fewer programs, with some overlap with the first set, which inspecting the source code tells you they are readable, testable, understandable, maintainable, reusable and adaptable.

              It’s the second set which is far more interesting and trying to define it creates fierce debate.

              1. 3

                I mean, that’s fair, but I do take a stronger position that, although there are some of these principles which are actually just right, most of the ones that get attention are right for a particular group of people or a particular problem domain. And all of them shift over time. There’s no platonic way to program that we’ll eventually converge on; programming is a social phenomenon.

                1. 2

                  Interesting. I said in my state of typed languages post that I feel like languages are converging - I take it you disagree? Are you a believer in first-classDSLs (i.e. standalone programming languages not intended to be general-purpose)?

                  1. 2

                    I do disagree; I see the Cambrian explosion still continuing, not convergence at all. There’s a very large design space for languages, and in fact it’s still growing as we discover things we didn’t know how to do before, like dependent types. I don’t even think everything interesting has been tried in dynamic languages, though I favor static ones personally.

                    My feel about the long term - what language we’ll all be using in thirty years - is that we’re going to discover radically different things that change a lot of the constraints we’ve worked within. If things are ever stable for a few decades it’ll make sense to talk about whether they’re setting down. :)

                    I don’t really like first-class DSLs when they mean reinventing basic syntax; I think approaches more like Lisp are a good idea, where there’s a simple and versatile syntax that can be the lowest layer for any number of DSLs. But I’d definitely make the standard library much more minimalistic than Common Lisp is in particular; it’s an obstacle to that sort of thing.

        3. 5

          Because the Linux kernel community has only ever been this – it is fair to ask (but impossible to answer) is it successful [1] because of, [2] in spite of, or [3] unrelated to this bruising personal attack culture?

          People often talk about “professionalism” (http://arstechnica.com/information-technology/2013/07/linus-torvalds-defends-his-right-to-shame-linux-kernel-developers/) in regards to this topic, which I think is unfair. In a professional environment, there are far more carrots and sticks and shape personal interactions, from being promoted to being fired. OS projects lack these tools, which puts them in an interestingly complicated place, doubly-so at scale.

          1. 6

            Even if the answer were [1] or [2], that would be a statement about the talent pool who have been interested in Linux kernel work to-date, not about the nature of the work itself. It’s a fair question but even if it were answerable, I don’t think the answer would be useful. :)

            That’s an important point, that open source has different incentives compared to programming for money. The differences are definitely both good and bad.

            1. 1

              If we believe that OSS projects can control their mailing list culture then the answer to the question is useful to project leaders. If we believe contributors can influence that culture then the answer is useful to all of us. If we don’t believe either of these things then why talk about mailing list culture in the first place?

              Linux is not perfectly representative of all projects and the Linux community is not perfectly representative of all OSS communities. But that doesn’t make lessons from Linux irrelevant. Of course better data is always better, but imperfect data is better than none.

              1. 1

                It’s the wrong question to inform a decision like that. “Will trying to fix things tear this community apart and destroy the project’s goals” is actionable, but “have the bad things also had advantages over the years” doesn’t seem like something most leaders would weigh in, especially given that a better environment has other, different advantages. I’m in favor of data-driven decisions, always, but asking the right questions about social issues is pretty hard.

                1. 1

                  The right question is “is this culture better or worse than the proposed alternative”, no? (Transition costs are real but OSS projects tend to take the long view)

                  We are still terrible at software. Linux is remarkably successful. Until we have a better model of why that is, I wouldn’t want to risk changing anything, even the things that have very obvious up-front terribleness.

                  1. 2

                    I guess I see what you’re afraid of, although I think you’re imagining a much greater risk than I am. The kernel is only one part of Linux’s success, and Linux is not the only open-source OS, anyway.

            2. 5

              In a professional environment, there are far more carrots and sticks and shape personal interactions, from being promoted to being fired.

              Professional environments can also be very terrible for that reason because many of those interactions can be perverted and fly neatly under any kind of radar.

              I do support healthy and safe environments, but calling for “professionalism” ignores that there are many of those out there that aren’t professional at all and many professional environments that are toxic.