The initial move means outsiders will be able to . That practice isn't a guarantee for success, but it has worked well with other open-source projects such as Linux and Apache. Linden Lab Chief Technology Officer Cory Ondrejka hopes initially for bug fixes and a better Linux version of the software, but in the longer run expects more significant changes.
"It's pretty clear when building something as open as Second Life, you want the product itself to be open," Ondrejka said. Second Life participants already have written millions of lines of script code to control Second Life objects, he said. "It would be a little silly to not allow that talent and energy to be applied to the client (viewer software) itself."
Second Life is a virtual world where people's electronic incarnations--called avatars--can chat, fly, buy goods and interact with programmable objects. Basic membership is free, but Linden Lab sells real estate to those who want to set up shop.
The release means that Linden Lab has begun a move across a philosophical chasm of the software industry. On one side are proprietary software companies such as Microsoft, which can control and sell their products. On the other are open-source organizations and companies willing to accept unfettered distribution of software but betting on advantages of outside involvement and the possibility of fast, broad adoption.
Linden plans to eventually make the server software that powers its grid open-source software as well, Ondrejka said, though he said Linden will proceed cautiously and gave no deadlines.
"We do think that in the long run, Second Life makes much sense as an open-source project," he said, arguing that an open-source server project will increase the scale of the Second Life project and Linden Lab revenue. "There are plenty of opportunities for revenue even if the entire kit and caboodle is open-sourced. But we want to be careful about that."
Not all are convinced that opening the server side of Second Life makes financial sense for Linden. "Server-based virtual worlds reliant on subscription fees aren't a good match for a fully open-source business model," said Raven Zachary, an analyst for the 451 Group. "The value to the vendor is in restricting access at some level to the worlds themselves."
But Ondrejka said there's a "long list" of revenue possibilities. "There are lots of ways to make money on the Web that have nothing to do with hosting--domain registration, search, services."
Linden Lab released the viewer software under the, the license that governs the Linux kernel, Samba file server software, the MySQL database and thousands of other projects. The GPL requires that anyone may see, modify and distribute a program's underlying source code, but anyone who distributes the modified software must make the changes publicly available.
Linden Lab will vet all outside contributions and maintain control of an official version of the viewer software, the company said. Programmers must sign a contributor agreement to submit code.
By signing the contribution agreement, a programmer agrees to assign joint copyright to Linden Lab and grant Linden Lab and anyone who receives the code a patent license relating to use of the code. With Linden Lab owning copyright, it will be permitted to change licensing terms if it desires.
Changing licenses is a very real issue. Like, the Second Life viewer is licensed only under version 2 of the GPL, Ondrejka said. That means that moving to , would require an active decision by Linden Lab.
"It was the conservative decision and gives us the most options going forward," Ondrejka said of the licensing decision. "The GPL...gives us the most options down the road. It is, in many ways, the purest of the open-source licenses. If we decide down the road also to potentially allow less restrictive open-source licenses, it's easier to go in that direction than to have started with, say, the BSD license."
Linden Lab's open-source move is "embracing the inevitable," as the company said on its blog. Netscape may have been desperate when it decided to make its Web browser open-source, but "we are not desperate, and we welcome the inevitable with open arms," Linden Lab said.
Open-source viewer software was becoming a reality regardless of Linden Lab's choice. A project called libsecondlife has been working to deduce the protocol that governs how the viewer communicates with Second Life servers.
A major revamp
Linden Lab's open-source move comes at an important time for the company as it wrestles with and a major architectural revamp of its virtual realm.
The company built much of Second Life's inner workings on proprietary communication protocols, but it's moving to standard ones such as XML (Extensible Markup Language) for sending messages on the HTTP (Hypertext Transfer Protocol) used to transmit Web pages.
One advantage of the new architecture will be that Linden Lab will be able to upgrade a few servers at a time and that clients will also be able to move to new viewer software at their own pace. Today, the entire Second Life grid must be taken down and all viewers must be updated to update the virtual realm. Another advantage will be that Second Life will be able to employ the broad technology already designed around Web standards, Ondrejka said.
One change that will come with the new interface is the ability to run scripts on Novell's Mono software, an open-source implementation of Microsoft's .Net programming project. Mono runs scripts much faster than Linden Lab's current approach, so the shift will mean more sophisticated programming.
"Say you want to make an AI (artificial intelligence object) that responds to somebody coming into your store...or make a tour guide that's really good and interactive to a wide variety of stimuli," Ondrejka said. Today, "Linden Scripting Language doesn't have sufficient performance to make that very intelligent."
The new moves lead Ondrejka to expect people will develop software that can fetch information from Second Life without actually being a full-fledged 3D graphical viewer.
"We expect to see more ways to peer into Second Life or extract data from Second Life," Ondrejka said.