Open-sourcing Facebook's internal branch of Thrift
code.facebook.com
code.facebook.com
This is just wasteful behavior. Why would anyone try to work with you to build community around this code? Why should anyone trust that you won't just abandon this fork's community and then come out with another full rewrite in a few years time from your silo?
Working exclusively through open source communities like the ASF can slow you down sometimes, so if you need to iterate quickly on something sometimes the upstream review or release process isn't appropriate - even though it might require more work later. They're still open-sourcing their technology, and intend to move it back to the original project. What more can you really ask them to do?
Nothing, of course. But it would certainly be wise for anyone to relying on their code to reconsider: if you try to participate in the community, you may simply be wasting your time.
But the fact that they've open sourced that fork, and are working to get changes merged upstream is great news. It's far better behavior than many other companies: Oracle, IBM and Sun all come to mind.
Personally I commend Facebook for their recent open source contributions. Sure, they suffer from bunker syndrome, but that seems to be par for the course for these sorts of companies. Just look at Android for another example of code-drop Buckaroo.
> Many of the changes depended on things that weren’t open source, or only recently became open source in folly.
Is "folly" some sort of jargon I'm unfamiliar with here, or does this literally mean that some things were foolishly open sourced recently due to a lapses of good sense?
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.
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.