[Twisted-Python] PB and other distributed object protocols

Stephen Waterbury golux at comcast.net
Sat Jun 17 13:40:54 MDT 2006


glyph at divmod.com wrote:
> On Thu, 08 Jun 2006 09:30:17 -0400, Stephen Waterbury 
> <golux at comcast.net> wrote:
>> Thomas Vander Stichele wrote:
> 
>>> At the risk of being too obvious, we've been using PB as shipped with
>>> Twisted since 1.3.0, and it's worked very well for us.  Are you saying
>>> there's specific stuff you need from newpb that's not in the current
>>> implementation ?
> 
>> Yes:  forward compatibility.  ;)   I've written PB code, too, and that
>> code doesn't work with newpb.  Not that I would expect it to, given the
>> fairly substantial changes Brian made in developing newpb, nor do I
>> think it would be good to have that as a constraint on newpb.
> 
> I think I actually disagree.  If it's going to be called "PB", it should 
> be compatible, in some way, with the existing "PB" infrastructure.  
> Maybe not if you wrote insanely complex custom side-effecty custom 
> jelliers, but at least you should be able to port fairly easily.

Glyph, thanks for (finally ;) chiming in on this one!
I'm happy to hear that PB1 -> PB2 ports shouldn't be too hard ...
so I'll just shut up and use PB1.  :)

> While wire-level compatibility might be desirable, I think that 
> application-level compatibility should actually become a requirement.  
> As you note, Steve, the only thing that the promise of a PB2 that will 
> be totally incompatible with PB1 is doing is discouraging people from 
> looking at either right now.

Well, it had definitely discouraged me from using PB1, partly because
Brian's commit messages were always so cogent and PB2 sounds so great,
I just thought damn, well I'll wait for that ...

> Other applications are already using PB though, and many are doing it to 
> good effect.

Thanks -- another important thing to know.  (I admit, I'd probably
be more au courant if I'd tune in to irc once in a while!)

> So let me say this as unambiguously as possible:
> 
> PB1 is still supported, and until further notice, it will continue to 
> be.  PB2 is still experimental and is *not* yet supported.  We might not 
> have a lot of development bandwidth to spend on PB1, but bugs are still 
> being fixed, deprecations removed, and APIs updated to reflect the 
> modern state of Twisted.
> 
> It can be updated and fixed incrementally while we wait for the Great 
> Revolution of PB2.  Perhaps we can even start making the various APIs 
> converge, so that the migration process will be smoother.
> 
> This isn't a new decision or announcement, just a statement of the 
> current state of affairs.

Well, it certainly was a much-needed clarification, IMO, and it
helped my decision a great deal.  Thanks!

> ... Brian has been very clear about PB2's 
> experimental status all along.

Agreed.  What I was not obvious was how long it would remain
experimental.  I can bleed for a while, but it's nice to have
some idea of how many pints I'll need ... ;)

> ... Maintenance on PB1 never stopped.  JP, 
> for example, just recently removed a bunch of grotty old-cred stuff 
> (hallelujiah it's gone) from PB1.

Right -- thanks, JP!  I do monitor commits, so I was aware that PB1
was being maintained, which is important for my decision.

> It just seems like because there's 
> this new direction, everyone tacitly assumes that the old stuff will be 
> dropped -- Twisted has an unfortunate history as such things go, but we 
> are getting better about it.

Also agreed -- and I'm very happy to see Twisted continuing its
steady evolution, and now a mainstay among Python libraries.  Kinda
validates my original judgment that it would be -- thanks to the
whole Twisted community for that, especially Glyph and the core
minions (you know who you are :).

Cheers,
Steve





More information about the Twisted-Python mailing list