Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-13 Thread Robert Collins
On 13 October 2014 16:59, PJ Eby p...@telecommunity.com wrote:
 On Sun, Oct 12, 2014 at 6:47 PM, Robert Collins
 robe...@robertcollins.net wrote:
 FWIW I'm totally fine with you bringing together that PEP - as you say
 its complementary to what I'm focused on (I believe I even suggested
 you might want to do that).

 Did you have any feedback on the proposal itself?  I'm particularly
 counting on you to tell me if I've horribly misunderstood something
 important about the use cases or the requirements for the protocols
 themselves.

Not yet. Really just got back to stuff today. Rather than digging a
hole for myself by commenting until I've absorbed it, let me do that
and then I'll comment. :)

 I think that the upgrade model I've presented will enable you to
 happily design completely new API paradigms without having to figure
 out how to tunnel them through a maze of WSGI middleware, with the
 exception of having reasonable ways to present the incoming request as
 a WSGI request.  But if I've missed something there, please let me
 know.

Sure will. As I said earlier on in our thread, I'm not convinced that
presenting new things as WSGI1 requests makes sense. I understand your
arguments about adoption, but as I understand it WSGI itself started
with nothing implementing it, and yet its now a very common lingua
franca. So - I'd like to defer thinking too hard about the migration
path, other than ensuring that its possible - and your draft may well
be instrumental in some of the conversion paths needed. More once I've
absorbed it.

-Rob

-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Converged Cloud
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-13 Thread Robert Collins
On 13 October 2014 17:12, Benoit Chesneau bchesn...@gmail.com wrote:

...


 OK,

 So I should probably know you, but I can't recollect right now what you do
 or write.

Its not clear to me who you were replying to.

If Graham - Graham is the mod_wsgi maintainer, which I'm sure you've
heard of - he, like you is one of the actors we need engaged and
behind this effort. And PJE was the original WSGI maintainer :).

 Anyway I find it really disturbing the way you're actually acting
 and try to push your ideas based on private feedback coming from unknown or
 choosing who should be a reference. That certainly not the right way to have
 all actors on the table. Because if we go for a new WSGI spec, you certainly
 want it. And I am speaking as one of these actors.

As I said when folk talked about going private in the first thread on
this, I'm willing to discuss anything publically or privately - I
can't tell folk where they will be comfortable discussing things. But
I'm going to do *my* work on this in public, because I think that is
essential to get broad consensus.

 In my opinion, if we want to go further we should first define what are the
 problem we want to solve, and then get the feedback from all the actors
 around:

I think I've been fairly clear about the problem *I* want to solve.


We want to create a clean common API for applications and middleware
written in a post HTTP/2 world - where single servers may accept up to
all three of HTTP/1.x, HTTP/2 and Websocket connections, and
applications and middleware want to be able to take advantage of
HTTP/2 and websockets when available, but also degrade gracefully. We
also want to ensure that there is a graceful incremental path to
adoption of the new API, including Python 2.7 support, and shims to
enable existing WSGI apps/middleware/servers to respectively be
contained, contain-or-be-contained and contain, things written to this
new API. We want a clean, fast and approachable API, and we want to
ensure that its no less friendly to work with than WSGI, for all that
it will expose much more functionality.


 - framweorks authors

I reached out to a number of such authors directly. I encourage you to
do the same.

 - libraries author

Ditto and

 - server authors

Ditto :).

 If you don't have all actors around and majors are missing, there is
 probably no point to continue. I do think the idea of having a repository to
 collect it with people arbitrating the discussions on them on the mailing is
 a good way to go further. Now I think we are still missing of a clear
 definition of the problem. This is from what we should start instead of
 starting by giving our philosophy on how the problem should be solved.

