Stas,
On Jan 11, 2016, at 23:24, Stanislav Malyshev <[email protected]> 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