# Internals and Newcomers and the Sidelines (WAS: Adopt Code of Conduct)

- Thread: https://externals.io/message/90533
- Original archive: https://news-web.php.net/php.internals/90533
- Started by John Bafford on 2016-01-12T03:46:58+00:00
- Messages: 57
- Page 1 of 3: messages 1 to 25 (25 per page, add `?page=N` to the URL)
- Next page: https://externals.io/message/90533.md?page=2
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #90533 — John Bafford — 2016-01-12T03:46:58+00:00

URL: https://externals.io/message/90533#90533

[Apologies for the re-post; I’m re-sending this with a new subject because it’s really not about the CoC RFC.]

> 
> 
> If we want to deal with the reasons why people avoid internals, the let's go and analyze the problem first ? I will start asking whether we really want to attract newcomers. The question may sound ridiculous but I think we don't, mostly because most people here see newcomers as just a source of annoyment and silly questions/RFCs. Additional evidence shows that we never did much effort to help integrate newcomers.
> 
> So, the tone on the list is, IMO, just a small part of the problem. As long as there's no consensus on whether we want to attract newcomers and the effort we're ready to do to integrate them, discussing about the details of a CoC seems a bit prematurate to me.


I agree with this 100%.

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.

Whether anyone agrees with that statement or not is almost besides the point. Internals has a *reputation* for being toxic, and whether or not that reputation is justified, *it exists*, and internals is not doing anything to counter that reputation. Certainly not with the CoC discussion.

I have watched internals for probably ten years now. I have *never* gotten the impression that internals was actually seriously interested in cultivating newcomers. Lip service is paid from time to time, but at the end of the day, nothing ever changes.

So let's say, hypothetically, internals actually, seriously, wants newcomers.

I've used C since 1997, PHP since 1999, come from a CS background, and PHP is my favorite language (well, maybe it's a tie with Objective-C). At least, it's the language I use most often, so I have a vested interest in helping it get better. I am exactly the sort of person internals should be courting to join the "team".

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.

I've got one RFC under discussion, and another one in draft that should be ready for discussion soon. Hell, I had been collecting emails for a few weeks and was just about to start work on (what I had hoped would be an ongoing series of) a weekly summary of internals (similar to what Pascal Martin had been doing in 2014) as an excuse to actually read all of internals to help wrap my head around what was actually going on from a tech perspective. Then the CoC thing blows up, and it's all so disheartening. Makes me question whether putting in the effort was worth it, and well, you can forget about anyone trying to write an impartial summary of the CoC discussion.

And that's just internals. There's also apparently twitter and reddit flamewars and namecalling going on that I'm just as happy to know nothing about.

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.

The reputation for internals being toxic surely bleeds over to everyone else who knocks PHP as being a shitty language. Only now, they get to say, "what a bunch of amateurs, the language devs can't even discuss a code of conduct without calling each other nazis".

Stop the nonsense. Get better, grow up, treat each other with respect, and act like the adults you are. I'd like to work with you all, but you make it dammned hard to want to.

-John

---

## #90534 — Stanislav Malyshev — 2016-01-12T04:24:34+00:00

URL: https://externals.io/message/90533#90534 · In reply to: #90533

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?

> 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?

> emails for a few weeks and was just about to start work on (what I
> had hoped would be an ongoing series of) a weekly summary of
> internals (similar to what Pascal Martin had been doing in 2014) as

That would be awesome. But this is very hard work - which is why nobody
is doing it for long.

> 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?

-- 
Stas Malyshev
smalyshev@gmail.com

---

## #90537 — Lester Caine — 2016-01-12T08:19:08+00:00

URL: https://externals.io/message/90533#90537 · In reply to: #90534

> > […]
> Maybe. For myself, I'm pretty much surely a shitty salesperson. How
> would you sell it instead?

I'll be the first to put up my hand as to being a lousy salesperson. I'm
an engineer and don't charge enough but I can't personally justify
ripping clients off for the amount of time it sometimes takes to fix the
problems others cause through often unnecessary 'upgrades'. I've had a
few sites out over Christmas due to one niggle or another. A couple due
to missing fixes when porting the PHP over from the 5.2 servers. I have
to take the hit for the time spent ... it's not the clients fault the
site failed?