Here's my definition of some of the problems:
A - there is no common spec equivalent to WSGI that permits writing
server side code that takes advantage of HTTP/2. There's *a* http/2
server out there which one can write code for, but that code is either
specific to that servers plumbing, or plain WSGI and misses the HTTP/2
goodness.
B - WSGI has some oddness and overheads due in large part to the
situation it was aiming to fix (which it broadly did) that perhaps we
can now come together to fix.
C - Support for chunked uploads, comet, bosh and websockets is
effectively impossible within WSGI - one ends up writing server
specific code, and being tied to a single server - even though
multiple servers support (some of) those things. This defeats the
point of WSGI IMNSHO: its not that WSGI is broken or anything, its
just that we're once again writing all our generic middleware in
server-specific fashions. Because the world has moved on and we
haven't.

I think A and C are crucial if we want to re-instate a lingua franca
for the current web, in Python. I'd like to address B, because we can.

-Rob

-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Converged Cloud
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-13 Thread Benoit Chesneau
On Mon, Oct 13, 2014 at 11:52 AM, Robert Collins robe...@robertcollins.net
wrote:

 On 13 October 2014 17:12, Benoit Chesneau bchesn...@gmail.com wrote:
 
 ...
 
 
  OK,
 
  So I should probably know you, but I can't recollect right now what you
 do
  or write.

 Its not clear to me who you were replying to.


I answered at the bottom of the thread so to PJE.



  Anyway I find it really disturbing the way you're actually acting
  and try to push your ideas based on private feedback coming from unknown
 or
  choosing who should be a reference. That certainly not the right way to
 have
  all actors on the table. Because if we go for a new WSGI spec, you
 certainly
  want it. And I am speaking as one of these actors.

 As I said when folk talked about going private in the first thread on
 this, I'm willing to discuss anything publically or privately - I
 can't tell folk where they will be comfortable discussing things. But
 I'm going to do *my* work on this in public, because I think that is
 essential to get broad consensus.

  In my opinion, if we want to go further we should first define what are
 the
  problem we want to solve, and then get the feedback from all the actors
  around:

 I think I've been fairly clear about the problem *I* want to solve.

 
 We want to create a clean common API for applications and middleware
 written in a post HTTP/2 world - where single servers may accept up to
 all three of HTTP/1.x, HTTP/2 and Websocket connections, and
 applications and middleware want to be able to take advantage of
 HTTP/2 and websockets when available, but also degrade gracefully. We
 also want to ensure that there is a graceful incremental path to
 adoption of the new API, including Python 2.7 support, and shims to
 enable existing WSGI apps/middleware/servers to respectively be
 contained, contain-or-be-contained and contain, things written to this
 new API. We want a clean, fast and approachable API, and we want to
 ensure that its no less friendly to work with than WSGI, for all that
 it will expose much more functionality.
 



By which problem we need to solve, I mean we need to identify clearly what
are the problem not solved by the current spec. And see why, and how it is
actually solved in the python world. we need to clearly identify these
issues and make sure we have a comprehensive view of them.



  - framweorks authors

 I reached out to a number of such authors directly. I encourage you to
 do the same.



I could do that eventually if we are all agree on the process.



  - libraries author

 Ditto and

  - server authors

 Ditto :).

  If you don't have all actors around and majors are missing, there is
  probably no point to continue. I do think the idea of having a
 repository to
  collect it with people arbitrating the discussions on them on the
 mailing is
  a good way to go further. Now I think we are still missing of a clear
  definition of the problem. This is from what we should start instead of
  starting by giving our philosophy on how the problem should be solved.

 Here's my definition of some of the problems:
 A - there is no common spec equivalent to WSGI that permits writing
 server side code that takes advantage of HTTP/2. There's *a* http/2
 server out there which one can write code for, but that code is either
 specific to that servers plumbing, or plain WSGI and misses the HTTP/2
 goodness.
 B - WSGI has some oddness and overheads due in large part to the
 situation it was aiming to fix (which it broadly did) that perhaps we
 can now come together to fix.
 C - Support for chunked uploads, comet, bosh and websockets is
 effectively impossible within WSGI - one ends up writing server
 specific code, and being tied to a single server - even though
 multiple servers support (some of) those things. This defeats the
 point of WSGI IMNSHO: its not that WSGI is broken or anything, its
 just that we're once again writing all our generic middleware in
 server-specific fashions. Because the world has moved on and we
 haven't.


Chunkedn upload is possible and already handled with Gunicorn. But there is
no standard for that.

For C I would separate it from the rest. This a different discussion and
imo not everything can be achieved at the same time. Maybe we should start
first by fixing them, then go for the next step anyway. So the transition
could be incremental in servers and frameworks and actually fix the current
spec.


For A (And C), i think we should keep the new specification enough
agnostic. Especially since HTTP 2 is not yet completely out.


- benoit

I
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-13 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 10/13/2014 12:12 AM, Benoit Chesneau wrote:
 So I should probably know you, but I can't recollect right now what
 you do or write.

Seriously?  On *this* sig?  PJE was the author of PEP 333, defining the
WSGI 1.0 spec.


Tres.
- -- 
===
Tres Seaver  +1 540-429-0999  tsea...@palladion.com
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAlQ8jEgACgkQ+gerLs4ltQ6VGgCg3UUBwHClvJv3dtHP22Z1EVBn
wpgAn0oA3pMAgLY0lqExyZ2zvsQfnteY
=o+WJ
-END PGP SIGNATURE-

___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-13 Thread Robert Collins
On 14 October 2014 01:18, Benoit Chesneau bchesn...@gmail.com wrote:


 C - Support for chunked uploads, comet, bosh and websockets is
 effectively impossible within WSGI - one ends up writing server
 specific code, and being tied to a single server - even though
 multiple servers support (some of) those things. This defeats the
 point of WSGI IMNSHO: its not that WSGI is broken or anything, its
 just that we're once again writing all our generic middleware in
 server-specific fashions. Because the world has moved on and we
 haven't.


 Chunkedn upload is possible and already handled with Gunicorn. But there is
 no standard for that.

Right. Thus we need one.

 For C I would separate it from the rest. This a different discussion and imo
 not everything can be achieved at the same time. Maybe we should start first
 by fixing them, then go for the next step anyway. So the transition could be
 incremental in servers and frameworks and actually fix the current spec.

What makes C a different discussion?


 For A (And C), i think we should keep the new specification enough agnostic.
 Especially since HTTP 2 is not yet completely out.

HTTP/2 is in last call stage: it will be entirely finished by the time
we get through whatever process we have here.

What do you want to see changed in the process I'm following?

-Rob


-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Converged Cloud
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-12 Thread Robert Collins
On 11 October 2014 08:10, PJ Eby p...@telecommunity.com wrote:
 On Fri, Oct 10, 2014 at 8:56 AM, Graham Dumpleton
 graham.dumple...@gmail.com wrote:
 So PJE, please step back and do not go rushing out to create a PEP. That is
 the worst thing you could do at this point and will only serve to deter
 people from the community contributing and so stifle proper discussion about
 this whole topic.

 Huh?  Have you *read* the PEP?  The entire point of it is to provide a
 basis for *experimenting* with new standards, not to stifle
 discussion of them.  It's not even an *API*, for heavens' sake.  It's
 just a description of how to upgrade to new standards from within
 existing WSGI frameworks, without needing to tunnel responses and
 without breaking subrequest middleware.

FWIW I'm totally fine with you bringing together that PEP - as you say
its complementary to what I'm focused on (I believe I even suggested
you might want to do that).

-Rob

-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Converged Cloud
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-12 Thread Robert Collins
On 11 October 2014 01:56, Graham Dumpleton graham.dumple...@gmail.com wrote:

I've pushed up 
https://github.com/python-web-sig/wsgi-ng/commit/df51d7d6fd4faa4efbe397fda2c323932f967020
which hopefully addresses the process and clarity concerns you
expressed. (If not please help me tweak it appropriately).

-Rob
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-12 Thread PJ Eby
On Sun, Oct 12, 2014 at 6:47 PM, Robert Collins
robe...@robertcollins.net wrote:
 FWIW I'm totally fine with you bringing together that PEP - as you say
 its complementary to what I'm focused on (I believe I even suggested
 you might want to do that).

Did you have any feedback on the proposal itself?  I'm particularly
counting on you to tell me if I've horribly misunderstood something
important about the use cases or the requirements for the protocols
themselves.

I think that the upgrade model I've presented will enable you to
happily design completely new API paradigms without having to figure
out how to tunnel them through a maze of WSGI middleware, with the
exception of having reasonable ways to present the incoming request as
a WSGI request.  But if I've missed something there, please let me
know.
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-12 Thread Benoit Chesneau
On Fri, Oct 10, 2014 at 9:10 PM, PJ Eby p...@telecommunity.com wrote:

 On Fri, Oct 10, 2014 at 8:56 AM, Graham Dumpleton
 graham.dumple...@gmail.com wrote:
  So PJE, please step back and do not go rushing out to create a PEP. That
 is
  the worst thing you could do at this point and will only serve to deter
  people from the community contributing and so stifle proper discussion
 about
  this whole topic.

 Huh?  Have you *read* the PEP?  The entire point of it is to provide a
 basis for *experimenting* with new standards, not to stifle
 discussion of them.  It's not even an *API*, for heavens' sake.  It's
 just a description of how to upgrade to new standards from within
 existing WSGI frameworks, without needing to tunnel responses and
 without breaking subrequest middleware.

 IOW, it's a WSGI *1.0* server extension protocol, and a fairly *minor*
 one at that.  (Indeed, it's little more than an enhanced variation of
 wsgi.file_wrapper!)  It's not any sort of competitor or alternative to
 what Robert's working on; it's a *stepping stone* for what Robert's
 working on.

 In early discussion with Robert -- both here and on github -- it
 became apparent to me that restricting post-WSGI specifications to
 what can be achieved in WSGI 1 tunneling is a bad idea.  So I've
 created a *bridging* specification, that allows post-WSGI APIs to be
 accessed from within WSGI-based apps and frameworks.

 That's *all*.

 All of the things you've mentioned as being in scope for discussion,
 are *still* in scope for discussion.  All *this* proposal does is show
 how those things could be *accessed*, *today*, from inside existing
 web apps and frameworks, once those new APIs exist.


  You have no more experience or mandate to be specifying a
  standard for this than anyone else.

 If by this you're referring to HTTP/2 or some other new post-WSGI
 API, then I agree with you.  But that's not what the PEP is about.


   By creating a PEP though that gets
  perceived by many as meaning the discussion is over. This is exactly what
  you did for PEP  and which caused previous discussion about improving
  WSGI to get shutdown.

 That's an interesting perspective, but I don't see how it can be
 reconciled with the facts.

 First off, I didn't write a new PEP; I wrote up some of *your*
 proposed clarifications for Python 3 as WSGI 1.0.1, which was intended
 to add new clarifying text to PEP 333, *not* to create a new PEP.  It
 was *Guido* who said it must be a new PEP, as you will see here:

   https://mail.python.org/pipermail/web-sig/2010-September/004691.html

 and here (where he even says, Don't see this as a new spec. See it as
 a procedural issue.):

   https://mail.python.org/pipermail/web-sig/2010-September/004694.html

 Second, I didn't make anybody stop discussing alternatives for moving
 things forward.  Nobody *ever* said to stop working on a version 2 or
 even 1.1, certainly not me.  See for example, this message, where I
 agreed with Ian's POV that there was room for both PEP 333 fixes *and*
 continued work on PEP 444:

   https://mail.python.org/pipermail/web-sig/2010-September/004662.html

 Third, and finally, as far as I can tell from the record of the
 discussion back then, it was you -- and *only* you -- who suggested
 that the acceptance of PEP  meant the discussion was *over*.
 Indeed, on your blog you actually pushed back at Alice for bringing up
 more PEP 444 discussion!

 Nonetheless, discussion of PEP 444 and async APIs and such proceeded
 well past the introduction of PEP , even without its original
 authors' participation.  And, ironically enough, your posts show up in
 that discussion, bemoaning that Alice (the new PEP 444 champion) was
 creating confusion by calling that proposal WSGI 2.0!


  The result was that the only thing that really got
  addressed in PEP  was Python 3 compatibility and a lot of the other
 bits
  of the WSGI specification which are poorly defined, contradictory or
  restrictive and which cause WSGI server and application developers pain
  never got addressed. If that prior discussion hadn't been shutdown in
 that
  way, we could have been using a better defined and improved WSGI years
 ago
  already.

 Those things didn't get addressed because *you* didn't take up the
 lead -- a lead which I more than once mentioned you should take up.
 For example, as I said in
 https://mail.python.org/pipermail/web-sig/2010-September/004693.html :

  The full list of things Graham and others have asked for or
  recommended would indeed require a 1.1 version at minimum, and thus a
  new PEP.  But I really don't want to start down that road right now,
  and therefore hope that I can talk Graham or some other poor soul
  into shepherding a 1.1 PEP instead.  ;-)

 You didn't, and haven't, taken up that slack.  What you've
 consistently done is mutter and grumble on the sidelines about how
 it's never going to happen and disclaim any responsibility for
 actually writing a proposal 

Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-10 Thread Graham Dumpleton

On 07/10/2014, at 7:15 AM, PJ Eby p...@telecommunity.com wrote:

 As before, you can find a living HTML version of the draft in progress at:
 
   https://gist.github.com/pjeby/62e3892cd75257518eb0
 
 (In addition to nice formatting, it also has a clickable table of contents.)
 
 After the next round of feedback, I plan to convert this to reST and
 get a PEP number assigned -- assuming nobody comes up with a killer
 problem that sends me back to the drawing board, of course.  ;-)


For those who were not aware, I personally haven't commented as yet on this 
discussion because I have been on a holiday for the last few weeks and I wasn't 
going to allow a discussion about this to ruin my holiday. 

I haven't caught up yet on all the discussion, but it is sad to say that it has 
headed down a direction exactly as a I warned Robert Collins in private 
discussions would likely happen, with certain people trying to rush things to 
push their own specific idea for how things should be done, with the risk that 
that will dominate the agenda and so push Robert out of the way as far as 
trying to coordinate this as a community effort where anyone could feel 
confident about providing input with the result then also being a community 
effort.

So PJE, please step back and do not go rushing out to create a PEP. That is the 
worst thing you could do at this point and will only serve to deter people from 
the community contributing and so stifle proper discussion about this whole 
topic. You have no more experience or mandate to be specifying a standard for 
this than anyone else. By creating a PEP though that gets perceived by many as 
meaning the discussion is over. This is exactly what you did for PEP  and 
which caused previous discussion about improving WSGI to get shutdown. The 
result was that the only thing that really got addressed in PEP  was Python 
3 compatibility and a lot of the other bits of the WSGI specification which are 
poorly defined, contradictory or restrictive and which cause WSGI server and 
application developers pain never got addressed. If that prior discussion 
hadn't been shutdown in that way, we could have been using a better defined and 
improved WSGI years ago already.

Robert has stuck his neck out to try and bring various parties together to work 
on this where anyone who has an opinion or idea can raise them so we as a 
community can all together come up with something which is workable for both 
server implementers and web application developers.

Robert even setup a github repo specifically as a place to bring together all 
those ideas and described how people can add stuff there. For whatever personal 
reason you have decided to ignore that repo Robert set up and decided to go 
alone. If you have an issue with the way the repo was structured which didn't 
make it easy for you to contribute your work into it, then work with Robert to 
address that. Right now, that you have created your own separate space for 
writing up a specification which you are now trying to rush into a PEP comes 
across as you not really wanting to co-ordinate with Robert on this as a 
community effort with it instead appearing that you think you know better than 
anyone else and nothing anyone else says will be of value. In the face of that, 
it is hardly surprising that no one has really responded to what you have 
proposed.

