[Python-Dev] Dealing with tone in an email
On 04.05.2018 19:04, Guido van Rossum wrote:
> Thank you Steven! I assume that Brian hadn't seen my response (such
> crossed messages due to delivery delays are very common in this
> mailing list).
> I'd like to use your email (nearly) verbatim to start off the
> discussion about civility we're going to have at the Language Summit.
Since I won't be present at the summit to tell my side of the story, you
can see it below.
It's up to you to judge it, but as least you need to know what to judge.
In a nutshell, this is an exceptional situation, and I saw no better way
that was guaranteed to work.
I never meant or mean to use this as a standard tactic, this is only the
second such case in my life.
> On Fri, May 4, 2018 at 8:43 AM, Steven D'Aprano <steve at pearwood.info
> <mailto:steve at pearwood.info>> wrote:
> On Thu, May 03, 2018 at 06:31:03PM +0000, Brett Cannon wrote:
> > No one is saying people can't be upset and if you are ever upset
> > something wrong; we're human beings after all. But those of us
> speaking up
> > about the tone are saying that you can also wait until you're
> not so upset
> > to write an email. This was never going to be resolved in an
> hour, so
> > waiting an hour until you're in a better place to write an email
> > wasn't quite so inflammatory seems like a reasonable thing to ask.
> I'm not defending Ivan's initial email. His tantrum *was* annoying,
> unreasonable, and unfair to those who do care about tkinter. He could
> have done better.
> But *we* should be better too. Our response to Ivan has not been
> welcoming, and as a community we haven't lived up to our own
> as we have piled onto him to express our rightous indignation:
> 1. Guido responded telling Ivan to calm down and work off his
> ? ?frustration elsewhere. And that's where things should have
> ? ?stopped, unless Ivan had persisted in his impoliteness.
> 2. Brian upped the ante by bringing the CoC into discussion.
> 3. Paul raised it again by describing Ivan's post as "offensive".
> 4. And now, Steve H has claimed that Ivan's initial post was
> ? ?bordering on "abusive".
> We've gone from rightly treating Ivan's post as intemperate and
> impolite, and telling him to chill, to calling his post
> "offensive", to
> "abusive". (Next, I presume, someone will claim to be traumatised by
> Ivan's email.)
> Just as Ivan should have waited until he had calmed down before
> off his rant, so we ought to resist the temptation to strike back
> hostility at trivial social transgressions, especially from
> This is what Ivan actually said:
> - Tkinter is broken and partly functional (an opinion with only the
> ? most tenuous connection with fact, but hardly abusive);
> - that nobody cares (factually wrong, but not abusive);
> - that possibly nobody is using it (factually wrong, but not abusive);
> - that if that's the case (it isn't), then it should be removed
> ? from the std lib (a reasonable suggestion if only the premise had
> ? been correct).
As I suspected. This is a classic scenario that is occasionally seen
anywhere: "everyone is underestimating a problem until a disaster strikes".
The team's perception of Tkinter is basically: "well, there are slight
issues, and the docs are lacking, but no big deal."
Well, this _is_ a big deal. As in, "with 15+ years of experience, 5+
with Python, I failed to produce a working GUI in a week; no-one on the
Net, regardless of experience, (including Terry) is ever sure how to do
things right; every online tutorial says: "all the industry-standard and
expected ways are broken/barred, we have to resort to ugly workarounds
to accomplish just about anything"" big deal. This is anything but
normal, and all the more shocking in Python where the opposite is the norm.
And now, a disaster striked. Not knowing this, I've relied on Tkinter
with very much at stake (my income for the two following months,
basically), and lost. If that's not a testament just how much damage
Tkinter's current state actually does, I dunno what is.
Of course, it's up to me to write fixes and all since this is a
volunteer project. But I can't do this alone, I must recruit the team's
cooperation if I hope to ever be successful. Unless I shatter their
current outlook on the matter first, any fixes I provide will likely be
dismissed as unneeded or deferred indefinitely as unimportant. There are
precedents of that, including with no response whatsoever, and the
messages were written neutrally, with a thorough explanation, patch/PR
etc. (I do believe the maintainers are doing their best. Still, the mere
fact that they chose to work with other tickers over mine shows that
they considered those more important. So it does matter if they
underestimate a topic.)
That's why I had to resort to shock value. First, it would guarantee
that my message won't fall on deaf ears this time as well. Second, I had
to express, somehow, that there indeed was a systemic disaster, not just
your average newbie conundrum, in graphic details to shock the team and
disrupt their current way of thinking about the Tkinter case.
Putting the question point-blank: "drop/deprecate" -- also helped the
shock value, and would also force the team to reassess if they really
have the will or resources to bring the module up to Python standards or
at least prevent any more such damage.
I also did require the team's feedback on this question to assess the
perspectives for results of my efforts -- thus if they're worth the time
-- as explained in
By no means I consider this a standard way of action. This is only the
second such case in my life. The previous one was when I created a
translation project for the GPL and found that I cannot legally do that
the way that was required to make it work due to overly defensive FSF's
This is the justification. It's up to you to judge how sound it is, but
you need to know what to judge, at least. I wasn't happy to have to
resort to this, but found no better way that would be guaranteed to work.
Now that the social issues are out of the way and I got the required
feedback to continue, I can finally concentrate on the patches, with
confidence that my efforts won't go to waste.
> Intemperate and impolite it certainly was, as well as full of factual
> inaccuracies, but to call it "close to abusive" is a hostile over-
> reaction. We ought to be kinder than that. Our response to Ivan
> has been
> more hostile, and less open and respectful, than his email that
> triggered the response.
> Brett is right to say people can afford to wait a little while before
> firing off an angry email. But the same applies to us: we too can
> to wait a little while before raising the threat of the CoC over a
> social faux pas. This community isn't so fragile that we have to jump
> down the throat of a newcomer lest the community immediately
> into Call Of Duty gamer culture.
> Python-Dev mailing list
> Python-Dev at python.org <mailto:Python-Dev at python.org>
> --Guido van Rossum (python.org/~guido <http://python.org/%7Eguido>)
> Python-Dev mailing list
> Python-Dev at python.org
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru
-------------- next part --------------
An HTML attachment was scrubbed...