Hacker News new | ask | show | jobs
by djwatson24 4494 days ago
After thrift became an Apache project, internal Facebook employees found it harder to iterate using external tools than our internal github repos. Many of the changes depended on things that weren’t open source, or only recently became open source in folly. We do hope to merge as many changes as possible back upstream, but felt it was more important to get the code open source as quickly as possible. In addition, fbthrift is a dependency for several other projects Facebook wants to open source in the near future.
3 comments

It sounds like a significant amount of the friction may be coming from the Apache Foundation's infrastructure and/or bureaucracy – or am I reading that wrong? It is hard to understand why Thrift isn't hosted publicly on GitHub – especially when Facebook is using GitHub Enterprise internally – unless the choice is political.

> 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?

I'm slightly disappointed that it wasn't meant as a literal folly.
Wouldn't it have made more sense to contribute the changes first, rather than creating a fork of your own project?

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?

It doesn't sound to me like their intention is to build community around this code. In fact they explicitly state their intention to merge everything they can back to Apache Thrift, and the fact that they've been tracking upstream closely.

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?

> 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.

I find the part where they fork their own project darkly amusing.

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.

Google use an internal fork of Protocol Buffers as well. They also have a Protobufs based RPC stack that they've never released.

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.

I hope one of those is Haystack. I've been dying to play around with it. It was originally supposed to be open sourced but they changed their mind.