Alice and Graham,<br><br>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.<br>
<br>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.<br><ul><li>Alice hasn't posted a link to her rewrite of PEP 444 in a while. AFAICT it's this: <a href="https://github.com/GothAlice/wsgi2/blob/master/pep444.textile">https://github.com/GothAlice/wsgi2/blob/master/pep444.textile</a> . I find it a bit disturbing that the "official" copy of PEP 444 (<a href="http://www.python.org/dev/peps/pep-0444/">http://www.python.org/dev/peps/pep-0444/</a> ) hasn't been updated. This is confusing for occasional observers (like myself), since the <a href="http://python.org">python.org</a> copy looks quite dead. It also is not in line with the PEP workflow as written down in PEP 1 (<a href="http://www.python.org/dev/peps/pep-0001/#pep-work-flow">http://www.python.org/dev/peps/pep-0001/#pep-work-flow</a> ).</li>
<li>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.</li>
<li>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).</li>
</ul>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.<br>
<br>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.<br>
<br>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.<br>
<br>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.)<br>
<br>In order to get WSGI 2.0 back on the standards track, I think a number of things have to happen.<br><br>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 (<a href="mailto:peps@python.org">peps@python.org</a>). 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 <a href="http://python.org">python.org</a>, 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).<br>
<br>(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.)<br><br>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.<br>
<br>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.)<br>
<br>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).<br>
<br>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.)<br>
<br>Everyone else on this list, please make a new year's resolution to help the WSGI 2.0 standard become a reality in 2011.<br><br>-- <br>--Guido van Rossum (<a href="http://python.org/~guido">python.org/~guido</a>)<br>
<br>