I've just spent the best part of a week rebuilding my development
platform, starting again from scratch with a clean copy of Eclipse + PDT
with it's new PHP7 validator so I can HOPEFULLY now see what extra work
needs doing but there is nothing here I can 'sell' to a client. They
just want their sites to keep working ... that is what they pay me for.
I've now got to port the existing projects over since many of the
problems I've lived with for the last few years turn out to be due to
poor upgrades to project files in Eclipse over time. And learn PDT since
I've been using PHPEclipse for the past 10+ years.

I've been TRYING to pick up the remaining niggles with the
Firebird/Interbase extension, and work through the ADOdb patches to make
that compliant with PHP7, but it does not qualify me as an 'internals'
contributor. Only what I conciser an active PHP contributor and
certainly not a salesperson for PHP. Today understanding the core code
of PHP is even more difficult than it was when I first fixed bugs in
extensions 15 years ago so we are more reliant on the few people who
actually understand the changes and I doubt now I will ever have the
time to get any closer to the code than that.

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk

---

## #90546 — Tom Worster — 2016-01-12T13:59:08+00:00

URL: https://externals.io/message/90533#90546 · In reply to: #90533

> Stop the nonsense. Get better, grow up, treat each other with respect, and act like the adults you are. I'd like to work with you all, but you make it dammned hard to want to.

Hi John,

Good for you for writing and sending your email! Really.

The nature of the discourse on Internals serves a political purpose that 
your opening quote hints at. In the most general terms, it serves to 
protect the status quo. Specifically it functions to protect the de 
facto leadership of the PHP project.

So while I support the general thrust of your email, I don't think much 
will come from asking folk to tone it down. Framing this as marketing of 
PHP and Internals to the wider world, while valid, allows us to dance 
around the core problem.

Tom

---

## #90558 — Chase Peeler — 2016-01-12T15:27:11+00:00

URL: https://externals.io/message/90533#90558 · In reply to: #90546

I personally offered at least two emails with constructive feedback and
alternative solutions. I never saw any reply or feedback to either one. I
also had some emails in which I was somewhat argumentative (the ones
related to the definition of harassment). I still stand by those emails as
they were a perfect example of why I feel the CoC, as proposed, is a bad
idea.

My take away from Anthony's last email is basically: "We're going to have a
CoC whether you like it or not. You are welcome to offer feedback to make
the CoC better after we propose it, but any feedback that says a CoC is bad
will be viewed as non-constructive and ignored." Everyone is so afraid that
people are afraid to get involved now because they don't feel "safe." We're
heading for the exact same situation, only for different reasons. I
personally feel, faced with the two alternatives, a community where we put
into "law" a system that discourages participation is much worse than a
system where the lack of such "law" prevents them.

This is exactly the kind of behavior we are afraid of: "disagree with me
too much and I'll label you a trouble maker." The difference is, with a CoC
in place, there is now a tool that can be used to seek formal "charges" in
such cases. With power concentrated in only a few individuals, the
potential for abuse is high - and that's considering that the committee
operates in a way they believe is good. It's even worse if you have an
individual on the committee with their own agenda that isn't operating in
such a way.



> 
> > […]
> and act like the adults you are. I'd like to work with you all, but you
> make it dammned hard to want to.
>
> Hi John,
>
> Good for you for writing and sending your email! Really.
>
> The nature of the discourse on Internals serves a political purpose that
> your opening quote hints at. In the most general terms, it serves to
> protect the status quo. Specifically it functions to protect the de
> facto leadership of the PHP project.
>
> So while I support the general thrust of your email, I don't think much
> will come from asking folk to tone it down. Framing this as marketing of
> PHP and Internals to the wider world, while valid, allows us to dance
> around the core problem.
>
> Tom
>
>
> --
> 
> 
>
> --
-- Chase
chasepeeler@gmail.com

