Matt Asay of C|Net has an article entitled Facebook adopts the CPAL poison pill where he writes

Instead, by choosing CPAL, Facebook has ensured that it can be open source without anyone actually using its source. Was that the intent?

As OStatic explains, CPAL requires display of an attribution notice on derivative works. This practice, which effectively requires downstream code to carry the original developer(s)' logo, came to be known as "badgeware." It was approved by the OSI but continues to be viewed with suspicion within the open-source community.

I've written before about how most open-source licenses don't apply themselves well to the networked economy. Only the OSL, AGPL, and CPAL contemplate web-based services. It's not surprising that Facebook opted for one of these licenses, but I am surprised it chose the one least likely to lead to developers actually modifying the Facebook platform.

If the point was to protect the Facebook platform from competition (i.e., derivative works), Facebook chose a good license. If it was to encourage development, it chose the wrong license.

But if the purpose was to prevent modifications of the platform, why bother open sourcing it at all?

I've seen more than one person repeat the sentiment in the above article which leaves me completely perplexed. With fbOpen Facebook has allowed anyone who is interested to run Facebook applications and participate in what is currently the most popular & vibrant social network widget ecosystem in the world.

I can think of lots of good reasons for not wanting to adopt fbOpen. Maybe the code is in PHP and you are a Ruby On Rails shop. Or maybe it conflicts with your company's grand strategy of painting Facebook as the devil and you the heroes of openness (*cough* Google *cough*). However I can't see how requiring that you mention somewhere on your site that your social network's widget platform is powered by the Facebook developer platform is some sort of onerous POISON PILL which prevents you from using it. In the old days, companies used to charge you for the right to say your application is compatible with theirs, heck, Apple still does. So it seems pretty wacky for someone to call Facebook out for letting people use their code and encouraging them to use the Facebook brand in describing their product. Shoot!

The premise of the entire article is pretty ridiculous, it's like calling the BSD License a poison pill license because of the advertising clause. This isn't to say there aren't real issues with an advertising clause as pointed out in the GNU foundation's article The BSD License Problem. However as far as I'm aware,  adopters of fbOpen don't have to worry about being obligated to display dozens powered by X messages because every bit of code they depend on requires that it is similarly advertised. So that argument is moot in this case.

Crazy article but I've come to expect that from Matt Asay's writing.

Now Playing: Eminem & D12 - Sh*t On You


Friday, June 6, 2008 6:42:12 PM (GMT Daylight Time, UTC+01:00)
I agree that it isn't about the "advertising clause" but am unfortunately having a hard time believing fbOpen was released in such a way as to encourage third party usage in production environments. More thoughts at
Friday, June 6, 2008 8:53:11 PM (GMT Daylight Time, UTC+01:00)
I had a short comment that turned into a post instead,
Saturday, June 7, 2008 8:23:27 AM (GMT Daylight Time, UTC+01:00)

There are some Javascript errors on this page because of the ' (single quote) in the post title :-(
When this title is used for some services (like reddit now, and very probably coComment before you removed it), it can make cause some fatal errors in the integration.
There are some tricks to avoid such errors in JS: please fell free to contact us if you need some help: christophe _AT_ or integration _AT_

Saturday, June 7, 2008 1:47:13 PM (GMT Daylight Time, UTC+01:00)
I agree with you.

Also, I think that a lot of companies (Microsoft included) should learn from Facebook: Facebook releases their libraries and tells you that those CAN be embedded in any kind of application, also re-distribute it inside of any-kind-of-license program (see for example this Wordpress plugin - all plugins hosted at must be GPL).

By not enforcing limits and constraints, Facebook encourages people to actually WRITE stuff for their platform.

Now, I am no lawyer and licenses are no simple matter, but for what I understand by reading the License terms for Live ID SDK sample code, I get that they can't be embedded in GPL or other "viral" licenses:

DISTRIBUTABLE CODE. If the SDK contains redistributable software code, You are permitted to include such code in Authorized Applications if You comply with the terms below.
i.Right to Use and Distribute. You may copy and distribute the object code form of code listed in REDIST.TXT files, if any. You may modify, copy, and distribute the source form of code marked as “sample” in the SDK. Such code is “Distributable Code.” You may permit distributors of Your Authorized Applications to copy and distribute the Distributable Code as part of those applications.
ii.Distribution Requirements. For any Distributable Code that You distribute, You must

* require distributors and external end users to agree to terms that protect it at least as much as this agreement; and
* indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of Your applications.

iii.Distribution Restrictions. You may not

* alter any copyright, trademark or patent notice in the Distributable Code;
* use Microsoft’s trademarks in Your programs’ names or in a way that suggests Your applications come from or are endorsed by Microsoft;
* include Distributable Code in malicious, deceptive or unlawful applications; or
* modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that
- the code be disclosed or distributed in source code form; or
- others have the right to modify it.

Providing a platform is fine, but libraries and sample code are also what SPEEDS UP and ENCOURAGES the use of a certain platform, in my opinion.
If that code spreads and more people use it, the platform can only benefit.
Keeping it closed will mean less people will actually USE it, IMHO.
Saturday, June 7, 2008 3:51:12 PM (GMT Daylight Time, UTC+01:00)
@Daniele: I think it is better to separate discussion of the redistributable libraries from consideration of samples that are provided in source-code form, even though the LiveID SDK license confuses the issue by lumping them together as Distributable Code. (This is not the only Microsoft software where terms of this sort are applied.)

The conditions on redistributables would appear easy to satisfy, even for an open-source use of the redistributables. Whether one could use the GPL that way (as only applicable to the open-source portions of the combined work and not the redistributables) is a matter I will not attempt to resolve. The GPL-using community doesn't like it, but I don't know if that is an actual barrier. In this regard, I note with interest that my copy of inclues the Microsoft .NET Framework Redistributable EULA in its THIRDPARTYLICENSES file. (This EULA does not have the Excluded Licenses clause and it would appear that one is not permitted to extract the Microsoft redistributables from the OO.o distribution and distribute it separately.)

Samples of source code are a different problem. One way this has been dealt with in the past is to distribute DIFFs for any incorporation/adaptation of a sample and to provide information on where another developer could obtain (and license) the relevant source code (the SDK in the LiveID case). In a similar way, the developer working form your code would obtain the needed redistributables directly too.

I agree that this is not the unencumbered happy hacker simplicity that many require. It is someplace in the grey band between locked-down commercial, no peeking, restrictive licenses and an unencumbered use with attribution. As an offer for free use in a way that doesn't dilute the contributor's intellectual property rights, it is not that terrible. We each get to determine whether the glass is half full or half empty, of course.
Monday, June 9, 2008 7:59:52 AM (GMT Daylight Time, UTC+01:00)
Sunday, June 15, 2008 4:49:04 PM (GMT Daylight Time, UTC+01:00)
As the lines blur between “social” networking and “business” networking, I think people are starting to get overly critical of certain applications, systems and resources and forgetting the initial purpose of many of these networking sites – fun. Facebook started as a way for friends to connect with each other … not as a business tool like LinkedIn or any other site that focuses on previous employment and connections made through positions held. I think it’s great that resources like Facebook and even in part Myspace are starting to get more recognition as being valuable ways to connect to potential employment opportunities and professional connections, but I think we probably all need to not lose sight of their initial intent. I agree with you – it’s confusing and frustrating to see people wasting their time critiquing networking sites and other online resources without really thinking about how they have been and can be used.
Comments are closed.