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

Reply via email to