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

PJ Eby pje at telecommunity.com
Fri Aug 2 22:28:49 CEST 2013


On Tue, Jul 30, 2013 at 4:58 PM, Donald Stufft <donald at stufft.io> wrote:
> Hrm.
>
> 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".

Thanks for the thoughtful response.  I appreciate it.

I also want to just throw in one extra piece of information for you
and anybody else reading this: 99% of "stop energy" doesn't happen
because people actively want to prevent progress or frustrate other
people.  It simply happens when people notice a problem but don't have
as much personal stake in your goal as they do in not experiencing the
problem they will experience (or perceive they will), from the
proposed change.

When you look at it from this perspective, it's easier to understand
that the way to fix this is with more engagement on their part, which
can only be gotten by engagement on your part.

When I first proposed WSGI, the initial reaction of Web-SIG was pretty
negative.  "Stop energy" if you will.  Things only moved forward once
I was able to channel the energy of objections into offering
solutions.  It's helpful to remember that asking, "okay, so how you
would recommend I do it?" *doesn't* obligate you to actually follow
all of the recommendations you get.  (Especially since some of them
will be mutually contradictory!)

Anyway, I guess what I'm saying is that people lacking enthusiasm for
your goals is not really them trying to stop you.  In fact, objections
are a positive thing: it means you got somebody's attention.  The next
step is to leverage that attention into actually getting help, or at
least more constructive input.  ;-)

It's true that some individuals will never provide really helpful
input.  In the WSGI effort, there were people whose advice I never
took, because their goals were directed entirely opposite to where I
wanted to go.  But I remained engaged until it was mutually clear (or
at least I thought it was) that our goals were different, and didn't
try to persuade them to go in the same direction.  Such attempts at
persuasion are pretty much a waste of time, and a big energy drain.
Consensus-building is something that you do with people who have at
least some goals in common, so it's best to focus on finding out what
you *do* agree on.


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

Right.  In such a case, a question you could ask is, "Do you agree in
general that we should move to a better hash at some point in the
future?", because then the disagreement can be narrowed down to
timeframe, migration or deprecation process, etc.  The truth is, I had
no intention of "blocking the move", I had concerns I wanted addressed
about the impact, timing and process.  (Actually, I originally just
noticed a couple of errors in what you'd laid out as the current state
of things, and wanted to make sure they were included in the
assessment.)

The point is, if somebody doesn't have *any* common ground with you,
it's unlikely they're even talking to you.  At the very least, if
they're talking with you about PyPI, they must care about PyPI, even
if they care about different things than you, or with different
relative priorities.  ;-)


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

Again, thank you.  And hopefully, remember that probably nobody was
intentionally being your adversary before, either.  As the old adage
says, the best way to destroy your enemies is to make friends with
them.  ;-)  And we do that by focusing on common ground, and inviting
participation.

(This is again not to say that I've been 100% Mr. Wonderful myself; I
know I haven't.  But the community's best consensus-building happens
when somebody is doing the tough work of engaging with all parties.
Sometimes this doesn't happen, alas; back when I was developing
setuptools there just weren't enough people interested in the problems
available on Distutils-SIG to build any sort of consensus on the
solutions, so I *had* to go run with the ball myself.  I'm really
happy that there is now BOTH a quorum of interested parties who
understand the problems, AND a few leaders able to drive the
consensus-building and actual development.  If only we had done this
ten years ago, setuptools might not have been necessary.  Well,
actually, that's probably not true: without *something* existing
first, that quorum of people who understand the problem wouldn't have
existed back then.  But you know what I mean.)


More information about the Distutils-SIG mailing list