Wednesday, January 17, 2007

Is Second Life Open Source?

I've finally got around reading the nitty-gritty of the much publicised move by Linden Labs to release an open source version of Second Life. In case you have been living in a cave without a broadband connection, Second Life is a virtual world, more like a giant chat room than a game. It is a place where people go to pretend to be something they're not (much like a busy pub on a Friday night for non-geeks). Second Life has the doubtful honour of having achieved mainstream name-recognition. I believe this is what people who want to sound sophisticated talk about, even though they have never used it. The good thing about Second Life is that they are considered one of the good guys. For example, other games require users to assign the copyright over in-game creations, while in Second Life the user retains ownership over their works, and they can even release them under Creative Commons licences.

Anyway, the big news is that Second Life is now offering the source code for a client to connect to the game. At first glance, this is great news, but I wish that those reporting it would be specific. This does not mean that Second Life is now open source, it just means that one client to connect to the game is open source, there is a big difference in both statements. The source code for the client (called Second Life Viewer) has been released under a modified version of the General Public License. The source code is available for download under the terms of the GPL, with the added exception from the Linden Research, Inc. ("Linden Lab") Viewer FLOSS License Exception v0.5. Linden Labs claims that "those people wanting the freedom to modify and redistribute the Second Life Viewer as open source/free software may do so under the GNU GPL, with a special exception to allow for use with open source licenses that might otherwise be incompatible with the GPL." This sort of language hides the fact that this is a very big modification to the conditions within the GPL.

Those familiar with the terms and conditions of the GPL will know that one of the most important clauses is that further distributions of the software must be released under the GPL, this is known as copyleft. One big problem with the GPL has been to try to determine exactly what constitutes a derivative from the licensed source code, and whether a larger program that contains some GPL'd code has to be released under the GPL. This clause seems to try to get around that question by allowing the code to be modified and distributed under another Free Libre Open Source Software (FLOSS) licence. What the exception does is to allow interoperability, in its own words:

"You are free to distribute a work based on the Program that is formed entirely from the Viewer Software (and any modifications thereof) and one or more works that are independent and separate works not derived from the Viewer Software, and are licensed under one or more of the licenses listed below in section 1 (each, a "FLOSS Work") , as long as:
1. You obey the GPL in all respects for the Viewer Software and any work based on the Program, except for the FLOSS Works, for which you must comply with B below,
2. all FLOSS Works,
1. are distributed subject to one of the FLOSS licenses listed below, and
2. the object code or executable form of the FLOSS Works are accompanied by the complete corresponding machine-readable source code for those FLOSS Works on the same medium and under the same FLOSS license as the corresponding object code or executable forms thereof, and
3. any works that are aggregated with the Viewer Software or a work based on the Program on a volume of a storage or distribution medium in accordance with the GPL, and are not licensed under the FLOSS licenses listed below, are independent and separate works in themselves which are not derivatives of either the Viewer Software, a work based on the Program or a FLOSS Work."
This is a pretty big modification, and I wonder what will the people at the FSF think about it. My view is that this makes the software incompatible with other GPL software, but I would like to see what other people think. I wonder as well why they didn't use another open source licence, or draft their own version. I think that even the LGPL might have achieved similar results.


Taran Rampersad (Nobody Fugazi) said...

Hmm. Part 3 discusses the *works aggregated* (it is a viewer, like a web browser) and parts of the code which are NOT GPL'd...

See, there are some non-GPL'd libraries involved. For the source code of the viewer itself, part 1 is very clear:

"You obey the GPL in all respects..."

The libraries, and the things that are aggregated in the viewer, are not necessarily GPL and have to be looked at on a case by case basis.

I don't think the FSF would have a problem with that.

-- Taran Rampersad

Andres Guadamuz said...

Hello Taran,

That's an interesting point, and I agree, but I think the question of aggregation of non-GPL libraries has been a hot topic of dispute.

I've been thinking how would this clause fare against GPL v3.