|
|
Subscribe / Log in / New account

Getting along in the Python community

By Jake Edge
June 20, 2018

Python Language Summit

In a session with a title that used a common misquote of Rodney King ("can't we all just get along?"), several Python developers wanted to discuss an incident that had recently occurred on the python-dev mailing list. A rude posting to the list led to a thread that got somewhat out of control. Some short tempers among the members of the Python developer community likely escalated things unnecessarily. The incident in question was brought up as something of an object lesson; people should take some time to simmer down before firing off that quick, but perhaps needlessly confrontational, reply.

The post by Ivan Pozdeev was never directly cited in the discussion (though a response in the thread by Steven D'Aprano was put up as a slide). As Guido van Rossum put it, the original poster was "being a jerk". Pozdeev complained about the tkinter module in the standard library being broken for his use case. Beyond that, he claimed that almost no one uses it and that "no-one gives a damn". He suggested that it should be removed from the standard library since it could not be maintained.

Even though Pozdeev was intentionally pushing the buttons of the Python developers, Van Rossum thought the response was a bit over the top. Brett Cannon said that by being jerks in response, the Python developers simply looked bad. Thomas Wouters agreed, saying that folks should not respond in kind; instead, give people the benefit of the doubt even if they are jerks. If you do so, they may learn and adjust their behavior next time, he said.

As D'Aprano noted, Van Rossum was the first to respond telling the poster to "go punch a bag or something, and then propose something a little more constructive, like adding a warning to the docs". That is where things should have ended, D'Aprano said, but several others responded, which made the overall response less than welcoming; "as a community we haven't lived up to our own standards, as we have piled onto him to express our [righteous] indignation".

The Python code of conduct was raised in the thread, which was premature, several said. Cannon said that mailing list participants need to get better at handling these kinds of things. The problem also occurs within the group; it is not just newbies or outsiders who generate these kinds of responses. It gives a bad impression of the Python community, he said.

Beyond that, though, those kinds of responses can lead to quick burnout, Cannon said. The vast majority of Python contributors are putting personal time into the project, so unwelcoming or unfriendly responses could easily lead to someone just walking away. It is not just the two participants that are affected, Wouters said, as anyone who reads the posting may have a negative response.

It is something that everyone should be aware of, Cannon said; take the higher ground and give people the benefit of the doubt. Perhaps there is a need for a more formal process, however. Van Rossum is not particularly worried about repeat offenders on the mailing lists; if people are repeatedly being jerks, they will be dealt with. But in this case it was a first offense, so it was premature to bring up the code of conduct. "Sitting on your hands is often a good response", he said; give it some time before responding or perhaps don't respond at all if others have already done so. Cannon echoed that: "if you feel heated, wait it out".

Van Lindberg wondered how the Python community sees itself: as friends? a club? a professional society? He is concerned about the idea of "enforcers" who patrol for code of conduct violations. He suggested that a good way to think about it would be to ask if the response you are sending is something you would do in a professional relationship; is it civil and is it the way you would engage with a coworker? He wants to ensure that Python doesn't get to a place where people are reporting on each other to the enforcement authorities.

Canned responses might help blunt the impact in handling some of these kinds of situations, Carol Willing said. If you point someone at a response, rather than responding directly, the mention of the code of conduct may not seem so prominent or unwelcoming. She agreed that when someone is having an emotional response to a post, they should wait to respond. But she also said that the original poster had owned up to trying to game the system to get a reaction; to a certain extent, Pozdeev got what he was looking for.


Index entries for this article
ConferencePython Language Summit/2018
PythonCommunity


to post comments

Getting along in the Python community

Posted Jun 20, 2018 22:55 UTC (Wed) by pjtait (subscriber, #17475) [Link] (10 responses)

We should also bear in mind that English might not be the first language of the poster, and that he/she may come from a culture with different ideas of what is polite and acceptable in normal discourse.

Getting along in the Python community

Posted Jun 21, 2018 0:55 UTC (Thu) by vstinner (subscriber, #42675) [Link]

The author wrote "The sole purpose of the tone was to not let the mesage be flat-out ignored. I had my neutral-toned, to-the-point messages to mailing lists flat-out ignored one too many times for reasons that I can only guess about. This time, the situation was too important to let that happen."

Ref: https://mail.python.org/pipermail/python-dev/2018-May/153...

Getting along in the Python community

Posted Jun 21, 2018 2:27 UTC (Thu) by haizzus (guest, #109109) [Link] (7 responses)

I concur. I am not a native speaker and I found the original post wasn't that bad. I've seen worse!

Getting along in the Python community

Posted Jun 21, 2018 5:44 UTC (Thu) by marcH (subscriber, #57642) [Link] (6 responses)

In terms of rudeness this post barely ranked 3 on a scale of 10 where 1 = Laura Ingalls and 10 = POTUS

The Times They Are A-Changin' https://www.youtube.com/watch?v=wZ9drv78dCQ

> Cannon echoed that: "if you feel heated, wait it out".

I often write email answers, save them as a draft and delete them the next day. Or trim them down, rephrase and send 20% of them. Writing can be useful even when no one else reads it.

> Canned responses might help blunt the impact in handling some of these kinds of situations, Carol Willing said. If you point someone at a response, rather than responding directly, the mention of the code of conduct may not seem so prominent or unwelcoming.

Canned responses and one-line URLs are great in many, many situations. I use them a lot and they seem to work fine: efficient and not emotional. Yet they don't seem so popular, not sure why.

> But she also said that the original poster had owned up to trying to game the system to get a reaction; to a certain extent, Pozdeev got what he was looking for.

Another similar and typical attempt to get attention is an exaggerated headline on top of an accurate article. Happens even in the best places :-)

Getting along in the Python community

Posted Jun 21, 2018 6:48 UTC (Thu) by eru (subscriber, #2753) [Link]

I often write email answers, save them as a draft and delete them the next day. Or trim them down, rephrase and send 20% of them. Writing can be useful even when no one else reads it.

I too have found this very effective, and not only when I start thinking I am perhaps being abrasive. Even re-considering for half an hour before sending often improves the message.

This is also one reason I hate chat systems. They promote hasty responses.

Getting along in the Python community

Posted Jun 22, 2018 16:15 UTC (Fri) by k8to (guest, #15413) [Link] (4 responses)

If people can tell your answers are canned, the implication can be that you aren't willing to engage with the addressee as an individual, or that their question/opinion is not worth differentiating from others who have come before.

That might be fair (this might be the 20th time someone has asked what a particular error means), but it's not too shocking that some people don't like that implication.

In a customer context, I might have canned content, but I frame it with non-canned content to say "yeah, we're doing the canned thing, but I did read your thing, and here's why I think this is relevant".

This doesn't mean you should do this, but those are the reasons why it could be worth doing.

-----

For one-line responses, they can imply brusqueness / curtness. It can sound like the answering party would rather not be answering this and could you stop wasting their time already? Or it can imply disrespect for the persona being responded to more generally.

I don't think this anywhere near universal, especially in technical communities, but it's not a rare perception.

One liners also are prone to leaving a thing much less fully addressed, a partial answer that doesn't really leave all readers clear on what was meant or that the reader really understands the reponse. Consider:

"I found this behavior, and it's a bit strange. Is it intended?"
"Yes."

One line responses can feel a bit like this, seemingly intentionally less than helpful.

-----

Hopefully the above is informative about the popularity of these choices, and not annoying.

Getting along in the Python community

Posted Jun 24, 2018 1:12 UTC (Sun) by marcH (subscriber, #57642) [Link] (3 responses)

> If people can tell your answers are canned,

If the person asking can tell the answer is canned then he or she wouldn't have asked the question in the first place, or at least not that way.

There's often a big gap between "total noobs" who are very grateful to receive *any* kind of information because they don't even have the right keywords to Google versus the experts which obviously do have these keywords, can find anything in a few keystrokes, can lose track of how far ahead they are and too easily misjudge someone asking a dumb question as incapable of homework. Canned answers are perfect for these specific situations (obviously not for every situation).

> the implication can be that you aren't willing to engage with the addressee as an individual,

I understand the concern/fear but I don't think it's warranted in practice.

The only two other alternatives are:
- ignoring the question: obviously even less willingness to engage and more frustration
- longer and then often emotional answer - understandable but not productive emotion

> Or it can imply disrespect for the persona being responded to more generally.

Again that's exactly the misconception which I tried to point at in my previous comment. In not all but many cases (and you can easily tell which) the thing the most desired by the person asking the question after hours of trying and failing to perform some task is ANY attention and clue = infinitely better than none. See parent article.

I've sent countless one-line answers and pointers at work and I never ever saw anyone complaining, often the opposite. I assume most people asking questions in an open-source community do it as part of their day job and while operating in a work environment and mood. Much fewer do it while bored on a rainy Sunday afternoon looking for human interaction. IMHO a good open-source community should be exactly like a good workplace: you can (and you do) make friends but you should never feel like you have to.

> In a customer context,

BTW I wasn't and I am still not considering a customer context, many differences.

> One liners also are prone to leaving a thing much less fully addressed,

Yeah sure you can go too far; not considering that either.

Getting along in the Python community

Posted Jun 25, 2018 9:58 UTC (Mon) by farnz (subscriber, #17727) [Link] (2 responses)

It depends very, very strongly on the quality of your canned answer, though.

If your canned answer boils down to "RTFM or GTFO. Docs at https://example.org/docs", then you're going to have a bad experience as a recipient. If your canned answer boils down to "https://example.org/docs/reporting-a-bug has details of the information we need to handle a bug quickly; please get us that information so that we can help you", then the recipient is likely to have a better experience.

Getting along in the Python community

Posted Jun 25, 2018 15:42 UTC (Mon) by marcH (subscriber, #57642) [Link] (1 responses)

I found that merely sending a link without any F-word works fine.

Not sure what you mean by "quality"; IMHO as long as your emotion level is low when you write the answer and you pay a fair amount of attention to your choice of words then the length of the answer will - contrary to a common misconception - not make any difference to the recipient's emotions.

Long story short I guess all I'm saying is: in _some cases_ using email for instant messaging is the best option.

In an ideal world people would use IRC or some other instant messaging tool for instant messaging, however neither the world nor IRC are perfect. Of course you could make your one-line answer a two-lines answer by adding a link to IRC :-)

Getting along in the Python community

Posted Jun 25, 2018 15:48 UTC (Mon) by farnz (subscriber, #17727) [Link]

It then depends on the quality of your link - if it's a good link with lots of help, then the fact that it's a canned response is a non-issue. If the link basically says (politely or otherwise) "go away, I don't care about you", then it's going to upset people.

E.g. linking people whose e-mail matches your "bug report" filter to something like Mercurial's BugTracker wiki page isn't offensive - there's a lot of information in there on how to get attention, and how to get helpful responses.

Getting along in the Python community

Posted Jun 21, 2018 8:22 UTC (Thu) by fyrchik (guest, #124371) [Link]

Its not only "ideas of what is polite and acceptable". Many words can be perceived as rude by native speakers, but not by foreigners, solely because they lack language knowledge or don't know all connotations.

Getting along in the Python community

Posted Jun 21, 2018 1:28 UTC (Thu) by jbowen (subscriber, #113501) [Link]

While not what we want in the Python community, on other mailing lists being abrasive is the norm.

In this case, tempers flared and people were revealed as being human. We should use it as a learning experience and move on.

Getting along in the Python community

Posted Jun 21, 2018 11:13 UTC (Thu) by sdalley (subscriber, #18550) [Link]

What impresses me about this, is how much diligent effort was put in by Ivan Pozdeev to try and fix it *before* his first grumpy email. Reading through https://bugs.python.org/issue33257 it's obvious that he's not just grumbling, he's rolled up his sleeves to produce a crashing test case, investigated the cause(s), rebuilt packages to try and circumscribe the affected versions, proposed several different fixes with pro's and con's, and coded up patches as well!

I too would feel a little grumpy if it looked like none of that work was actually going to get anywhere. So I'm inclined to be charitable, myself.

Getting along in the Arabian night

Posted Jun 21, 2018 20:41 UTC (Thu) by ballombe (subscriber, #9523) [Link] (2 responses)

It is just the python version of the well-know Arabian night story, the fisherman and the Jinni.
The Jinni explained that for the first hundred years of his imprisonment, he swore to enrich the person who freed him forever, but nobody freed him. For the second century of his imprisonment, he swore to grant his liberator great wealth, but nobody freed him. After another century, he swore to grant three wishes to the person who freed him, yet nobody did so. After four hundred years of imprisonment, the Jinni became enraged and swore to grant the person who freed him a choice of deaths.
The problem is that it is considered acceptable to ignore mild-mannered posts, while outrageous posts get all the attention. The only possible explanation is that people actually prefer outrageous posts.
(I hope this one is outrageous enough)

Getting along in the Arabian night

Posted Jun 21, 2018 22:26 UTC (Thu) by neilbrown (subscriber, #359) [Link] (1 responses)

> (I hope this one is outrageous enough)

I don't think you need to be outrageous when you tell a good story as well!

This is a corollary to what I think of as Andrew Morton's Law, which is that if you want to find out something, you don't post a question, you post an incorrect answer. People will put more energy into correcting a mistake than into educating the curious. Similarly it can pay to insert subtle bugs into your patches, as some people are more likely to respond to a buggy patch than a correct one. The trick is to make the bug really subtle so that the reviewer gets to appear very clever, but you don't end up looking too stupid. (But not so subtle that everyone misses it and it gets applied!)

Getting along in the Arabian night

Posted Jun 22, 2018 16:24 UTC (Fri) by k8to (guest, #15413) [Link]

The "Morton's Law" was in general use when I played World of Warcraft. If you wanted the "general chat" to answer a question that you didn't know the answer to, you would get an accomplice. You would pose the question to general chat, and then your accomplice would reply with an authoritative and obviously wrong answer.

This would result in a lot of people putting in significant effort to explain just how wrong your accomplice was, with all the supporting evidence and specific detail. These same people, without the accomplice, would mock the question and feed you wrong information.

Motivation manipulation sure feels dirty, but it totally works.

Code of conduct as a tool for humiliating

Posted Jun 26, 2018 8:13 UTC (Tue) by sasha (guest, #16070) [Link] (1 responses)

I read this story in following way: the Code of Conduct is written by Americans and for Americans, and it is used as a tool to humiliate people who do not understand the American corporate culture. Have I missed anything?

Code of conduct as a tool for humiliating

Posted Jun 27, 2018 13:57 UTC (Wed) by nilsmeyer (guest, #122604) [Link]

The Python community CoC (code of conduct), as far as that goes is pretty short and well written and doesn't really impose undue pressure on people. I would probably add a sentence about being forgiving about mistakes and assuming good faith.

I don't know the nationality of the original author, of course in an English speaking community it will usually have a Western European bend to it (to put it broadly).

I would read the article more as a cautionary tale about the limitations of text-only, asynchronous communication.


Copyright © 2018, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds