[Web-SIG] PEP 444
alice at gothcandy.com
Tue Nov 23 02:01:44 CET 2010
On 2010-11-22, at 3:05 PM, Mark Ramm <mark.mchristensen at gmail.com> wrote:
> I would very much prefer it if we could keep the current name or choose a new unrelated name, not wsgi2 as I think there API changes warrant a new name to prevent confusion.
Web3, as mentioned in previous mailing list traffic, is a registered trademark. Python Web and WSGI are closely linked in the public mind-space. (Sleep deprived an can't think of a better way to phrase that.) Finally, I, and seemingly Python core, interpret major version number changes as breaking; py3k having backwards-incompatible syntax changes.
At a high level PEP 444 is /similar/ to WSGI in so far as the environ is a dict, and the returned values are a bytestring status, list of tuples for headers, and an iterable body. The inner implementation details seem a progressive enhancement and clarification of details which just happen to be backwards-incompatible.
Preserving the WSGI name has marketing benefits, refines existing understanding of the server/middleware/application semantics rather than implying something /completely/ new, and increasing the version to 2.0 "clearly" declares the backwards-incompatibility.
I think that Python 2 vs. 3 is a good comparison here; Python 3 has a different syntax and grammar, making it a fundamentally different language and is incompatible because of this. Why is it called Python and not Xyzzy? #python wouldn’t have to have ;)
Web frameworks have been encountering this problem for some time; TurboGerars developers, e.g., have been mulling over migrating to Pyramid or another top-level metaframework and debating strategies for migration: point everyone at something else, create something new, or keep the name and associated recognition?
Technically PEP 444 is incompatible, and wsgi.version = (2, 0) (and clear documentation) should indicate that.
More information about the Web-SIG