So slow down. This is not a race to see who can be the first to come out with a 
PEP and so dominate the discussion, it is meant to be a community effort.

Robert. What I would suggest you do is reboot this whole effort.

Go back and perhaps look at how the github repo you setup is structured and 
make it more obvious how anyone can add their work into it in separate areas of 
it as need be and not just as issues, if that isn't already clear enough. 
Document exactly what you want people to do as far as adding anything there. 
Find people who will work with you on making all this clearer and defining any 
process.

The next step is to make a more definite statement about the timeline for this 
whole discussion.

Specifically, give notice of a formal request for comment period and publicise 
it through any Python blogs of the PSF that might be able to be used, as well 
as through the different Python web communities. Also get prominent individuals 
in the Python WSGI and web community to also publicise the comment period.

Set a specific date for the end of that comment period. There should be no rush 
on this and people should be given adequate time to respond. Most interested 
parties would only do this in their spare time and employers aren't going to 
allow them to waste their work time on it. So make the comment period something 
like 2 months from the date of announcing it.

What can people comment on?

They may want to comment on the process itself of how we get to the various 
specifications that may come out of this.

They may want to comment on what should even be 

Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-10 Thread Robert Collins
On 11 October 2014 01:56, Graham Dumpleton graham.dumple...@gmail.com wrote:

...
 Robert. What I would suggest you do is reboot this whole effort.

 Go back and perhaps look at how the github repo you setup is structured and
 make it more obvious how anyone can add their work into it in separate areas
 of it as need be and not just as issues, if that isn't already clear enough.
 Document exactly what you want people to do as far as adding anything there.
 Find people who will work with you on making all this clearer and defining
 any process.

 The next step is to make a more definite statement about the timeline for
 this whole discussion.

Thanks for the process critique - I agree. I will put together such
improvements in a little bit.

I hadn't actually intended to go quiet - my intended next step was to
collate the feedback we've had so far (and prompt you for some
mod_wsgi orientated feedback).

However, about 2 weeks back my Mum died, and that caused a rather big
speed bump in the 'what I need to do' chore list, which still isn't
over (but at least the crisis wise aspects are)


 They may want to comment on what should even be addressed in any revisions
 or extensions to the WSGI specification. In other words, don't limit this to
 just HTTP/2 and web sockets support. Allow people to raise their pet peeves
 about the existing WSGI specification so we can perhaps properly address
 them this time. The whole ASYNC issue with existing WSGI applications also
 should not be ruled out of scope as far as the comment period.

 Finally and hopefully, rather than people just complaining about things or
 giving wish lists, they will present properly fleshed out ideas for how to
 concretely solve ideas around ASYNC, HTTP/2 and web sockets.

TBH I'd be fine with complaints and wish lists - got to start
somewhere, and having a clear list of the places WSGI has not met
needs would be excellent.

One thing you could do, if you like, is to put a PR together for the
wsgi-ng repo that adjusts README in the light of your feedback.

-Rob

-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Converged Cloud
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
https://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com


Re: [Web-SIG] Draft 2: WSGI Response Upgrade Bridging

2014-10-10 Thread PJ Eby
On Fri, Oct 10, 2014 at 8:56 AM, Graham Dumpleton
graham.dumple...@gmail.com wrote:
 So PJE, please step back and do not go rushing out to create a PEP. That is
 the worst thing you could do at this point and will only serve to deter
 people from the community contributing and so stifle proper discussion about
 this whole topic.

Huh?  Have you *read* the PEP?  The entire point of it is to provide a
basis for *experimenting* with new standards, not to stifle
discussion of them.  It's not even an *API*, for heavens' sake.  It's
just a description of how to upgrade to new standards from within
existing WSGI frameworks, without needing to tunnel responses and
without breaking subrequest middleware.

