[Twisted-Python] PB and other distributed object protocols
golux at comcast.net
Sat Jun 17 15:40:54 EDT 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 :).
More information about the Twisted-Python