---

## #90561 — Sascha Schumann — 2016-01-12T15:51:11+00:00

URL: https://externals.io/message/90533#90561 · In reply to: #90558

> My take away from Anthony's last email is basically: "We're going to have a
> CoC whether you like it or not. You are welcome to offer feedback to make
> the CoC better after we propose it, but any feedback that says a CoC is bad
> will be viewed as non-constructive and ignored."

That would be foolish to assume.

> Everyone is so afraid that  people are afraid to get involved now because they
> don't feel "safe." 

Are there any reasons for that? 

> It's even worse if you have an individual on the committee with their own
> agenda that isn't operating in such a way.

The current proposed code of conduct looks exactly designed to benefit that
individuum.

Sascha
/oldtimer

---

## #90562 — Dan Ackroyd — 2016-01-12T15:57:54+00:00

URL: https://externals.io/message/90533#90562 · In reply to: #90558

> I personally offered at least two emails with constructive feedback and
> alternative solutions. I never saw any reply or feedback to either one.

It's not possible for every email to be replied to in a conversation.
If they were, then the conversation would last forever.

> My take away from Anthony's last email is basically: "We're going to have a
> CoC whether you like it or not.

Then I believe you got the wrong point.

Anthony was saying that the conversation wasn't helping him to refine
the RFC to be more acceptable to the community; instead it was just
generating more tension and animosity, and that he would prefer to
suspend taking part in that conversation, until a more complete, and
hopefully acceptable RFC could be written.

At which point he would present the idea as a more polished RFC, which
hopefully would have a productive conversation.

cheers
Dan

---

## #90565 — John Bafford — 2016-01-12T16:11:28+00:00

URL: https://externals.io/message/90533#90565 · In reply to: #90534

Stas,


> 
> Hi!
> 
> > […]
> 
> 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.)




> > […]
> 
> 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.



> > […]
> 
> 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

---

## #90566 — Sascha Schumann — 2016-01-12T16:17:33+00:00

URL: https://externals.io/message/90533#90566 · In reply to: #90565

Hi John,

> And it is *not* acceptable.

May I ask who put you in charge to determine whether something is "acceptable"
or "reprehensible"?

Sascha

---

## #90568 — Pierre Joye — 2016-01-12T16:45:26+00:00

URL: https://externals.io/message/90533#90568 · In reply to: #90566

On Jan 12, 2016 11:17 PM, "Sascha Schumann" <
sascha.schumann@myrasecurity.com> wrote:
>
> Hi John,
>
> > […]
>
> May I ask who put you in charge to determine whether something is
"acceptable"
> or "reprehensible"?

(for him) and other.

Everyone speaks for himself or a small group of persons he talked to.

Let focus on the points where we know to be correct, as in, let get out of
the kitchen for a change and see what our guests think while watching about
us cooking, do we motivate them to learn ro cook and join? Or are we
telling them to stay away and just eat?

I hope this image comes over correctly. :)

Cheers,
Pierre

---

## #90569 — John Bafford — 2016-01-12T16:59:29+00:00

URL: https://externals.io/message/90533#90569 · In reply to: #90566

Sascha,

> 
> 
> Hi John,
> 
> > […]
> 
> May I ask who put you in charge to determine whether something is "acceptable"
> or "reprehensible”?

*I* avoid internals because *I* believe the conduct here is reprehensible, and not acceptable.

So in the context of the questions “Why do people avoid internals?” and “Does internals want to attract newcomers?”, the only questions which I am attempting to answer, and in terms of *my own personal view of internals as a whole* in response to those questions, I did, because it is strictly my opinion.

You [= the reader, not Sascha specifically] may or may not agree. That is fine. You may think that that there is a problem, but it doesn’t rise to the level of being reprehensive. That’s fine too. Maybe it does, maybe it doesn’t. But this is *my* opinion, *my* answer to the question at hand, and it is up to you, and everyone else, to make their own decision as to whether there actually is a problem on internals. I think there is, and I’ve outlined what I see to be the problem. Someone else can answer the questions differently. They may not think internals’ conduct is reprehensible. They may think the conduct is acceptable. That debate can be had, but it doesn’t change my perception.

