Web properties used to treat open source as a resource to be strip-mined. Increasingly, however, successful Web companies like Google and Facebook are giving back, helping to replenish the open-source ecosystem from which they derive so much value.
Facebook and Apacheannounced on Tuesday that it is becoming a "gold" sponsor of the Apache Software Foundation, expanding its open-source investments from code to cash.
Facebook arguably couldn't exist without open source. As David Recordon, Facebook's senior open programs manager, told me by phone on Monday and writes on Tuesday, Facebook owes a lot (and gives a lot) to open source:
From the day Mark Zuckerberg started building Facebook in his Harvard dorm room in 2004, the [Facebook] site has been built on common open source software such as Linux, Apache, memcached, MySQL, and PHP. In that time, we've open sourced more than 20 different technologies, and scaled Facebook to reach over 350 million people around the world....
[I]t's not possible to scale a site like Facebook simply by sharding your databases, but rather takes a combination of specialized technologies. Open source allows us to not just to make technologies like memcached scale beyond its original intent, but to release technologies like Thrift for others to build upon as well.
Take Hadoop, an Apache Software Foundation technology used and initially developed by Yahoo, Facebook, and others to scale their operations. Facebook uses and contributes to Hadoop, but also initiated an Apache Software Foundation-hosted subproject called Hive, a "petabyte scale data warehouse" technology.
Facebook joins Hewlett-Packard in sponsoring the foundation at the gold level. (Google, Microsoft, and Yahoo are the "platinum" sponsors.) The cost of gold sponsorship is $40,000 per year and provides little tangible benefit to the sponsoring organization beyond a logo on the foundation's Web site and a quotation for a press release.
If that seems skimpy, sponsors like Facebook aren't generally looking to advertise or get other quid pro quo benefits through sponsorship.
Among other reasons cited by Recordon, Facebook is contributing both code and cash to Apache because the foundation provides a forum in which Facebook is able to engage different ideas on code direction and development. It's also a way of feeding an ecosystem that has brought so much value to Facebook.
Indeed, Recordon noted that it's sometimes hard to know in advance how Facebook or the wider open-source community will benefit from its contributions. He cited the Cassandra project, similar to Google's Bigtable technology, which Facebook seeded but which Rackspace and Twitter have advanced.
Intriguingly, Facebook, like Google, increasingly defaults to the Apache Software License.
Given that Facebook and other Web companies aren't subject to the requirements of traditional open-source licensing (i.e., since they don't actually distribute software they are not required to contribute back), one would assume they would either a) not contribute back at all or b) contribute under a variety of licenses, given that any of the traditional open-source licenses is effectively a blanket license to use the software in a hosted environment however one wishes.
Facebook prefers Apache, according to Recordon, because it encourages frictionless adoption, a theme. According to Recordon:
Apache is our preferred license. We really like Apache because it's easy to understand (non-lawyers can understand it) and includes clear patent rights language. Plus, Apache's contributor license agreement works nicely with it. We'd like the contributions we make to be used as widely as possible, which is more likely to happen with a license that is easy to use and understand.
I've BSD on the Web, but apparently Facebook and its peers think that Apache/BSD is the new Apache/BSD.that theGPL is the new
Regardless, Facebook's gold sponsorship of the Apache Software Foundation is a coup for open source, and a signal to its peers: it's not enough to simply build on open-source software. You also have to give back.