[Twisted-web] Re: [Nevow-commits] r3904 - server-side (fragment) nesting, and convenience descriptor generator

glyph at divmod.com glyph at divmod.com
Fri Jan 13 11:35:47 MST 2006

On Fri, 13 Jan 2006 14:58:24 +0100, Andrea Arcangeli <andrea at cpushare.com> wrote:
>On Thu, Jan 12, 2006 at 11:43:12PM -0500, Jean-Paul Calderone wrote:

>> <http://divmod.org/trac/browser/trunk/Epsilon/epsilon>

>This lib totally depends on twisted, so IMHO it has to go in twisted SVN
>repository. Otherwise why don't you move twisted.flow into divmod

If twisted.flow had been written by Divmod, for Divmod projects, that's where it would be.  Since it was written by a Twisted developer, before Divmod existed, it went into Twisted - but since it's not being used by any Twisted projects it is actually going to move out of Twisted into its own repository at some point.  (It definitely won't be in the next full-Twisted release.)

>> Well, I doubt we're ever going to optimize for that :)

>Not everyone uses apt.

Ah!  We have identified the real problem ;-)

>For istance the only thing I upgrade in my server
>is the python stack and the kernel and I use the core repositories for
>that. Nothing else get updated (modulo the critical security updates).

Strangely enough, that's how apt works, if you run a stable debian or ubuntu distribution.  They even have a phrase for it - a distribution is stable and released if it is "security supported", because it is only receiving security updates.

>But to me it's also a means of avoiding unnecessary steps, when this
>thing is a twisted utility lib, it can go inside twisted repository just
>fine, people will split the packages anyway, you already depend on
>twisted.web so what, just add the dependency on twisted.epsilon, not
>such a big deal, requiring a separate epslion package that infact
>depends on twisted would be even confusing, so distro will make
>twisted-epsilon not just epsilon.

Releasing Twisted projects is more work than releasing Divmod projects, because there is more infrastructure involved.  All code in Twisted must support Python 2.3.  Divmod sets the minimum requirement at 2.4, and will move to 2.5 sooner after it's released.  It has a smaller user-base, it is generally accepted to be less stable.

Epsilon specifically contains code to 'hot fix' certain critical issues in Twisted releases so we do not need to depend upon Twisted trunk, and can be more flexible about what's installed on a user's system.  Putting it into Twisted would have the effect of blocking all Divmod releases on Twisted releases, which is exactly not the point.

Some of epsilon will move into Twisted at some point in the future.  Such a move has a non-trivial cost in management overhead.

>> That said, I don't think you need to worry about an Epsilon dependency.

>That's better indeed.

Despite what I said above, it sounds like Combinator (the Divmod project which manages your Python path and automatically integrate our multi-project repository into one PYTHONPATH entry) and an SVN checkout would be the way you'd prefer to manage your deployments rather than actual releases.

That's cool, and in fact it is probably the best-supported option at this point - but it is an unusual preference.  Most people want to work with stable, released versions, with well-defined upgrade paths :).

>>From an usability standpoint it makes not much difference given I
>already track both twisted and divmod repository, but I believe
>twisted.epsilon is more appropriate.

It really doesn't make any sense to me why you think so.  At any rate, it's not going to move there, period.  A large portion of the reason Epsilon exists at all is that many of its modules *can't* move into Twisted (for various reasons listed above), and it is a lot easier to just check them into the Divmod repository and work on them there than to have a long, unrepsonsive discussion with the whole Twisted user-community about whether anyone needs us to not use feature X or version Y.

>Another question is why you separate twisted and divmod repositories,
>what's the point? Since you seem to own both of them, why don't you just
>move all stuff in twistedmatrix.com into divmod repository? What's the
>need of this separation? The website can stay, I mean the development

I am the CTO of Divmod (at least I think that's my title, I'm never quite sure).  I am also the leader of the Twisted project.  I try to keep those responsibilities as separated as I can, which is a big challenge.  You are the first person who has suggested that I should intentionally confuse them and subvert Twisted for Divmod's commercial gain.  ;-)

>My suggestion is a single SVN like this:
>	Twisted/twisted/
>	Twisted/twisted/epsilon
>	Twisted/twisted/flow
>	Zope/Interfaces (twisted readonly copy)
>	Nevow/nevow
>	Nevow/formless
>	Nevow/forms
>	Axiom/
>	WhateverDivmodOpenSourceProject

Twisted's SVN layout should change sometime soon to break out into more top-level directories like Divmod's, just to make packaging easier; however, what you suggest will almost certainly never happen.  The Divmod code just has a different set of requirements driving its development.

>Keep up the great work!

Thank you :).  You too!

More information about the Twisted-web mailing list