Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:90565 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7839 invoked from network); 12 Jan 2016 16:11:36 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Jan 2016 16:11:36 -0000 Authentication-Results: pb1.pair.com header.from=jbafford@zort.net; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=jbafford@zort.net; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zort.net designates 96.241.205.2 as permitted sender) X-PHP-List-Original-Sender: jbafford@zort.net X-Host-Fingerprint: 96.241.205.2 nova.zort.net Received: from [96.241.205.2] ([96.241.205.2:59416] helo=nova.zort.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 2A/F2-27877-7B525965 for ; Tue, 12 Jan 2016 11:11:36 -0500 Received: from [10.0.1.2] (pulsar.zort.net [96.241.205.6]) (authenticated bits=0) by nova.zort.net (8.14.5/8.14.5) with ESMTP id u0CGBTUJ022434 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 12 Jan 2016 11:11:29 -0500 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) In-Reply-To: <56948002.1080802@gmail.com> Date: Tue, 12 Jan 2016 11:11:28 -0500 Cc: PHP internals Content-Transfer-Encoding: quoted-printable Message-ID: References: <8B865D2A-6762-430D-9EA1-9B693DE8E8C3@zort.net> <56948002.1080802@gmail.com> To: Stanislav Malyshev X-Mailer: Apple Mail (2.2104) Subject: Re: Internals and Newcomers and the Sidelines (WAS: Adopt Code of Conduct) From: jbafford@zort.net (John Bafford) Stas, On Jan 11, 2016, at 23:24, Stanislav Malyshev = wrote: >=20 > Hi! >=20 >> 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. >=20 > What in your opinion was reprehensive, could you explain? Let me reiterate that the question that was posed, and which I am = answering is, =E2=80=9CWhy do people avoid internals?=E2=80=9D and = =E2=80=9CDoes internals want to attract newcomers?=E2=80=9D 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=E2=80=99s that it=E2=80=99s= a *persistent pattern of behavior*. It=E2=80=99s not JUST the CoC RFC thread. It=E2=80=99s the STH thread. = And every other thread like it. It=E2=80=99s every time the conversation degenerates to nastiness. It=E2=80=99s every time someone threatens that something needs to be = their way or they'll take their ball and go home. It=E2=80=99s every time someone takes their ball and goes home, whether = they threatened to, or because they felt they had to. It=E2=80=99s every time someone makes wild accusations and doesn=E2=80=99t= take the time to back up their arguments or provide something = constructive to the discussion. It=E2=80=99s 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=E2=80=99s every time that happens and people don=E2=80=99t 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=E2=80=99s every time a proposal comes up and people actively try to = destroy it rather than actively making it better *even if they don=E2=80=99= t agree with it*. Toxic internals is not just bad words. It=E2=80=99s *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 =E2=80=9C(well, maybe you should tone that done a little = bit)=E2=80=9D is apologetically =E2=80=9Cwell, they=E2=80=99re not that = bad in person=E2=80=9D, or, =E2=80=9Cthey=E2=80=99re not a bad = person=E2=80=9D, or =E2=80=9Cyou just have to know them=E2=80=9D, 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=E2=80=99= t know you all personally. But let=E2=80=99s 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=E2=80=99re 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=E2=80=99t 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=E2=80=99ve 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=E2=80=99s 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=E2=80=99s = simply =E2=80=9Cok=E2=80=9D or =E2=80=9Cacceptable=E2=80=9D, 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=E2=80=99t matter that everyone here is a decent person. I = don=E2=80=99t think that anyone here is a psycopath. But internals = itself gives that vibe. I=E2=80=99m sure it doesn=E2=80=99t mean to, but = it does. Internals is *not* a nice group to work with. If internals were = my client, I=E2=80=99d fire them. If it were my boss, I=E2=80=99d 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. >=20 > 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=E2=80=99s good that people = jumped on it. It would be one thing if this were the first an only time = something like that=E2=80=99s happened, but it=E2=80=99s 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=E2=80=99t look that way. PHP has an amazing community. It=E2=80=99s one of the reasons I=E2=80=99ve= 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. >=20 > Maybe. For myself, I'm pretty much surely a shitty salesperson. How > would you sell it instead? I=E2=80=99d sell it by first *actually fixing the problem*. This is going to get a bit more ranty, so please bear with me. I don=E2=80=99t want to talk about a =E2=80=9CCode of Conduct=E2=80=9D = (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* =E2=80=9Ccode = of conduct=E2=80=9D: 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=E2=80=99 = actual, perceived, existing, code of conduct. EVERY person has a code of conduct, a way of acting. EVERY group has = one. Whether it=E2=80=99s written down and explicit, or whether it=E2=80=99= s just the way they act, it=E2=80=99s there. I have a personal code of conduct. Everyone who reads this does too. = It=E2=80=99s probably not written down on paper. It doesn=E2=80=99t = matter. There=E2=80=99s a way I act, and a way you act. It=E2=80=99s = there. It=E2=80=99s what you are. It=E2=80=99s 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=E2=80=99t 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=E2=80=99s a reason why we have character witnesses in trials. = There=E2=80=99s a reason why words like trust and honor have meaning. = There=E2=80=99s a reason =E2=80=9Cthey couldn=E2=80=99t have meant it = that way=E2=80=9D and =E2=80=9Cthat=E2=80=99s not them" carries any = weight. Because there=E2=80=99s a way people and groups *choose to act*. = Because there=E2=80=99s 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=E2=80=99s current code of conduct (and again: *perception* is = more important than reality), *strictly from an observation of it=E2=80=99= 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=E2=80=99s happened. = It=E2=80=99s not even the second. Or the third. Doesn=E2=80=99t matter if that=E2=80=99s what you believe, or how the = group believes, that=E2=80=99s how it certainly looks, from my vantage = point. *That* is why people avoid internals. (Well, it=E2=80=99s why *I* avoid = internals. I can=E2=80=99t speak for everyone, but I doubt I=E2=80=99m = the only person with this opinion.) Sitting here on the sidelines, I *want* to participate. I=E2=80=99d like = to think I have a thick skin. But I absolutely don=E2=80=99t 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=E2=80=99t = automatically inclined to give internals the benefit of the doubt; from = someone who=E2=80=99s been warned to =E2=80=9Cnot go there, it's = toxic=E2=80=9D. 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=C3=A7ois=E2=80=99 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=E2=80=99d rather not let that work languish for another two years. = But if this had happened three weeks ago? I probably wouldn=E2=80=99t = have bothered finishing my RFCs, left them to rot, and it probably would = have been at least another year before I=E2=80=99d have considered = wading back in. Because I *do not* want to be a part of the bullshit and = pettyness. =46rom the perspective of =E2=80=9Cwhy do people avoid internals=E2=80=9D,= and fixing the problem, it doesn=E2=80=99t matter if internals has a = written Code of Conduct or not. That=E2=80=99s entirely irrelevant. What = matters is that internals starts taking action by not allowing the = misbehavior that=E2=80=99s 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=E2=80=99m 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=E2=80=99t realize they=E2=80=99re in the = wrong. Some (most, really) people could call other people out and choose = not to because they don=E2=80=99t want to get involved (which, honestly, = is an entirely prudent choice and I wouldn=E2=80=99t fault anyone = individually for that). It doesn=E2=80=99t 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, =E2=80=9Cthese = people need a Code of Conduct=E2=80=9D. I don=E2=80=99t 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 =E2=80=9Cthis 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=E2=80=99s going to be amazing when it=E2=80=99s done=E2=80=9D.= I DON=E2=80=99T want to see a thread of 100 emails and immediately = think, =E2=80=9Coh, not this same old shit all over again=E2=80=9D. I = didn=E2=80=99t 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=E2=80=99t know. = Don=E2=80=99t care, doesn=E2=80=99t 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=E2=80=99s all = whipped into *actual anger* about this RFC or that other RFC. Whether = you read the emails or not, that they=E2=80=99re 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=E2=80=99ve 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=E2=80=99s how: *STOP BEING TOXIC*. How? I dunno. I=E2=80=99m open = to ideas. I=E2=80=99m happy to help. Want to, even. But this shitpile = needs to be fixed. Internals needs to *accept* there=E2=80=99s 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