[Twisted-Python] web vs web2 clarification

Jared Gisin jared.gisin at isilon.com
Fri Dec 11 12:02:55 EST 2009

Thanks, James.

This is actually pretty sad because my reading of the code in
twisted.web2 indicates that's it's certainly more capable and more
robust than the twisted.web version. It implements more of HTTP 1.1 and
it provides for incoming HTTP stream processing by a resource.
Presently, I'm going back into twisted.web and refactoring to add some
of this functionality. 

I'm interested in a true twisted HTTP/1.1 protocol implementation that
is robust and clean. I have no use for any browser/HTML/CGI realted mix
in stuff. I consider all of that as frosting on top of the HTTP layer,
so I'm trying to produce a clean, gutted HTTP implementation that does
nothing more than speak HTTP without any cruft or extras.

Thanks again for the insight!


-----Original Message-----
From: twisted-python-bounces at twistedmatrix.com
[mailto:twisted-python-bounces at twistedmatrix.com] On Behalf Of James Y
Sent: Thursday, December 10, 2009 3:36 PM
To: Twisted general discussion
Subject: Re: [Twisted-Python] web vs web2 clarification

On Dec 10, 2009, at 5:29 PM, Mikhail Terekhov wrote:
> That is all true but it is very close to Joel's reasoning, kind of a
manager's point of view. It is too business/money oriented and doesn't
exhaust all the reasons why people write software in open source world
in particular. And what is more important it doesn't explain why they
still rewrite it from scratch sometimes and succeed? ;)
> But this became completely unrelated to this list, sorry for dragging
discussion so far.

I started the rewrite because I wanted to, and believed it was the most
reasonable way to achive the goal of a better HTTP implementation and
API. And let's not even call it "rewrite from scratch": it was branched
from the twisted.web code and used ideas previosuly explored in Nevow.
And there is even backwards compatibility in there for old
twisted.web.Resource classes, which worked fine for most resources (but
is not absolutely 100% compatible).

There were certainly some issues, both with functionality and with
compatibility. (Especially with Nevow: Nevow is basically its own
reimplementation of half of twisted.web, so the twisted.web2
backwards-compat code needed special-casing to work with it, and that
was never completed). But where the project really went wrong is when I
stopped working on it, and nobody else was interested in finishing that
job. There were many reasons I stopped working on it, but I don't really
want to get into it. The people actually doing the work now want to keep
working within the old framework. And that's the open source way: he who
does the work calls the shots. Tada.

I do think twisted.web2 could have succeeded in a form substantially
similar to its present state, but alas, it was not meant to be.


Twisted-Python mailing list
Twisted-Python at twistedmatrix.com

More information about the Twisted-Python mailing list