[Python-3000] We should write a PEP on what goes into the stdlib

Talin talin at acm.org
Fri Jun 16 07:17:49 CEST 2006


Michael Chermside wrote:
> I agree. If we have a PEP with rules for acceptance, then every time we
> don't follow those rules exactly we will be accused of favoritism. If
> we have informal rules like today and decide things on a case-by-case
> basis, then everything is fine.

Let me make a suggestion that might help resolve the disagreement.

One of my favorite podcasts is "Life of a Law Student", 
(http://www.lifeofalawstudent.com/) in which a first year law student 
named Neil Wehneman makes a daily podcast of what he learned in law 
school that day. One of the ideas that he talks about (Intro to the Law 
#2) is the difference between a "Rule" and a "Standard":

A 'rule' is a definitive test, intended to provide certainty. An example 
is the speed limit - you are either exceeding the speed limit, or you 
aren't.

A 'standard', on the other hand (at least, in its legal definition) is a 
set of factors to be weighed by a judge when making a decision. Its 
purpose is to provide flexibility, allowing human judgement to stay in 
the loop, but at the same time giving a framework for making those 
judgements in a consistent way.

An example of a standard is fair use under copyright law. When a judge 
decides whether something is fair use, they use a standard consisting of 
a number of factors, including the amount of the work copied, the 
commercial or non-commercial use of the work, and so on.

Note that none of these factors are a simple "yes/no" decision - 
instead, a judgement must be made as to how much a particular case fits 
the standard. A use of a work can be completely commercial, completely 
noncommercial, or something inbetween. To the extent that it is 
noncommercial, that weighs in favor of it being declared fair use; To 
the extent that it is commercial, that weighs against.

So what I would suggest, then, is the creation of a standard (in this 
legal sense) for what factors should be considered in deciding whether 
to include something in the stdlib.

Moreover, the standard should be clearly labeled as such - to prevent 
people from interpreting the document as a set of hard rules that they 
can use to beat other people over the head with.

So for example, it might say something like: "To the extent that the 
module has enjoyed widespread adoption and use within the Python 
community, this weighs in favor of inclusion." and so on.

-- Talin


More information about the Python-3000 mailing list