A second life for 'Second Life' with open source?
- — 03 November, 2007 03:22
"[Advanced Micro Devices], who own ATI, often speak about how they want to improve their OpenGL support and their Linux drivers in general, but it all seems to be talk. ATI drivers have remained a very sore point for any OpenGL application, such as Second Life," Giglio says.
The Linux client team has been working around such problematic driver issues primarily by collecting feedback from testers. Because the Linux demographic is a minority in Second Life, many of them have become testers providing invaluable data simply by using the Linux client.
"Our Linux-using residents are among our most hands-on, which is especially significant, given how much creation occurs in and around the Second Life platform every day," Tofu says. "Personally, the most awesome thing I've seen the Linux Second Life community consistently do is help each other running and making the most of Second Life."
Hearing from other people, like Lerwick, who have distribution-specific packaging skills is particularly needed right now. "It'd be terrific to get Second Life into the various upstream distribution channels where feasible, or at least make distro-specific installation smoother for the many distros out there. Clearly, we should have Second Life 'just work' for as many users as possible," Tofu says.
Though their dealing with the graphics drivers is limited, the Linux client team's other development efforts focus on replacing the other proprietary dependencies with open source ones: OpenAL is being ported to replace the FMOD sound-effects system, for one. The team also wants to implement open alternatives to Vivox, used for voice chatting, and SpeedTree (for rendering virtual trees and plants.
One proprietary library that's still in use is Kakadu Software's product, which supports JPEG2000. The open source alternative, OpenJPEG, is catching up, however. "It's just not as fast as Kakadu right now, and Second Life decodes a lot of JPEG2000 textures," Giglio says. "When Second Life was first open sourced, OpenJPEG was very unsuitable, but it has improved a lot due to the efforts of people working on the Second Life client. [Lerwick] did a lot of work there. Soon we will be able to drop Kakadu."
"My ultimate goal is to make the Second Life client available in the official Fedora repository. This is made difficult by the client's dependence on some closed-source libraries," Lerwick says. He took on the job of optimizing the OpenJPEG library to bring it up to a usable level of performance, and wrote a patch for the Linux client to use OpenAL for audio.
Giglio explains why it is important for them to rid the Linux client of as many proprietary elements as they can before taking it out of alpha. "Proprietary dependencies mean that the fully free client is crippled in some pretty big ways. The good thing about working to remove proprietary deps is that the work you'd do would not only benefit the Second Life client, it also benefits other projects by providing good, fully free libraries they can use, too."
He wants to further this idea by developing a patronage model around the continued development of the Second Life client. Under his proposed business plan, users would directly pay open-source developers to fix bugs or add features. These changes would then be merged back into the main codebase of the client. "A lot of the custom client work going on right now [for Second Life] are effectively forks. There is no intent to return that code to Linden Lab in a usable state," says Giglio.
He would like to see more of this work released to the public, which has not always been the case. It would certainly help speed up the work that he, Tofu and Lerwick still have to keep doing in order to properly refine the Linux client.
"According to a Linden Lab employee, development of Second Life began in 2000 by a team that hadn't done C++ before, at a time when [Standard Template Library] implementations were buggy and slow. Patches to fix problems are gladly accepted," says Lerwick. "At the end of the day, it gets the job done, has supported a vibrant diverse community for many years now, and that's what is important."