[Twisted-Python] Re: [Zope3-dev] twisted zope
![](https://secure.gravatar.com/avatar/9bef3fdb4be39cfc9a20b4baba3210a9.jpg?s=120&d=mm&r=g)
Shane Hathaway wrote:
Straighten out the licensing first.
Oh yeah, forgot about that. I've seen several discussions of the licensing on the Twisted list... Maybe Phil Eby's implementation is the only way out of that one. Gary
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Monday, July 28, 2003, at 01:20 PM, Gary Poster wrote:
The whole point of those discussions has generally been that the current structure is important to make relicensing a possibility :-). While twisted as a whole is being very actively (one might even say "agressively") developed, some portions of the framework, like the core reactor, seem to be extremely stable at this point. (Please, chime in if you disagree.) I have been considering approaching the Python team to ask about relicensing / including portions of twisted.internet in core Python at some point, since it seems to have eclipsed asyncore in terms of popularity, but I am sure that such discussions would be fraught with subtle corner cases and versioning issues, and I am very, very short on time at the moment. However, if another member of the Twisted team would like to take up this discussion, either about core Python or about Zope 3, I'd be more than willing to appoint a proxy.
![](https://secure.gravatar.com/avatar/3a7e70f3ef2ad1539da42afc85c8d09d.jpg?s=120&d=mm&r=g)
On Mon, Jul 28, 2003 at 11:16:22PM -0500, Glyph Lefkowitz wrote:
I dread the day that parts of Twisted start making it into Python core. If it ever does, though, I want to "brute-force" the versioning issue and put it in a top-level package with a name other than "twisted" (And I'm sure Guido would agree, as he doesn't like names like "twisted" and "optik"). That way if we continue to develop bits that are also in Python, there will be no versioning clashes. We've all seen this issue with the (*flinch* *flinch*) `xml' package. -- Twisted | Christopher Armstrong: International Man of Twistery Radix | Release Manager, Twisted Project ---------+ http://twistedmatrix.com/users/radix.twistd/
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Monday, July 28, 2003, at 11:28 PM, Christopher Armstrong wrote:
I dread the day that parts of Twisted start making it into Python core.
Why? The core reactor is pretty stable, pretty small, and now people who have expressed distress at the state of other portions of Twisted want to use it.
Agreed.
(And I'm sure Guido would agree, as he doesn't like names like "twisted" and "optik").
Maybe we can call it 'reactor.*'? (Or, for all you Sw. Eng. fans out there, "patterns.reactor.*" :-))
Yes, please, let's let application authors choose WHICH version of this they want to run with; ostensibly the core Python version would be much more stable, and upgrades to it could happen with excruciating attention to backwards compat.
![](https://secure.gravatar.com/avatar/d7875f8cfd8ba9262bfff2bf6f6f9b35.jpg?s=120&d=mm&r=g)
On Tue, 29 Jul 2003 09:25:47 -0500 Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
Up to a point, we've still been fixing bugs left and right. Obscure bugs, but bugs none the less. And the SSL refactor was not too long ago (Two months ago?). When we haven't made any major changes for 6 months, then we can talk about it.
![](https://secure.gravatar.com/avatar/b932b1e5a3e8299878e579f51f49b84a.jpg?s=120&d=mm&r=g)
On Tuesday, Jul 29, 2003, at 00:16 America/New_York, Glyph Lefkowitz wrote:
the organization of twisted.internet is the suck
Some of twisted should go into core Python, perhaps for 2.4.. but we should have better non-select reactors (win32, wx, qt, corefoundation, etc.) and cleaned up organization first. Of course, I need to write the corefoundation reactor, first :) -bob
![](https://secure.gravatar.com/avatar/64e12c52680644f0557961c931e50f7d.jpg?s=120&d=mm&r=g)
Glyph Lefkowitz wrote:
<chime chime> I mentioned in the past a concern that the default SelectReactor was being created with default variables that bind to globals for the read and write lists that are passed to select.select(). Among other things, it's ugly as sin, probably doesn't help performance much anyway, prevents creating multiple *separate* reactors (very useful in, for example, proper unit and acceptance testing), and has caused us at least some trouble with respect to stopping and restarting reactors (because the globals aren't cleaned out properly at any point). (Disclaimer: these comments are not based on the current Twisted, but release 1.0.3 or 4, as I recall, but if this part has really been "stable" then I doubt anything has changed much here.) The last (first) time I suggested changes, the answer was a fairly clear "we don't plan to change this ever", but if there's any willingness to consider changes, then even the core reactor might not be considered "extremely stable" at this point. -Peter
![](https://secure.gravatar.com/avatar/d7875f8cfd8ba9262bfff2bf6f6f9b35.jpg?s=120&d=mm&r=g)
On Wed, 06 Aug 2003 14:20:45 -0400 Peter Hansen <peter@engcorp.com> wrote:
The internals may change in this case, but the *API* will be identical. So as far as users of Twisted are concerned it won't matter. -- Itamar Shtull-Trauring http://itamarst.org/ Available for Python & Twisted consulting
![](https://secure.gravatar.com/avatar/64e12c52680644f0557961c931e50f7d.jpg?s=120&d=mm&r=g)
Itamar Shtull-Trauring wrote:
There's certainly little need for an API change to make this work better, except for the odd existing method which does not take an external reactor argument but simply finds the global one magically and uses it. I believe there was a transition happening to clean this up so that all such methods allowed a reactor to be passed in, so other than this aspect, I agree no API change should happen (nor is one needed). -Peter
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Monday, July 28, 2003, at 01:20 PM, Gary Poster wrote:
The whole point of those discussions has generally been that the current structure is important to make relicensing a possibility :-). While twisted as a whole is being very actively (one might even say "agressively") developed, some portions of the framework, like the core reactor, seem to be extremely stable at this point. (Please, chime in if you disagree.) I have been considering approaching the Python team to ask about relicensing / including portions of twisted.internet in core Python at some point, since it seems to have eclipsed asyncore in terms of popularity, but I am sure that such discussions would be fraught with subtle corner cases and versioning issues, and I am very, very short on time at the moment. However, if another member of the Twisted team would like to take up this discussion, either about core Python or about Zope 3, I'd be more than willing to appoint a proxy.
![](https://secure.gravatar.com/avatar/3a7e70f3ef2ad1539da42afc85c8d09d.jpg?s=120&d=mm&r=g)
On Mon, Jul 28, 2003 at 11:16:22PM -0500, Glyph Lefkowitz wrote:
I dread the day that parts of Twisted start making it into Python core. If it ever does, though, I want to "brute-force" the versioning issue and put it in a top-level package with a name other than "twisted" (And I'm sure Guido would agree, as he doesn't like names like "twisted" and "optik"). That way if we continue to develop bits that are also in Python, there will be no versioning clashes. We've all seen this issue with the (*flinch* *flinch*) `xml' package. -- Twisted | Christopher Armstrong: International Man of Twistery Radix | Release Manager, Twisted Project ---------+ http://twistedmatrix.com/users/radix.twistd/
![](https://secure.gravatar.com/avatar/e1554622707bedd9202884900430b838.jpg?s=120&d=mm&r=g)
On Monday, July 28, 2003, at 11:28 PM, Christopher Armstrong wrote:
I dread the day that parts of Twisted start making it into Python core.
Why? The core reactor is pretty stable, pretty small, and now people who have expressed distress at the state of other portions of Twisted want to use it.
Agreed.
(And I'm sure Guido would agree, as he doesn't like names like "twisted" and "optik").
Maybe we can call it 'reactor.*'? (Or, for all you Sw. Eng. fans out there, "patterns.reactor.*" :-))
Yes, please, let's let application authors choose WHICH version of this they want to run with; ostensibly the core Python version would be much more stable, and upgrades to it could happen with excruciating attention to backwards compat.
![](https://secure.gravatar.com/avatar/d7875f8cfd8ba9262bfff2bf6f6f9b35.jpg?s=120&d=mm&r=g)
On Tue, 29 Jul 2003 09:25:47 -0500 Glyph Lefkowitz <glyph@twistedmatrix.com> wrote:
Up to a point, we've still been fixing bugs left and right. Obscure bugs, but bugs none the less. And the SSL refactor was not too long ago (Two months ago?). When we haven't made any major changes for 6 months, then we can talk about it.
![](https://secure.gravatar.com/avatar/b932b1e5a3e8299878e579f51f49b84a.jpg?s=120&d=mm&r=g)
On Tuesday, Jul 29, 2003, at 00:16 America/New_York, Glyph Lefkowitz wrote:
the organization of twisted.internet is the suck
Some of twisted should go into core Python, perhaps for 2.4.. but we should have better non-select reactors (win32, wx, qt, corefoundation, etc.) and cleaned up organization first. Of course, I need to write the corefoundation reactor, first :) -bob
![](https://secure.gravatar.com/avatar/64e12c52680644f0557961c931e50f7d.jpg?s=120&d=mm&r=g)
Glyph Lefkowitz wrote:
<chime chime> I mentioned in the past a concern that the default SelectReactor was being created with default variables that bind to globals for the read and write lists that are passed to select.select(). Among other things, it's ugly as sin, probably doesn't help performance much anyway, prevents creating multiple *separate* reactors (very useful in, for example, proper unit and acceptance testing), and has caused us at least some trouble with respect to stopping and restarting reactors (because the globals aren't cleaned out properly at any point). (Disclaimer: these comments are not based on the current Twisted, but release 1.0.3 or 4, as I recall, but if this part has really been "stable" then I doubt anything has changed much here.) The last (first) time I suggested changes, the answer was a fairly clear "we don't plan to change this ever", but if there's any willingness to consider changes, then even the core reactor might not be considered "extremely stable" at this point. -Peter
![](https://secure.gravatar.com/avatar/d7875f8cfd8ba9262bfff2bf6f6f9b35.jpg?s=120&d=mm&r=g)
On Wed, 06 Aug 2003 14:20:45 -0400 Peter Hansen <peter@engcorp.com> wrote:
The internals may change in this case, but the *API* will be identical. So as far as users of Twisted are concerned it won't matter. -- Itamar Shtull-Trauring http://itamarst.org/ Available for Python & Twisted consulting
![](https://secure.gravatar.com/avatar/64e12c52680644f0557961c931e50f7d.jpg?s=120&d=mm&r=g)
Itamar Shtull-Trauring wrote:
There's certainly little need for an API change to make this work better, except for the odd existing method which does not take an external reactor argument but simply finds the global one magically and uses it. I believe there was a transition happening to clean this up so that all such methods allowed a reactor to be passed in, so other than this aspect, I agree no API change should happen (nor is one needed). -Peter
participants (6)
-
Bob Ippolito
-
Christopher Armstrong
-
Gary Poster
-
Glyph Lefkowitz
-
Itamar Shtull-Trauring
-
Peter Hansen