On Aug 21, 2013, at 9:02 AM, Vinay Sajip <vinay_sa...@yahoo.co.uk> wrote:

> Donald Stufft <donald <at> stufft.io> writes:
> 
>> I think the way you view distlib and the way other are viewing distlib are
>> different (and that's ok). We just need to know what distlib is so we can
>> have reasonable expectations of it. What i'm getting from you is that, at
>> least right now, distlib isn't what I thought it was and I (and others) 
>> should
>> stop treating it as *the* reference implementation of the new standards.
>> 
>> I'm not trying to stop you from innovating, I'm just trying to make sure
> everyone
>> has reasonable expectations all around.
> 
> I don't see how anyone is treating it as a reference implementation, other
> than just talking about it being such. I have had very good feedback from
> one or two people who are using it, but for the most part I see no evidence
> that people on this list are using it to the extent they would if they
> really thought "this might be a good candidate for a reference
> implementation - I see it's early days, and there's work to do, but it seems
> usable, so let me check it out and see that my use cases are covered, and if
> anything's been overlooked".
> 
> In my view, nothing deserves to be a considered a "reference implementation"
> other than through merit, or perhaps by "being number one in a field of
> one". Merit isn't earned unless the software is used and refined based on
> real-world experience. The time to try distlib is now (not in production
> environments, obviously), to allow any problems with it to be identified
> early in its life. That would be more helpful than any sniping from the
> sidelines about whether it does more than what it needs to for PEP 
> conformance.
> 
> Regards,
> 
> Vinay Sajip
> 
> 
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG@python.org
> http://mail.python.org/mailman/listinfo/distutils-sig

I think you're using a completely different definition of "reference
implementation" than I've ever seen used. A reference implementation
by definition cannot contain customizations or additions or extensions
from the spec. The entire *point* of a reference implementation is to
act as programatic reference to the spec. Something being the reference
implementation does not speak to the quality of the implementation and
as such it may not be the *best* implementation.

It becomes extremely useful however when you want to test conformance
against the spec because it gives you a baseline with which to test against.
Instead of needing to test against N different implementations people
wanting to work with Wheel would only need to test against the reference
implementation, and if that works then they can assume that their code
will work against any other implementation of Wheel that properly implements
the standard. If you don't have a reference implementation then people
need to interpret the standards on their own and hopefully get it right.

An example is the wsgiref from the standard library. Very few projects
actively use wsgiref for much at all if they use it at all. However it's 
existence
means that web servers like gunicorn, mod_wsgi etc can simply test
against it instead of needing to test against every implementation of WSGI.

Which implementation is used (and ultimately possibly enshrined in the
standard library) is decided through merit. Which implementation is
used as the reference implementation is typically decided by the standards
body (in this case, distutils-sig or Nick or whoever). 

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

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to