-John

---

## #90571 — Adam Howard — 2016-01-12T18:05:44+00:00

URL: https://externals.io/message/90533#90571 · In reply to: #90568

Can we please move on past this and get back to actual code.  Because if
not, perhaps PHP Internals has outgrown the email format and should migrate
to a forum type format.



> On Jan 12, 2016 11:17 PM, "Sascha Schumann" <
> sascha.schumann@myrasecurity.com> wrote:
> > […]
> "acceptable"
> > […]
>
> (for him) and other.
>
> Everyone speaks for himself or a small group of persons he talked to.
>
> Let focus on the points where we know to be correct, as in, let get out of
> the kitchen for a change and see what our guests think while watching about
> us cooking, do we motivate them to learn ro cook and join? Or are we
> telling them to stay away and just eat?
>
> I hope this image comes over correctly. :)
>
> Cheers,
> Pierre

---

## #90573 — Ferenc Kovacs — 2016-01-12T19:15:56+00:00

URL: https://externals.io/message/90533#90573 · In reply to: #90565

>
>
> 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
>
>
Hi John,

thanks for sharing your opinion in such a level headed and well articulated
manner, I wish if this won't be lost amongst the hundreds of mails sent in
the last couple of days on the list.

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

---

## #90577 — Stanislav Malyshev — 2016-01-12T22:58:56+00:00

URL: https://externals.io/message/90533#90577 · In reply to: #90565

Hi!

> 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?”

Sure, but you talked about specific behavior in specific discussion.
Except of an incident of some unfortunate name-calling, my opinion was
that it was pretty common discussion which did not feature any
disruptive behavior, but you called it "reprehensive" - so I wanted to
know why, if you can explain.

> * 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.)

But we can not change the conduct of "whole of internals as a group". It
is just a metaphor describing set of behaviors of its members. So if we
can not move past "guys, you suck!" then it is understandable but we
can't do anything about it.

> Toxic internals is not just bad words. It’s *all of the above*.

OK, I could nitpick on specific but it's not important. What is
important is - what to do about it?

> 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.

What would you do instead? I mean, telling people is not enough - what
else, bans?

> 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 must disagree with that. Put together we have produced something that
million people use and create amazing things based on it. Yes, sometimes
seeing how the sausage is made is not a pretty sight. But presenting it
as it's just that I think is wrong.

> 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.

I would caution you not to confuse "somebody is not agreeing with me"
with "somebody is maliciously misunderstanding me". There's a lot being
said, and most of what is being said was important to say (not all of it).

> Again, a reminder: perception is more important than reality. Whether

I must say I completely disagree with that statement. I think reality
does matter.

> community. But internals? I should not feel like I have to don an
> asbestos suit just to get into a trivial conversation.

Just a note - CoC is way apart from a "trivial conversation", it is a
big thing. So is STH and so on. "Trivial conversation" would be asking
for status of a pull request or committing a typo fix. Not much chance
for 1000-message discussion.

> 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.

I'm sorry but I must notice I think you observations is quite wrong (I
mean I don't doubt you feel that way, I just doubt it indeed happened
that way). There was a bit of hyperbole, I admit - but no personal
attacks, and no hate. Unless you are confusing disagreement with hate?
That's my personal perception.

> Oh, yes, people get yelled at and they shut up for awhile eventually.

OK, so telling people they are in the wrong not enough. What would be? I
mean, I got it, you think things are really bad. I am not sure I agree,
but never mind that, I got your point and I appreciate it. So, what's
your proposal? Bans? Special troika on enforcement of politeness? That
wouldn't work. Any better proposals?

> 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”.

That would be amazing, but real humans very rarely behave this way when
they think Frobinator feature is the best way to ensure PHP dies a slow
horrible death. And whatever you propose, however you think brilliant it
is, there might be be people that think exactly that. So, what we do
then? It's easy to be warm and supporting when everybody agrees, except
for some small unimportant details, but how would you be warm and
supporting while telling a person that you think the feature they worked
on for the whole last year is a horrible idea and they should not
mention it ever again? That's the real problem.

