Tuesday, June 3, 2008

Facebook Open Sources Platform

I just got a call from Ami Vora of Facebook, who has corrected me on following the advice of this other article - http://ostatic.com/163756-blog/cpalss-whats-thatss#rss. Apparently the CPAL only applies to open sourcing the files that are changed. So if a class is extended, or the database access logic is put into an API call, then that gets open sourced under the CPAL as well.

Facebook’s use of the CPAL open source license is a step in the right direction. We love the fact that the community is required to donate changes back to the open source project. This is the reason we use the LGPL at Ringside.

The downside of the CPAL is the requirement to give attribution. This means a little Facebook badge comes up on all websites that use the Facebook software. This makes sense from a Facebook perspective because it helps them to build their brand in return for donating their software. On the other hand, if every open source project required this, then there would be nothing on web pages except logos – Linux, Apache, MySQL, PHP, Tomcat, JBoss, Spring, Zimbra, Postgres, Lucene, MediaWiki, Firefox, etc., etc.

It will be interesting to see if MySpace is anxious enough to run the 26,000 Facebook Applications on their social network to actually put up a little Facebook logo on their website…


Facebook continues to look like the Microsoft of the Social Networking industry with this latest move of creating an open source project – fbOpen. Open, but not really.

The license they chose is CPAL, and there is an excellent review of what this means at http://ostatic.com/163756-blog/cpalss-whats-thatss#rss. The poison pill in this license agreement is that anyone using the Facebook code as part of something else and puts that up on a website would need to make all of the code open source. So if MySpace used this code to support Facebook applications, then MySpace would have to open source their entire platform (unless Facebook cuts a private deal with them).

This says that Facebook only wants developers to see the code for the sole purpose of making Facebook applications that run on Facebook.

Until further clarification from Facebook, Ringside will keep our Facebook API implementation free from any of this viral CPAL code that Facebook has released. The LGPL license we use lets anyone use and embed our Facebook API, JS, FQL and FBML implementations in whatever way they want without any obligations other than if they change our code they contribute those changes back to the community.

My suggestion is to let your voice be heard by Facebook to make their platform true open source either with LGPL or with Apache license as the Open Social reference implementation Shindig does. We had all expected more from Facebook, and this is truly disappointing.

No comments: