[Web-SIG] PEP 444 != WSGI 2.0

Guido van Rossum guido at python.org
Sun Jan 2 18:21:29 CET 2011


Alice and Graham,

I worry a lot that there's a fight brewing here that will lead to
disappointment all around. I see accusations, demands, and passion. I also
see a lot of apathy in the web-sig. This is not a recipe for a successful
standard.

Since it appears we have or are about to face a breakdown of communication,
I'd like to start with some remarks on the mechanics of communication.

   - Alice hasn't posted a link to her rewrite of PEP 444 in a while. AFAICT
   it's this: https://github.com/GothAlice/wsgi2/blob/master/pep444.textile.
I find it a bit disturbing that the "official" copy of PEP 444 (
   http://www.python.org/dev/peps/pep-0444/ ) hasn't been updated. This is
   confusing for occasional observers (like myself), since the
python.orgcopy looks quite dead. It also is not in line with the PEP
workflow as
   written down in PEP 1 (
   http://www.python.org/dev/peps/pep-0001/#pep-work-flow ).
   - It is not reasonable to demand a discussion on IRC. In fact I think it
   is one of the worst media for arriving agreement over a standard. IRC
   doesn't have public logs for those who didn't participate in real time
   (apparently intentionally so); it is pretty hostile to people who don't use
   it regularly (I am one of those); it doesn't work well for people in
   different timezones. Blog comments are not much better (they are archived,
   but as a medium they get too much spam and are too scattered to be worth
   tracking down for other participants); the web-sig mailing list is the
   preferred forum.
   - If you are going to quote stuff from earlier in the thread and respond
   to it using "you", please don't strip the attributions (or add them if your
   mailer doesn't). Also it's best to keep the person you address in the To:
   line of the message (or add them back if your mailer doesn't automatically
   do this).

With that out of the way, let me try to analyze the crux of the matter. The
WSGI 1.0 standard (PEP 333) has been widely successful, but, like any
standard, it has some flaws. People thought that Python 3 would be a good
opportunity to fix the flaws. A proposal was drafted, and posted as PEP 444,
but no agreement was reached. In order to fix some obvious flaws due to
Python 3's different treatment of bytes and text, a much less ambitious
update was produced as PEP 3333, and labeled WSGI 1.0.1. Although this is
still marked as draft, I personally think of it as accepted; it is really
just a very small set of clarifications and disambiguations of PEP 333,
specifically for the benefit of interoperability between WSGI 1.0 apps and
servers across the Python 2 / Python 3 boundary.

But there still was no WSGI 2.0, and the original PEP 444 authors stopped
pushing for their more ambitious draft (I recall this from the web-sig list;
the PEP itself was not updated to reflect this). Then Alice came along, with
much enthusiasm (though perhaps not enough prior understanding of Python's
PEP process) and offered to rewrite PEP 444 to make it better, and to aim to
make the updated version the agreed-upon WSGI 2.0 standard.

I can't quite tell what happened from there; IIRC Alice's proposal did not
receive much objection but neither did she get much support from the folks
on web-sig -- perhaps people were tired of the discussion (which had already
gone around once and not reached any agreement), perhaps people were too
busy to read the list. It seems Graham, at least, falls in the latter
category and is now regretting that he didn't speak up earlier. Ian, OTOH,
seems to implicitly endorse Alice's actions, and seems to be hoping that a
widely accepted WSGI 2.0 standard will come out of her work.

In the mean time, Alice (understandably) has looked for other forums where
she got more feedback -- I may not like IRC, but I can see how the general
apathy on the web-sig is not exactly encouraging. (This is a general problem
with Python -- we always complain that there aren't enough people to do the
work, but when someone shows up and offers to do some work, they don't get
much support. On python-dev we've acknowledged this and are trying to get
better about it.)

In order to get WSGI 2.0 back on the standards track, I think a number of
things have to happen.

First, it would be great if Alice could prepare a version of her draft in
the format required for PEPs, and submit it to the PEP editors (
peps at python.org). Note that the PEP editors do *not* judge a PEP by its
technical merits or have a say in its approval (though they may reject
outright nonsense) -- they merely facilitate the discussion by promptly
checking in the submitted draft, so that PEP authors don't need SVN (or,
soon, I hope Hg) access. The PEP editors also ensure that the PEP is
formatted right, so that it can be automatically processed into HTML for
publication on python.org, and they may make simple fixes for
typos/spelling/grammar. In my experience (being one of them), the PEP
editors usually respond within 24 hours, and don't have any problem with
frequent submissions, as long as new submissions of the same PEP incorporate
any changes that the PEP editors made (e.g. ReST formatting fixes).

(Another way to get new versions submitted to SVN would be to ask the other
author of PEP 444, Armin Ronacher, to check it in; he has submit
privileges.)

The longer Alice's draft lingers on github, the less likely I think it is
that it will ever be elevated to the official WSGI 2.0 standard.

At the same time, I hope that web-sig and Graham can start discussing the
technical merits of Alice's proposal, so that Alice can incorporate the
feedback into her draft. It is my understanding that Alice primarily offered
to improve the writing and precision of the PEP (although that doesn't mean
she can't have an opinion on specific features), and that she is open to
changes proposed by others. (If I were wrong about this, and Alice had an ax
to grind, that would change things, and it might even make sense to have
multiple competing proposals, each hopeful to once earn the WSGI 2.0
moniker. But I hope not.)

Alice, I hope you can live with these recommendations. While it may place a
burden on you to convert your draft to ReST and to have to maintain it that
way, I think there is a much better chance of an open community discussion
leading to a widely accepted standard if you start following the PEP rules
set out in PEP 1 (and a few other low-numbered PEPs).

Graham, I hope that you can stop being grumpy about the process that is
being followed and start using your passion to write up a critique of the
technical merits of Alice's draft. You don't have to attack the whole draft
at once -- you can start by picking one or two important issues and try to
guide a discussion here on web-sig to tease out the best solutions.  Please
understand that given the many different ways people use and implement WSGI
there may be no perfect solution within reach -- writing a successful
standard is the art of the compromise. (If you still think the process going
forward should be different, please write me off-list with your concerns.)

Everyone else on this list, please make a new year's resolution to help the
WSGI 2.0 standard become a reality in 2011.

-- 
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/web-sig/attachments/20110102/7bff54a0/attachment.html>


More information about the Web-SIG mailing list