> Here’s how: *STOP BEING TOXIC*. How? I dunno. I’m open to ideas. I’m

So, let's proceed to ideas?
-- 
Stas Malyshev
smalyshev@gmail.com

---

## #90579 — Zeev Suraski — 2016-01-12T23:07:32+00:00

URL: https://externals.io/message/90533#90579 · In reply to: #90565

John,

Thanks for taking the time to write that lengthy email.
There are a lot of things in there I agree with, and a lot I disagree with, but that's beside the point for now. 

One part in particular in your message got me thinking:

> 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 .

That resonated with me, as while I said I don't view internals as toxic a couple of days ago, I had to agree with you that there are situations where it does become toxic.  These situations - even though they're temporary - reflect very badly on the perception of internals as a whole.

While I think an extended CoC that's along the lines of Rasmus' "Be Respectful"++ can help, it can only go so far.  Instead, if we find a way to eliminate the triggers that cause these meltdowns, we're much more likely to succeed in really improving the situation on internals.

I had a theory, and decided to run some analysis regarding all the votes that went into PHP 7.0.  It's available at bit.ly/php7rfcs.

Observations:
Out of 45 approved RFC, 34 would have cleared a 90% bar, 35 would have cleared an 85% bar, and 38 would have cleared a 75% bar.
To the best of my recollection, all of the RFCs that generated major storms fall in the these 7 RFCs that cleared the 67% mark, but failed the 75% mark.
Very importantly, out of the RFCs that cleared 85% and 90% - none had more than 5 people opposing, most had 0, and most of the rest had less than 3.

It's also worth noting that once you clear the 75% mark, you're very likely to also clear 85% and 90%.  Only 3 RFCs cleared 75% and didn't clear 90%.

What I'm getting at is this:

Most passed RFCs are manage to gain something that's very close to consensus, way higher than 2/3, with barely a handful of people opposing.
If the vote is close to 2/3 - there are very high chances that the RFC is controversial, that people who oppose it will be opposing it passionately, and that as civilized as we try to be - bad vibes are likely to ensue.

> How? I dunno. I’m open to ideas.

I have one idea.  I made an awful mistake while drafting the Voting RFC, requiring a 2/3 majority for language changes.  It should have been 85-90%.  When you have a 85-90% majority - it's likely to imply several things:
1. There's overwhelming majority for it.
2. At least based on past experience - not only the relative amount of opposition is low, but also the absolute one.
3. Unlike today, when the storms occur when there isn't consensus but when there are two sizable 'camps', even if one is bigger than the other - if we require an overwhelming majority to approve RFCs, I think that the issue of people "not shutting up and admit their opinion diverges from the consensus" will disappear.  If there are 9 people who support the idea for every one that opposes it, it's very different than having only 2 for every one that opposes it.  Radically different.
4.  As soon as authors notice substantial opposition, they'll quickly realize they're dealing with an RFC that's very unlikely to pass, and probably eiter abandon it or go back to the drawing board - and eliminate any contention that may have otherwise surrounded it.
5.  A high bar would push authors to address as many the points of opposition before they move to a vote, resulting in a better RFC.  From a quick glance at the ones that failed clearing 85/90% - it seems that at least some could have cleared it with some improvements.

I think that no matter what we do, CoC, guidelines or teams we have in place - as long as there'll be divisive RFCs, there are going to be heated, toxic discussions.

Had we had a 90% bar, it does mean that STH wouldn't have made it into the language, but it also means that we would probably not have the discussion saga on internals either, and all of the bad vibes that surrounded it.  Plus, STH is already behind us - we're talking about the future. 

So I believe it boils down to this - are we willing to give up on a few features in order to vastly improve the atmosphere on internals?

Zeev

---

## #90580 — johannes@schlueters.de — 2016-01-12T23:24:34+00:00

