[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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
>     there's
>     > 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
>     that
>     > wasn't quite so inflammatory seems like a reasonable thing to ask.
>     Certainly!
>     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
>     standards,
>     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
>     firing
>     off his rant, so we ought to resist the temptation to strike back
>     with
>     hostility at trivial social transgressions, especially from
>     newcomers.
>     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 
https://mail.python.org/pipermail/python-dev/2018-May/153330.html .

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
>     afford
>     to wait a little while before raising the threat of the CoC over a
>     minor
>     social faux pas. This community isn't so fragile that we have to jump
>     down the throat of a newcomer lest the community immediately
>     collapses
>     into Call Of Duty gamer culture.
>     -- 
>     Steve
>     _______________________________________________
>     Python-Dev mailing list
>     Python-Dev at python.org <mailto:Python-Dev at python.org>
>     https://mail.python.org/mailman/listinfo/python-dev
>     <https://mail.python.org/mailman/listinfo/python-dev>
>     Unsubscribe:
>     https://mail.python.org/mailman/options/python-dev/guido%40python.org
>     <https://mail.python.org/mailman/options/python-dev/guido%40python.org>
> -- 
> --Guido van Rossum (python.org/~guido <http://python.org/%7Eguido>)
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/vano%40mail.mipt.ru


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20180506/4aea6c32/attachment.html>