This is very cool but forking your open source project like this strikes me as very poor open source behavior. Now there's Thrift and FBThrift. It would have been much better to have integrated improvements back into the open source Thrift project incrementally.
I used to be all about Thrift. I first started using it back in 2008 and thought it was awesome for a long time. While it clearly works for Facebook (and many others), I've always had little problems with it. Connections silently fail (next request times out, following requests work again) if you don't make a call in long enough with some of the bindings. Generated servers sometimes leak memory. The type system is nice but creates all kinds of headaches when trying to reconcile it with something idiomatic in different languages. When many different services need to talk to <i>each other</i> it requires a lot of connections, each of which I came to view as a liability. Thrift's semantics are actually underspecified (<a href="http://twitter.github.io/scrooge/Symantics.html" rel="nofollow">http://twitter.github.io/scrooge/Symantics.html</a>) so Twitter, who uses Thrift, came out with Scrooge, which is mostly compatible but not always.<p>My lesson was that Thrift is great if you have people who can look after it all the time. Thrift connections were never something you could forget about for a little while if you had a small team, though.<p>We've been moving away from Thrift towards a message queue-based system (using RabbitMQ) that lets us do everything Thrift does and more, and works every time. It used to be so nice to start a new service by writing the IDL and getting everyone to agree on a clean, well-bounded interface. Facebook forking their own project is kind of a last straw for my faith in Thrift, though. Oh well.