Stas, On Jan 11, 2016, at 23:24, Stanislav Malyshev <smalys...@gmail.com> wrote: > > Hi! > >> This is yet another example of the toxic internals problem. >> Regardless of one's views on the CoC proposal, the conduct of >> php-internals as a whole has been reprehensible. > > What in your opinion was reprehensive, could you explain?
Let me reiterate that the question that was posed, and which I am answering is, “Why do people avoid internals?” and “Does internals want to attract newcomers?” Let me make very clear: * I am talking about *perception*. In this context, perception is way more important than reality. Because to answer those two questions, perception is the key. * I am not indicting any one person or event or thing said in particular. I am indicting the *whole of internals as a group* on its conduct. (And so my comments in general should be taken in that light, and not as finger pointing at any one person/event/thing said in particular.) What was reprehensible is not just the comments that were made, *how* they were made, and the *response* to them. It’s that it’s a *persistent pattern of behavior*. It’s not JUST the CoC RFC thread. It’s the STH thread. And every other thread like it. It’s every time the conversation degenerates to nastiness. It’s every time someone threatens that something needs to be their way or they'll take their ball and go home. It’s every time someone takes their ball and goes home, whether they threatened to, or because they felt they had to. It’s every time someone makes wild accusations and doesn’t take the time to back up their arguments or provide something constructive to the discussion. It’s every time someone nitpicks a proposal to death, conveniently (and/or intentionally) missing the point, and keeps doing it in an attempt to kill the proposal by attrition, rather than sound reasoning. It’s every time that happens and people don’t shut up and admit that their opinion is divergent from consensus, and that sometimes we have to agree to disagree, and work towards making the whole better. It’s every time a proposal comes up and people actively try to destroy it rather than actively making it better *even if they don’t agree with it*. Toxic internals is not just bad words. It’s *all of the above*. Every so often, there is a conversation in which someone says things in such a caustic manner (or just plain caustic things), and the general reaction beyond “(well, maybe you should tone that done a little bit)” is apologetically “well, they’re not that bad in person”, or, “they’re not a bad person”, or “you just have to know them”, or silent acceptance. And I mean caustic in both the corrosive/corroding/abrasive *and* sarcastic/cutting/biting meanings. It goes way beyond cute or funny. The level of vitrol is astounding. And it is *not* acceptable. I *know* the people on internals are good people. (I presume. I don’t know you all personally. But let’s take as given.) I *know* everyone here is smart, and hard working, and talented. But everyone put together in this pot called php-internals has produced something pretty foul. At least, it certainly smells that way. I understand that we’re a passionate people, and that sometimes things get out of hand. But wow, when it gets out of hand, it really goes through the roof and people can’t help themselves but pile on when the appropriate response is to call a time out, sit back down in their chairs, meditate on . Another part of the problem is the constant gaslighting and Sea-Lioning (as Anthony puts it). I’ve watched many conversations run around in circles, with everyone making the same points over and over again, the tone deteriorating over time (or starting out deteriorated). There’s always someone who seems intent on intentionally misunderstanding the situation. A lot of talk and nothing really said. Again, a reminder: perception is more important than reality. Whether people like the way internals is, or even if they think that it’s simply “ok” or “acceptable”, looking at internals from the sidelines, the lot of us look brain-damaged, and not in a warm fuzzy endearing way, but in a psycopath way. It doesn’t matter that everyone here is a decent person. I don’t think that anyone here is a psycopath. But internals itself gives that vibe. I’m sure it doesn’t mean to, but it does. Internals is *not* a nice group to work with. If internals were my client, I’d fire them. If it were my boss, I’d quit and go somewhere else. (Again: *internals, the group*, and not any individual person on this list.) >> And *every* time I start to think, "ok, I'm finally going to dust off >> those old patches and write some RFCs" this shit happens, and I >> reconsider and go back to lurk mode because I have no interest in >> participating in conversations about facists, whether real or >> imagined. > > Precisely one person mentioned anything about "fascists", and pretty > much everybody agreed that was over the top and we should not use such > words. Was that reprehensible? OK, what would you do instead? That was just one of the things. And it’s good that people jumped on it. It would be one thing if this were the first an only time something like that’s happened, but it’s not. This is a recurring problem, and it has not been dealt with. Not necessarily the same people or the same words, but it keeps happening. Or at least, it feels like it keeps happening. Internals could all be best friends and love each other to death, but it sure doen’t look that way. PHP has an amazing community. It’s one of the reasons I’ve stuck around as long as I have. I like being part of the overall PHP community. But internals? I should not feel like I have to don an asbestos suit just to get into a trivial conversation. >> This is getting a bit ranty. But internals deserves it. You all may >> be great programmers, but in terms of making people *want* to work on >> php-src, you're shitty salespeople. > > Maybe. For myself, I'm pretty much surely a shitty salesperson. How > would you sell it instead? I’d sell it by first *actually fixing the problem*. This is going to get a bit more ranty, so please bear with me. I don’t want to talk about a “Code of Conduct” (capitalized, as in, the written document with rules and penalties, as in, that thing that belongs in that other thread over there). Instead, I want to talk about internals *actual perceived* “code of conduct”: the way internals *visibly* conducts its behavior, and focus strictly on that. So *PLEASE* do not turn this back into a discussion of the RFC, or any particular Code of Conduct, or whether php-internals should have one or not because THAT IS NOT WHAT THIS IS ABOUT. I am not advocating for or against a Code of Conduct. I am simply describing internals’ actual, perceived, existing, code of conduct. EVERY person has a code of conduct, a way of acting. EVERY group has one. Whether it’s written down and explicit, or whether it’s just the way they act, it’s there. I have a personal code of conduct. Everyone who reads this does too. It’s probably not written down on paper. It doesn’t matter. There’s a way I act, and a way you act. It’s there. It’s what you are. It’s what the group is. By example: a code of conduct is not that you have a rule to not kick kittens. A code of conduct is *the observation* you don’t kick kittens. Whether you have a rule or not is immaterial. Whether there are penalties are not is immaterial. It is your *actual conduct*. There’s a reason why we have character witnesses in trials. There’s a reason why words like trust and honor have meaning. There’s a reason “they couldn’t have meant it that way” and “that’s not them" carries any weight. Because there’s a way people and groups *choose to act*. Because there’s a code of conduct, written or unwritten, that is demonstrated by actions. (Distinction: *demonstrated*, not *enforced*.) And when the code of conduct is broken, or when the code of conduct is bad to begin with, bad things happen. Internal’s current code of conduct (and again: *perception* is more important than reality), *strictly from an observation of it’s actions*, is that the sort of vitrol and hate and gaslighting and sea-lioning and personal attacks and hyperbole and whatnot that were present in the prior thread is allowed. Because it keeps happening. Oh, yes, people get yelled at and they shut up for awhile eventually. But it keeps happening. This is not the first time it’s happened. It’s not even the second. Or the third. Doesn’t matter if that’s what you believe, or how the group believes, that’s how it certainly looks, from my vantage point. *That* is why people avoid internals. (Well, it’s why *I* avoid internals. I can’t speak for everyone, but I doubt I’m the only person with this opinion.) Sitting here on the sidelines, I *want* to participate. I’d like to think I have a thick skin. But I absolutely don’t want to put up with bullshit and pettiness, and *every* time it happens (which seems to always be right around when I start dusting off an old patch or RFC), it makes me reconsider. And this is with me giving internals the benefit of the doubt and understanding that the group is passionate and wants to ensure that PHP is the best ever. Imagine how bad it looks from someone who isn’t automatically inclined to give internals the benefit of the doubt; from someone who’s been warned to “not go there, it's toxic”. The PHP community as a whole is warm, and welcoming, and friendly, AND IT SAYS INTERNALS IS TOXIC. What does it say about internals when the community it is centered around (or is the center of?) says the core is rotten? The *only* reason I responded to François’ email, rather than putting internals back on the killfile *yet again* is because this time I actually have an RFC under discussion, and another one pending, and I’d rather not let that work languish for another two years. But if this had happened three weeks ago? I probably wouldn’t have bothered finishing my RFCs, left them to rot, and it probably would have been at least another year before I’d have considered wading back in. Because I *do not* want to be a part of the bullshit and pettyness. From the perspective of “why do people avoid internals”, and fixing the problem, it doesn’t matter if internals has a written Code of Conduct or not. That’s entirely irrelevant. What matters is that internals starts taking action by not allowing the misbehavior that’s lead us to this point. By not giving credence to the thought that it does need an explicit Code of Conduct. Codes of Conduct are a thing these days. One was going to show up at php-internals eventually. What ought to be embarrassing is that the very thread to discuss one can be used as a convincing argument *for* one. I’m not going to point fingers. Some people are in the wrong and know it. Some people are in the wrong and refuse to admit it to themselves. Some people don’t realize they’re in the wrong. Some (most, really) people could call other people out and choose not to because they don’t want to get involved (which, honestly, is an entirely prudent choice and I wouldn’t fault anyone individually for that). It doesn’t matter. It all contributes to the problem. But I digress. What I want is for internals as a collective to stop carrying on in a manner that causes people to say, with all seriousness, “these people need a Code of Conduct”. I don’t care whether we have a written one or not. What I care about is that we stop acting in a way that makes people think we *need* one. I want to look forward to all the awesome technical discussion about the next cool feature in PHP. I want to *be a part* of the next cool feature in PHP. I want to see a thread of 100 emails and go “this is such an amazing discussion on the merits and drawbacks of the new Frobinator feature, I disagree with some of the ideas, but I never thought about it quite that way before, but gosh, I learned something here and it’s going to be amazing when it’s done”. I DON’T want to see a thread of 100 emails and immediately think, “oh, not this same old shit all over again”. I didn’t read most of the CoC proposal thread. Why? Because it was the *same old shit all over again*. Could internals have had a reasoned discussion about a CoC? Yeah. Did it? No. It turned sour quickly and never really recovered. Maybe that was the point. I don’t know. Don’t care, doesn’t matter. But this sort of thing needs to *never happen again*. (To be explicit: conversations that run this course, and not the discussion of whether a CoC is needed and if so what it should look like.) When long-timers start killfiling threads because they go off the rails, the group as a whole suffers And that prevents me from wanting to participate, because really, who can have a reasoned technical conversation when everyone’s all whipped into *actual anger* about this RFC or that other RFC. Whether you read the emails or not, that they’re even there and knowing (or suspecting) the sort of quality and tone they carry imposes a huge cognitive burden on getting awesome stuff done. So, back to salespeople. We’ve got a giant steaming pile of crap here. As awesome as U+1F4A9 is, the fix is to stop trying to polish the turd and actually clean up our act. You want php-internals to lose its toxic reputation? Here’s how: *STOP BEING TOXIC*. How? I dunno. I’m open to ideas. I’m happy to help. Want to, even. But this shitpile needs to be fixed. Internals needs to *accept* there’s a problem, and *actually do* something about it. Once internals *actively puts forth effort* to counter its toxic reputation, by *being less toxic*, it will be much easier to attract new talent. Do that first. The rest will follow. -John -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php