Sunday 17 February 2008

OpenSim and realXtend

This started out as a comment I was writing in response to Robby's post about realXtend joining OpenSim. It grew so large I decided it was probably a better idea to post it here.

It will be interesting to see how Linden Lab reacts to this. I'm sure most of the features realXtend will bring are ones that LL would love to have in their own server code. OpenSim is released under the BSD license, which is one of the least restrictive open source licenses out there. It looks like the license only requires that any code or binary distribution be unrestricted in terms of copying and redistribution, and carry the same license.

BSD License:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the OpenSim Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.


But here's the thing: LL doesn't distribute their server code or binaries; they run them on their own servers. I'm not a copyright lawyer or anything, so I'm probably wrong, but it seems like LL might be able to incorporate the OpenSim code into their own server code without really having to publicly release it. That seems a little fishy to me, but I know that the BSD license is often criticized as not being a true free software license, and maybe this is why.

From the Wikipedia article on the BSD license: "The BSD License allows proprietary commercial use, and for the software released under the license to be incorporated into proprietary commercial products. Works based on the material may even be released under a proprietary license (but still must maintain the license requirements). Some notable examples of this are the use of BSD networking code in Microsoft products, and the use of numerous FreeBSD components in Mac OS X."

I'm a strong supporter of open source software, but the problem with OpenSim is that while they are going to be adding all these exciting features, there's probably not going to be a grid running OpenSim anytime soon that has the resources to support 60,000 simultaneous logins. That's why I'm kind of hoping for LL to "steal" the code (it's OpenSim's fault anyway...everyone knows you're supposed to use the GNU Public License :P)

5 comments:

Anton said...

To me the BSD licensing of OpenSim is probably one of the best features.

I believe the purpose of the project is to promote a technology. Whether that technology eventually ends up being used in a closed source solution or closed source solution; for free or for profit is inconsequential; as long as the technology gets promoted.

The library it self is designed to be highly and easily extendable, again based on a goal of easy adoption of the technology.

Finally one minor observation, under the law in my country, the GPL only relates to distribution of software, not the use. This means that you can modify the GPL'ed software, and deploy it on publicly available servers. So even if OpenSim were under GPL, Linden Labs would still have the option of using OpenSim.

Colin said...

Part 6.D of the GPL allows someone to "convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge." This is the part that I think would refer to LL running OpenSim code on their servers (if OpenSim was GPL'd), and requires that if they do that they allow access to the source code. Since they are a U.S. company, I'd expect that they would have to follow the U.S. copyright laws, which generally honor open source licenses. I think that if OpenSim used the GPL, LL would have to release their server code if they wanted to use it.

I can see advantages to using either license. Using the GPL license might pressure LL into releasing their server code so they can incorporate OpenSim code, which I think is better than if they kept it proprietary and used OpenSim code under the BSD Licsense. However, the GPL might also just cause LL to not touch OpenSim's code at all, which I think is the worst possible outcome.

Anonymous said...

I'm pretty sure that LL would not have to release their server code if they incorporate GPL in it. The reason for this is that they do not distribute the code, they just run it on their own servers. If they were ever to distribute the server software, then they would have to release the code if they use any GPL code, but if they don't distribute binaries then they can use as much GPL code as they want in their server code without having to release anything.

Anonymous said...

What phrase...

Anonymous said...

I can speak much on this question.