[Distutils] a plea for backward-compatibility / smooth transitions

Donald Stufft donald at stufft.io
Tue Jul 30 22:58:14 CEST 2013

On Jul 30, 2013, at 4:01 PM, PJ Eby <pje at telecommunity.com> wrote:

> On Tue, Jul 30, 2013 at 2:04 PM, Donald Stufft <donald at stufft.io> wrote:
>> On Jul 30, 2013, at 1:13 PM, PJ Eby <pje at telecommunity.com> wrote:
>>> On Tue, Jul 30, 2013 at 4:14 AM, Donald Stufft <donald at stufft.io> wrote:
>>>> Heh, I'm pretty good at getting yelled at :)
>>> Nick is also pretty good at making people feel like he both knows and
>>> *cares* about their breakage, and isn't just dismissing their concerns
>>> as trivial or unimportant.  Breakage isn't trivial or unimportant to
>>> the person who's yelling, so this is an important
>>> community-maintenance skill.  It builds trust, and reduces the total
>>> amount of yelling.
>> *shrug*, If I didn't care I would have made this change as soon as Nick
>> said it was ok. Instead I declared I was going to and waited to make sure
>> nobody else had any concerns. And once Holger said he did I said
>> ok I won't do it. Maybe my mannerisms give the impression I don't but
>> that's actually pretty far from the truth.
> I did say "feel like".  ;-)
> Nick usually gives more of an impression that he's thought about
> concerns raised before rejecting them; your responses often sound
> like, "Who cares about that?"  Asking for suggestions, for example,
> would be good.  Nick also rarely seems irritated by people's concerns
> or problems, whereas you sometimes seem in a big hurry to fix
> something today or this week that's been broken for years, without
> giving folks a while to get used to the idea.  Often your proposals
> seem less like proposals than, "I've decided to do this, so deal with
> it".
> I'm not saying all this because I want to complain or yell at you; I'm
> saying it because I think you do care enough to know how you're coming
> across, at least to me.  Our discussions have gotten heated in the
> past because my impression of your reaction to the concerns I raise
> often seems like, "I don't care about supporting [group of people
> affected], so neither should you."
> Perhaps the issue is just one of confusion.  When I raise an issue
> about, say, Python 2.3 users (who are still downloading setuptools 0.6
> releases, and presumably also using them), it's not because I expect
> *you* to change your plans to support them, but because I need to know
> how *I* can, if the issue arises.  So I don't actually expect you to
> care about Python 2.3 users (again, as an example), but I do expect
> you to care about *me* supporting them.
> In the most recent situation, you did in fact point me to your awesome
> hashlib port, so I do know you *do* care to at least that extent.  But
> the rhetoric that you sent both before and after the helpful bit
> seemed on the inflammatory side, as though I were crazy to be thinking
> of Python 2.3.  Whether or not this is true ;-) -- it's not especially
> *helpful* to the discussion.
> If I may offer a suggestion, asking questions in response to
> objections is generally more useful than immediately arguing the
> relevance of the objection.  First, it tells the objector that you're
> interested in what they have to say, and second, it may well help the
> objector understand that there isn't actually any real problem, and
> gives them an easier path to backing down and/or compromising, whereas
> a frontal assault tends to focus people on responding to you instead
> of reconsidering their objection.
> On the hashlib issue, for example, it actually occurred to me later
> that it's completely a non-issue because the actual hash scenario I
> was most concerned about *can't actually happen*.  (MD5 hashes in code
> or dependency_links, used e.g. by setuptools itself to secure its own
> downloads.  Changing PyPI won't affect these, duh.)  It might've
> occurred to me sooner, though, if you'd actually asked what scenario I
> was worried about, instead of arguing about the relevance.
> This isn't to say that you're responsible for what I do or don't
> figure out; my point is simply that asking questions and inviting
> suggestions in response to people's objections will generally get you
> more thoughtful responses and more trust, and resolve issues sooner,
> with less arguing.


So I hear what you're saying and part of the problem is likely due to the history
of where I tried to get a change through and then felt like all I was getting was
stop energy and people wanting to keep the status quo which ultimately
ended up preventing changes has lead me to view distutils-sig in more of an
adversarial light then is probably appropriate for the distutils-sig of 2013 (versus
the distutils-sig of 2011/2012). This is probably reflected in my tone and likely
has others, such as yourself, respond similarly, pushing us further down that
path. My thought process has become "Ok here's something that needs to
happen, now how do I get distutils-sig not to prevent it from happening".

This was again reflected in the Python 2.3 discussion because my immediate
reaction and impression was that you were attempting to block the move
from MD5 due to Python 2.3, which I felt 2.3 wasn't worth blocking enhancements
to PyPI. The "snark" in my statements primarily came from that feeling of
someone was trying to "shut down" an enhancement.

I'd have to look to see when I first starting trying to advocate for change on
catalog-sig but it was sometime in 2011 because I had finally gotten frustrated
and went to "take my ball and go home" and start a competitor to PyPI with 
Crate.io on Dec 25th 2011. So there was a good 1-2 years there where the
various mailing lists *were* an adversary towards getting fixes put into place.
Now that I am able to get changes put into place I'm trying to go back and solve
the various issues that I've found and I do have a feeling of urgency because I
get concerned that this willingness to move forward and fix things is temporary
and I want to fit in as many fixes as I can as quickly as I can before my window
of opportunity closes. I've gone so far as begun sleeping less (not that i ever
slept anything that one could call a normal sleep schedule) in order to buy
more hours to work on these issues to get them fixed faster.

So I do get frustrated and/or irritated and a lot of that comes from the history there
because prior to Nick/Richard becoming BDFL Delegates there was never
anyone willing to say "Yes, we can do that". I'm also generally a person who gets
angry quickly (but gets un-angry quickly as well) which leads to it being harder
for me not to snark or go on the offensive. There is a reason my personal domain
is https://caremad.io/ ;)

As far as how to fix it I don't have a particularly magic answer. I will try to be more
mindful of my tone and that distutils-sig is likely not my adversary anymore as well
as try to ask questions instead of arguing the relevance immediately.

Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130730/cf00c729/attachment-0001.pgp>

More information about the Distutils-SIG mailing list