On Thu, 20 Sep 2018 at 08:01, Tzu-ping Chung <uranu...@gmail.com> wrote:
> I’m afraid the new implementation will still need to deal with compatibility 
> issues.
> Users expect Pipenv to work exactly as pip, and get very angry if it does not,
> especially when they see it is under the PyPA organisation on GitHub. The last
> time Pipenv tries to explain it does whatever arbitrary things it does, we get
> labelled as “toxic” (there are other issues in play, but this is IMO the 
> ultimate
> cause). Whether the image is fair or not, I would most definitely want to 
> avoid
> similar incidents from happening again.

IMO, the only way to address that is by defining standards for the
behaviour. Having a standard document to point to that says "this is
what's been agreed in public debate" gives both pipenv and pip a solid
basis to explain why we do what we do. There will likely be corner
cases where the details are implementation dependent, but again, the
fact that the standard doesn't mandate behaviour is the best argument
you're going to get for that. There will always be people that
complain if you're not 100% bug-for-bug compatible with pip, but
that's life.

Obviously, any standard will have to look at pip's behaviour as a
starting point (simply because pip's been around as the only
implementation for so long). But simplifying and cutting out some of
the cruft is part of any standards process, so it's perfectly OK to
mark certain parts of what pip does now as "implementation defined" or
"needs to change".

Also, Dan said:
> Since you mentioned following along, here's what we're working on right now:

The problem here is the same - without some sort of agreement (in the
form of a documented standard[1]) that what those libraries do is "the
right behaviour", it's not clear how pip can switch to using them. And
promises that they "do the same as pip does" are not likely to work,
for precisely the reasons Tzu-ping noted above (there's always someone
that will pick up on any discrepancy, no mater how small).

Paul

PS While I don't have much time for people standing on the sidelines
and telling us what we "should" do, I do think that by putting
projects under the PyPA banner, we assume a responsibility for making
sure we behave consistently, whether we like it or not. Interop
standards documents have been how we've discharged that responsibility
so far, but pipenv has such a strong overlap with pip that it opens up
a lot of areas where we haven't even thought about standards yet.
Managing expectations while we get things in line is not a pleasant
task, but it's one we need to do.

[1] I'm at least as sick of saying "standard" as you are of hearing
it. Take it to mean "everyone's agreed and anyone likely to complain
afterwards has had an opportunity to speak up, and there's a record" -
I'm not wedded to any particular process here.
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/IPS7PDROXEY2I353A6MURRSP2KWOIB3N/

Reply via email to