[Twisted-Python] Progress report on splitting packages
Clark C. Evans
cce at clarkevans.com
Tue Apr 20 17:56:28 EDT 2004
On Tue, Apr 20, 2004 at 04:21:49PM -0400, Glyph Lefkowitz wrote:
| >We want to allow people to use latest version of Twisted with old
| >versions of other packages. So if the package you use has a major API
| >rewrite, you can still use the old version with the latest and coolest
| >core Twisted.
| In particular, this was a release management problem for Divmod,
| because we've been making changes to the imap4 code (which is in the
| "protocols" package), that our code depends on, but we can't release
| all of Twisted at once fast enough to roll out a minor change, because
| going through the full QA process for the whole system takes too long.
| We are trying to decouple things more so that a project which requires
| bugfixes in twisted.web doesn't accidentally suck in in-progress
| changes to the reactor as well.
This seems the driving reason. What ever choice is made, it should
be there to support this need.
1. I think it is best to stick with one top level
package name. Splitting twisted.* into
twisted and tmlabs or whatever dillutes the
value of the overall product and creates
2. Overall, naming should be as boring as possible
so that what is being implemented is clear,
'ssh' is better than 'consh'. Also, while more
than one implementation is the 'open source'
way of doing things, more than one way in the
twisted project, imho, is not a great idea
(it dillutes the marketing value)
3. If release management is causing this distinction,
I suggest making up sub-packages:
<other RPC stuff>
twisted.database. <database stuff>
(other othgogonal non-protocol libraries)
4. In particular, I don't see that "enterprise" and
"jelly+spread" are any more 'core' than jabber... ;)
Sorry for being so boring.
More information about the Twisted-Python