The Vision Thing (was Re: [Twisted-Python] Bloat)

Glyph Lefkowitz glyph at
Wed Apr 16 04:30:33 EDT 2003

Hash: SHA1


I think your policy suggestion is a good one.  I don't have an 
immediate yea or nay, but I'm thinking about it.  As to one of the 
things you asked, though:

On Tuesday, April 15, 2003, at 03:26 PM, Clark C. Evans wrote:

> The primary reason... Twisted is a framework, and not an application 
> (right?).

Yes, but then, the things that we characterize as "applications" these 
days are really frameworks.

In the ideal world, Twisted would start up and take over all 
UNIX-networking-y services that you ask it to; a webserver, a mail 
server (POP and SMTP), an IRC server, a rendezvous client and server, 
and a generic PB port that would provide access to all this 
functionality through a better protocol.

Applications would then hook into this environment and provide either 
enhanced versions of infrastructure - say, database-backed message 
storage rather than maildirs - or more frequently, domain objects that 
would do things completely unrelated to infrastructure.  For example, a 
message board, a chatterbot, a knowledge management system, etc.  These 
applications would then hook multiple URIs.  A chatterbot might have an 
IRC nickname as well as an email address, and would respond similarly 
(but not identically) to either.

By having the actual protocols taken over by the infrastructure like 
this, multiple applications (some of them running in different OS-level 
protection domains) can all talk to the same core services at once.  
Two chatterbot instances owned by different users might even converse 
with each other over the core infrastructure layer, either on the same 
host or on different hosts.

The existing codebase obviously doesn't implement terribly much of 
this, but you can see some of it.  Some people consider a web-server an 
"application", but 'mktap web' starts up and serves web pages.  'mktap 
words' starts a chat server.  'im' starts a chat client.  Over time 
these will become more unified and integrated.

To put it simply, "yes, Twisted is a framework, which means it's an 
Version: GnuPG v1.2.1 (Darwin)


More information about the Twisted-Python mailing list