URL: https://externals.io/message/90533#90580 · In reply to: #90533

> So let's say, hypothetically, internals actually, seriously, wants
> newcomers.

  Back in the days when I was more active when teaching newcomers
internals in articles and conferences I typically pointed them to
pecl-dev for the first discussions and contributions. There one can work
on extensions in a more relaxed environment on less controversial topics
and newcomers get to know some others and some technical constraints.

  Mind that discussions on internals have a huge impact - changes to the
language lead to a long tail over other changes, practices change, tools
have to change, code might break. Also people have different emotional
attachment to the language and the way it works. A change might be a
break on what sees as the foundation (most notably to see in the type
hints discussions) And then there is the case that there are topics
which come up again and again ...

  And then I think most of the topics are on a technical and productive
level. Attention however goes to the heated debates on "hot" topics. If
an external observer sees only those the view certainly is different
than when reading each topic.

johannes

---

## #90582 — Zeev Suraski — 2016-01-12T23:27:43+00:00

URL: https://externals.io/message/90533#90582 · In reply to: #90579

> 4.  As soon as authors notice substantial opposition, they'll quickly realize
> they're dealing with an RFC that's very unlikely to pass, and probably eiter
> abandon it or go back to the drawing board - and eliminate any contention
> that may have otherwise surrounded it.

One other thing I forgot to mention is that if I run the same statistics for the RFCs that were rejected, I *believe* that the most contentious ones would be the ones that garnered around 40-60% of support.  These, by definition, are controversial RFCs.  Those too are likely not to get too far off the ground and cause storms, and we'd be saving the headache associated with them as well, not just the ones which barely cleared 67%, for the same reason stated in item #4 above.  I haven't checked this theory though.

Zeev

---

## #90583 — Larry Garfield — 2016-01-13T00:03:51+00:00

URL: https://externals.io/message/90533#90583 · In reply to: #90582

> > […]
> One other thing I forgot to mention is that if I run the same statistics for the RFCs that were rejected, I *believe* that the most contentious ones would be the ones that garnered around 40-60% of support.  These, by definition, are controversial RFCs.  Those too are likely not to get too far off the ground and cause storms, and we'd be saving the headache associated with them as well, not just the ones which barely cleared 67%, for the same reason stated in item #4 above.  I haven't checked this theory though.
>
> Zeev

If I'm understanding you correctly, your suggestion is essentially to 
make it easier for a vocal minority to in effect filibuster an RFC so 
that said vocal minority doesn't have to get as up-in-arms to convince 
others to join them?

While an interesting concept, I fear it would just move the up-in-arms 
to the other side.  Vis, if a strong proponent of an RFC saw (gasp) 5 
people opposed, knowing that could kill the RFC in a vote, they're as 
likely to "advocate harder" as back off, just as you suggest its 
opponents "advocate harder" now.  We're net-zero in terms of the people 
who feel a need to "advocate harder", but with fewer RFCs passing.

I'm still of the mind that the lack of formal structure is part of the 
issue, because when things bubble over there's no one responsible for 
holding people accountable for their bubbling, and there's no one we can 
look to as responsible for doing so.  As John mentioned there's the 
Bystander Problem.

"The culture of any organization is shaped by the worst behavior the 
leader is willing to tolerate." - Since we don't have a formal leader 
(deliberately), that means it's shaped by the worst behavior someone is 
able to get away with.  The ever-shifting list of informal, de facto 
leaders needs to step up more often and not tolerate, and we need to 
recognize who that is.

-- 
--Larry Garfield

---

## #90587 — Stanislav Malyshev — 2016-01-13T01:10:47+00:00

URL: https://externals.io/message/90533#90587 · In reply to: #90579

Hi!

> I have one idea.  I made an awful mistake while drafting the Voting
> RFC, requiring a 2/3 majority for language changes.  It should have
> been 85-90%.  When you have a 85-90% majority - it's likely to imply
> several things:

