Although I've used Second Life and Opensim for more than 6 years, I'm still uncertain where the "open virtual worlds" system based on them is going, and the direction Opensim might take in relation to SL. Especially since during the last years Linden made a lot of major changes, but Opensim doesn't seem to have gotten more popular or attractive to main grid users. This uncertainty kept me from spending as much time in SL and the free grids, and spending more time seeking answers and looking for alternatives. Although such matters were probably discussed a lot in the past, I'd like to get into the things I'm looking to clarify, and also mention what I believe in case it might be helpful for future development plans.

SL and Opensim are two different projects developed by different teams, each going in its own direction more or less. The Second Life viewer is a client for Linden's virtual worlds system (capable of connecting to other grids if modified) while Opensim is a virtual worlds server not officially intended for a specific client. Yet for the purpose to be achieved, they both need each other. SL doesn't have another open-source server, Opensim doesn't have another reliable client. Realistically speaking, neither of the two matters will likely change: Linden might never open-source their SL server, and Opensim won't have an own client written from scratch that has all of SL's features and quality.

Linden proved they don't care about Opensim, so things will likely not change on the viewer's end. What jumps to my attention is that apparently, Opensim is still waiting for something that will likely never come. Although custom SL viewers are the only usable clients, Opensim still goes for a "general purpose virtual worlds server" and avoids being labeled as "a server for Second Life", while hesitating to get its own official viewer based on SL. While at some point I believed an independent structure could work, I now think there are too many technical implications for such to be possible.

Unlike simpler systems (like http, where Apache doesn't care if it's being accessed by Firefox or Chrome) something of this complexity needs a precise client - server design. If the server lacks features in the client, the client will have dead parts. If the server has more features than the client, it will eventually get slow bloated and confusing. Both the server and all viewers accessing it need to revolve around a fixed design and set of features, otherwise you'd have things only some avatars can see or use in your sim. A different virtual world for example might not even use our concept of primitives, could have voxel terrain instead of heightmaps, and its own scripting language (like Lua) over LSL. Opensim wouldn't be able to take it under its wing while staying compatible with SL, since the technologies couldn't intersect or be compatible across viewers. It's like intending a dedicated server for first person shooters to run Unreal Tournament, Quake, DayZ and others at once.

More technically, this is why I believe a non-SL viewer will never exist: First of all, everything would have to look almost the same, since we wouldn't want those using the SL viewer to see something different than us. Terrain, primitive shapes, texture effects (transparency, shiny, bump, glow), avatar meshes (customized body, clothing, skins, attachments), the sky (day / night cycle and windlight settings), LSL functions with client-side effects (llSetText, llTargetOmega, etc) would all need to match. Once the world looks fine, you'd need to implement tons of other unique and complex features... such as media and web pages on prims, main map and minimap, the text and voice chat systems, and so much more. The details and eye candy would need attention too, such as a GUI and shaders (for HDR, shadows, depth of field) that can rival SL's. Even if someone had the time and energy to do all this as a FOSS application, they'd end up with a reverse-engineered version of the SL viewer that has little differences... meaning they wasted months doing something that's already there. In the end, any client for Opensim could only be Second Life, even if rewritten from zero and under a different name.

Considering this, I'm curious why it's better for Opensim to aim at being a general platform, rather than simply a server for the SL technology. And why the dev team doesn't create an official Opensim Viewer based on the latest version of SL, while of course allowing custom viewers like Firestorm to work too. Is OS still intended to work with other designs, and why / how? Does it risk distancing from SL viewers at some point, in hopes of a viewer written from scratch? Or does it intend to support a collection of different virtual world programs somehow? Also, what would happen if third party viewer developers ever got bored of supporting Opensim?

This is not to say what must or mustn't be done, since I'm far from having the knowledge and position to decide such things. But sticking to just SL and being closer the development of its viewers is something I thought would be a good initiative. I still feel that a change is needed, and that Opensim isn't reaching its full potential for some reason... which made me wonder if among other problems, some might have similar concerns about Opensim's colder relationship with viewers, and the lack of something specific officially intended to work with it.
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to