IOW, it's a WSGI *1.0* server extension protocol, and a fairly *minor*
one at that.  (Indeed, it's little more than an enhanced variation of
wsgi.file_wrapper!)  It's not any sort of competitor or alternative to
what Robert's working on; it's a *stepping stone* for what Robert's
working on.

In early discussion with Robert -- both here and on github -- it
became apparent to me that restricting post-WSGI specifications to
what can be achieved in WSGI 1 tunneling is a bad idea.  So I've
created a *bridging* specification, that allows post-WSGI APIs to be
accessed from within WSGI-based apps and frameworks.

That's *all*.

All of the things you've mentioned as being in scope for discussion,
are *still* in scope for discussion.  All *this* proposal does is show
how those things could be *accessed*, *today*, from inside existing
web apps and frameworks, once those new APIs exist.


 You have no more experience or mandate to be specifying a
 standard for this than anyone else.

If by this you're referring to HTTP/2 or some other new post-WSGI
API, then I agree with you.  But that's not what the PEP is about.


  By creating a PEP though that gets
 perceived by many as meaning the discussion is over. This is exactly what
 you did for PEP  and which caused previous discussion about improving
 WSGI to get shutdown.

That's an interesting perspective, but I don't see how it can be
reconciled with the facts.

First off, I didn't write a new PEP; I wrote up some of *your*
proposed clarifications for Python 3 as WSGI 1.0.1, which was intended
to add new clarifying text to PEP 333, *not* to create a new PEP.  It
was *Guido* who said it must be a new PEP, as you will see here:

  https://mail.python.org/pipermail/web-sig/2010-September/004691.html

and here (where he even says, Don't see this as a new spec. See it as
a procedural issue.):

  https://mail.python.org/pipermail/web-sig/2010-September/004694.html

Second, I didn't make anybody stop discussing alternatives for moving
things forward.  Nobody *ever* said to stop working on a version 2 or
even 1.1, certainly not me.  See for example, this message, where I
agreed with Ian's POV that there was room for both PEP 333 fixes *and*
continued work on PEP 444:

  https://mail.python.org/pipermail/web-sig/2010-September/004662.html

Third, and finally, as far as I can tell from the record of the
discussion back then, it was you -- and *only* you -- who suggested
that the acceptance of PEP  meant the discussion was *over*.
Indeed, on your blog you actually pushed back at Alice for bringing up
more PEP 444 discussion!

Nonetheless, discussion of PEP 444 and async APIs and such proceeded
well past the introduction of PEP , even without its original
authors' participation.  And, ironically enough, your posts show up in
that discussion, bemoaning that Alice (the new PEP 444 champion) was
creating confusion by calling that proposal WSGI 2.0!


 The result was that the only thing that really got
 addressed in PEP  was Python 3 compatibility and a lot of the other bits
 of the WSGI specification which are poorly defined, contradictory or
 restrictive and which cause WSGI server and application developers pain
 never got addressed. If that prior discussion hadn't been shutdown in that
 way, we could have been using a better defined and improved WSGI years ago
 already.

Those things didn't get addressed because *you* didn't take up the
lead -- a lead which I more than once mentioned you should take up.
For example, as I said in
https://mail.python.org/pipermail/web-sig/2010-September/004693.html :

 The full list of things Graham and others have asked for or
 recommended would indeed require a 1.1 version at minimum, and thus a
 new PEP.  But I really don't want to start down that road right now,
 and therefore hope that I can talk Graham or some other poor soul
 into shepherding a 1.1 PEP instead.  ;-)

You didn't, and haven't, taken up that slack.  What you've
consistently done is mutter and grumble on the sidelines about how
it's never going to happen and disclaim any responsibility for
actually writing a proposal because it's never going to go anywhere --
thereby *ensuring* that it's never going to go anywhere.  (And one key
reason I wrote the WSGI-RUB PEP is that I