I have a feeling that wouldn't help. Instead of "it's toxic because
people argue endlessly" it'd be "it's toxic because every time anybody
has an idea somebody shows up and shuts it down, so nothing worthy ever
gets done" (please don't take it wrong way, I don't say unanimous RFCs
are unworthy, that would just be the perception for people whose RFCs
gained no support).
I.e. if now we have bad reputation and more RFCs passing, with higher
barrier we'd have (different) bad reputation and less RFCs passing. I
thing that won't be the fix we're looking for. Though we probably would
save some time ;)
-- 
Stas Malyshev
smalyshev@gmail.com

---

## #90589 — Zeev Suraski — 2016-01-13T05:33:57+00:00

URL: https://externals.io/message/90533#90589 · In reply to: #90587

> -----Original Message-----
> From: Stanislav Malyshev [mailto:smalyshev@gmail.com]
> Sent: Wednesday, January 13, 2016 3:11 AM
> To: Zeev Suraski <zeev@zend.com>; John Bafford <jbafford@zort.net>
> Cc: PHP internals <internals@lists.php.net>
> Subject: Re: [PHP-DEV] Re: Internals and Newcomers and the Sidelines
> (WAS: Adopt Code of Conduct)
> 
> Hi!
> 
> > […]
> 
> I have a feeling that wouldn't help. Instead of "it's toxic because people
> argue endlessly" it'd be "it's toxic because every time anybody has an idea
> somebody shows up and shuts it down, so nothing worthy ever gets done"
> (please don't take it wrong way, I don't say unanimous RFCs are unworthy,
> that would just be the perception for people whose RFCs gained no
> support).
> I.e. if now we have bad reputation and more RFCs passing, with higher
> barrier we'd have (different) bad reputation and less RFCs passing. I thing
> that won't be the fix we're looking for. Though we probably would save
> some time ;)

Not impossible, but I think very unlikely.
There may be another ingredient missing here - but generally, I think the numbers are telling a different story.  Not that the ruleset couldn't have affected the numbers - but I doubt it would be to an extreme.

The intense discussions - that sometimes venture into being disrespectful discussions - and even when not reflect badly on internals and scare people away, are the ones that have many people passionately arguing against, not ones where a handful of people disagree.  The latter, at least from hovering over them  - doesn't seem to be in situations where people think it's a "horrible idea", but rather, a situation where people think it's "not a good idea", and there's a big different between the two.  The situations where people thinks adding X is going to truly negatively influence PHP are not that common.  

Thinking out loud, in terms of missing ingredients, it may be that we need ways to recognize a 'heated' subject.  It may be possible to do it methodically.

For instance, require a 67% majority for votes that have up to 50 people voting, but 85% above it.  That way, vocal individuals can't shoot down 'smaller' RFCs, but if the RFC generates enough interest so that it attracted more than 50 people to vote - it needs to be unanimous.

Another idea is to keep the bar where it is, but give users limited number of 'double No' votes per year (perhaps just one per year).  Both in guidelines and in practice, you would be limited to using this 'special power' only in extreme situations - given its very limited supply and its exposure to public scrutiny (we can demand an explanation when this 'power' is used).

There may be other ideas.

The goal in both cases is to influence the RFC authors, and dissuade them from pursuing divisive RFCs, knowing that if they bump into substantial opposition - both in size and in conviction - the likelihood of passing the RFC is slim, and the likelihood of creating bad vibes is high.  Right now, the motivation is the opposite - "let's pursue it, cross fingers and touch wood - maybe we'll pass the 67% bar". 

It's the divisive RFCs that are the key source of the contention on internals, and any solution that won't strongly discourage them is not going to solve the problem.  There needs to be something built into the system that makes RFC authors not only strive for majority, but strive for consensus.

Zeev

---

## #90590 — Sascha Schumann — 2016-01-13T06:26:07+00:00

URL: https://externals.io/message/90533#90590 · In reply to: #90571

> 
> 
> Can we please move on past this and get back to actual code.  Because if
> not, perhaps PHP Internals has outgrown the email format and should migrate
> to a forum type format.

Agreed.

Sascha

---

## #90592 — Martin Keckeis — 2016-01-13T08:39:08+00:00

URL: https://externals.io/message/90533#90592 · In reply to: #90590

2016-01-13 7:26 GMT+01:00 Sascha Schumann <sascha.schumann@myrasecurity.com>
:

> > […]
> wrote:
> > […]
> migrate
> > […]
>
> Agreed.
>
> Sascha
>
> --
> 
> 
>
>
This is really a bad argument.

Every modern mail client supports threading, so you just have one thread
with all those mails.
If you dont want to read them, you dont have too.

Best regards.

---

## #90593 — Lester Caine — 2016-01-13T10:14:06+00:00

URL: https://externals.io/message/90533#90593 · In reply to: #90589

> It's the divisive RFCs that are the key source of the contention on internals, and any solution that won't strongly discourage them is not going to solve the problem.  There needs to be something built into the system that makes RFC authors not only strive for majority, but strive for consensus.
I seem to recall part of the debate on requiring a simple majority was
that a consensus SHOULD be achieved before opening voting, and the need
for a 2/3rds majority was to help that. The reality is that there are
some areas such as STD and Exceptions where there is still not a
consensus that this is the right way to take PHP and while both have
made progress in PHP7 and have to be lived with, they are not the
natural progression for a large group of users. It will be interesting
to see if STD comes into general use or is always switched off, but the
replacement of error_return style of programming with exception only
style is more of a hot potato still? Killing '@' seems to be a slippery
slop to having to get away from error_return style altogether? The lack
of a general acceptable direction seems to be what is missing?

But I still don't recognise 'threatening behaviour' as a problem in any
of these debates ... perhaps that is just me being think skinned ...

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk

---

## #90594 — Derick Rethans — 2016-01-13T10:58:49+00:00

URL: https://externals.io/message/90533#90594 · In reply to: #90579

> I think that no matter what we do, CoC, guidelines or teams we have in 
> place - as long as there'll be divisive RFCs, there are going to be 
> heated, toxic discussions.

I think the main issue is the whole concept of "divisive RFCs" as a 
term. An RFC is a request for *comments*. Instead of people saying 
(paraphrased) "that is crap, unwanted, needless", the whole point of an 
RFC is to improve the proposals - before a vote is arranged. 

The recent discussion on Antony's CoC RFC, has very little 
people/comments trying to improve it, but instead trying to torpedo it 
because of "why do we even need it? we're not 'toxic'" (again, 
paraphrased).

> Had we had a 90% bar, it does mean that STH wouldn't have made it into 
> the language, but it also means that we would probably not have the 
> discussion saga on internals either, and all of the bad vibes that 
> surrounded it.

That however, makes it very easy for a vocal majority to torpedo 
everything. I think this is only just going to cause more resentment to 
the few people that tend to vote against nearly every RFC.

But - it's an interesting theory.

cheers,
Derick

-- 
http://derickrethans.nl | http://xdebug.org
Like Xdebug? Consider a donation: http://xdebug.org/donate.php
twitter: @derickr and @xdebug
Posted with an email client that doesn't mangle email: alpine

---

## #90602 — Adam Howard — 2016-01-13T13:53:25+00:00

URL: https://externals.io/message/90533#90602 · In reply to: #90590

Well, I'm glad someone is in agreement.  I really wish we'd get back to the
actual code.  Because if not, I do think perhaps PHP Internals as outlived
the email format and should migrate to a forum format.  I think I and many
others did not subscribe to a mailing list for this type of argument and at
this point it is becoming hard to follow, assume you were interested in it.

This little link http://www.php.net/unsub.php to unsubscribe is the last
report, but if this all we're going to keep arguing about, it sure isn't
going to encourage newbies, let alone long-timers such as myself.

On Wed, Jan 13, 2016 at 1:26 AM, Sascha Schumann <
sascha.schumann@myrasecurity.com> wrote:

> > […]
> wrote:
> > […]
> migrate
> > […]
>
> Agreed.
>
> Sascha

---

Next page: https://externals.io/message/90533.md?page=2
