Secondlife achtergrond

Secondlife isn't a game
“I'm not a gamer, and SL isn't a game.” (Rosedale, 2007) aldus Philip Rosedale, de entrepreneur achter de Second Life wereld. Rosedale die vanaf zijn jeugd al een sterke interesse heeft gehad in virtual reality, gaf in 1999 zijn baan bij RealNetworks op, om het bedrijf Linden Lab te beginnen. Linden Lab ontwikkelde in maart 2002 de eerste versie van Linden World, dat bij de lancering in 2003 bekend zou worden als Second Life. Vanaf het begin zat de aantrekkingskracht van deze virtuele omgeving in het collaboratieve karakter. Gebruikers konden zelf eenvoudig content maken en verhandelen via een virtuele economie.

Technologie trigger
De snelle groei van het gebruikersbestand, de groei van de virtuele economie en de media die Second Life begonnen te hypen, trok ook de belangstelling van veel bedrijven en overheidsinstellingen. De verwachting was dat deze collaboratieve Second Life wereld zou evolueren naar een algemeen geaccepteerde standaard voor een wereldwijde virtuele omgeving; de metaverse. Bedrijven hadden echter nauwelijks visie wat ze met het platform wilden, en overheidsinstellingen kregen al snel het verwijt dat ze belastinggeld verspilden. De enkele bezoeker die een vlieger opliet vanuit het Second Life eiland Den Haag, zal waarschijnlijk enige bedenkingen hebben gehad bij het nut van dit virtueel uitgestorven strandhuis. De media wekten verwachtingen van het platform, die uiteindelijk niet waargemaakt konden worden. De 'Second Life bubbel' spatte hierdoor eind 2007 uit elkaar. Er werd getwijfeld aan het aantal reële gebruikers (Shirky, 2006), dat veel lager bleek te liggen dan gedacht, en de kosten bleken voor bedrijven en instellingen niet op te wegen tegen de baten. Gartner zou deze beweging de gang naar de 'through of disillusionment' noemen. In de voorspellingen die Gartner voor 2008 (Schonfeld, 2008) heeft gedaan, is ook te zien dat publieke virtuele werelden hard op weg waren om het dieptepunt van populariteit te bereiken. Dit is ook een van de structurele problemen waar Second Life mee zit; het is geen publieke virtuele wereld. Linden Lab is immers de eigenaar en beheerder van Second Life. Bij de ontwikkeling van webtechnologie hebben we kunnen zien dat er een haast natuurlijke neiging is naar decentralisatie en standaardisatie. Publieke virtuele werelden zouden wel eens dezelfde neigingen kunnen vertonen. Of dit werkelijk zo is valt nog te bezien. De problematiek van het gesloten serverpark van Linden Lab zal nader worden bekeken.

Walled garden
Linden Lab heeft als gevolg van hun strategische beslissingen, een aantal structurele beperkingen aan het Second Life platform opgelegd. Het 'walled garden' principe heeft geleid tot een enorm gecentraliseerd serverpark in San Fransisco. Linden Lab heeft met dit businessmodel veel geld verdient, maar dit is nu de hoofdoorzaak (Zuckerman, 2006) waarom Second Life nooit een metaverse-standaard heeft kunnen worden. De kosten met betrekking tot professioneel Second Life-gebruik zijn hoog, voor de diensten die geleverd worden. Linden Lab verdient vooral op de verhuur van virtuele lappen grond, die ingedeeld zijn als regio's van 256x256 virtuele meter. Het bedrijf vraagt 1000 dollar setup-kosten (Linden Lab, 2009) en een maandelijkse 295 dollar huur per regio. Voor educatief gebruik zijn de kosten iets lager; respectievelijk 700 dollar en 147,50 dollar per regio. De achterliggende kosten liggen voor het bedrijf in het hosten van vier regio's per 'class-5' (Wilkes, 2008) server (Intel Xeon 5148,4GB ram) en de service-kosten. Dit betekent dat een enkele commerciële Second Life server met 4 regio's 4000 euro opstartkosten heeft, en zo'n 1200 dollar kosten per maand met zich mee brengt. Klanten hebben geen mogelijkheden om de server of de database zelf te beheren, en/of de functionaliteit van de server aan te passen. Timing van onderhoudswerkzaamheden is afhankelijk van de schema's die Linden Lab daarvoor hanteert. Bedrijven zijn tevens geneigd om gevoelige informatie binnen het eigen intranet te houden. Het afschermen van een Second Life omgeving is door de gecentraliseerde infrastructuur helaas niet mogelijk. Een ander probleem dat het Second Life platform heeft, is de matige kwaliteit van de grafische viewer. Ondanks de unieke en innovatieve content tools die Linden Lab heeft ontwikkeld, loopt het bedrijf achter de feiten aan als het gaat om de grafische ratrace met de gaming-industrie. De minimale systeemeisen van de viewer zijn desondanks behoorlijk hoog. Vergaande integratie met het World Wide Web is een andere veel gevraagde functionaliteit vanuit het bedrijfsleven. Linden Lab is al jaren met een in-world 'web-on-a-prim' browser bezig onder de codenaam UBrowser, maar heeft dit nooit kunnen integreren met de Second Life viewer. Daarom is dit soort functionaliteit nog steeds beperkt tot het tonen van een statische textuur van een webpagina. Een werkend voorbeeld van een interactieve browser in 3d is echter al wel beschikbaar (zie figuur 2.6), maar die is moeilijk te integreren met de Second Life viewer.

Second Life is ontworpen, zodat mensen er eenvoudig dingen mee kunnen bouwen. Het gebrek aan uitgebreide bouwmogelijkheden is echter ook een belemmering bij het maken van complexere objecten. De infrastructuur ondersteund alleen primitieven, waardoor bijvoorbeeld organische objecten niet efficiënt gebouwd kunnen worden. Ook biedt het platform geen ondersteuning om bestaande content uit andere 3d-software zoals Blender te importeren. Ook de collaboratieve mogelijkheden van Second Life zijn te beperkend. Bedrijven en scholen zullen dit soort werelden moeten integreren met een bestaande ict-infrastructuur, voordat het op grote schaal kan worden ingezet als effectief aanvullen medium. Dit is door het gesloten karakter van Second Life helaas niet mogelijk.

Ondanks al deze structurele nadelen, moet over Second Life wel gezegd worden dat het een uitgebreide en nuttige discussie op gang gebracht heeft met betrekking tot virtueel handelen door een avatar. Hoe verschilt Second Life van een game? Welke verantwoordelijkheden heeft de avatar in dit medium? Welke rol kunnen virtuele werelden spelen in het reële leven? Dit soort vragen leiden uiteindelijk tot nieuwe opvattingen en diensten, die al dan niet succesvol, waarschijnlijk zullen leiden tot een structureel nieuwe dienstverlening in publieke virtuele werelden. Vanuit de geschiedenis van het web was te zien, dat de technologie zich decentraal verspreidde, doordat open standaarden werden toegepast. Second Life heeft indirect ook zo'n soort ontwikkeling op gang gebracht. OpenSimulator is een alternatief voor de walled garden oplossing van Second Life. Het wordt ook wel de 'Apache van virtuele werelden' genoemd, wat waarschijnlijk verwijst naar de verspreiding en standaardisering van webservers halverwege de jaren negentig. In de volgende paragraaf wordt OpenSimulator nader onderzocht, en gekeken in hoeverre het een oplossing biedt voor de structurele problemen die met Second Life aan het licht zijn gekomen.

Ontstaansgeschiedenis
In 2006 werd het LibSL project gestart. LibSL is een open implementatie van het Second Life netwerk protocol LLUDP, waarmee ontwikkelaars applicaties kunnen schrijven die met een Second Life server kunnen communiceren. Zo ontstonden verscheidene nieuwe toepassingen zoals bijvoorbeeld TextSL. TextSL is bedoeld als 'braille-tool' voor visueel gehandicapte mensen, zodat ze kunnen functioneren in de visuele wereld van Second Life. Een andere toepassing is Copybot. Met Copybot konden gebruikers in-world content gratis dupliceren, terwijl ze daar anders voor moesten betalen via de virtuele munteenheid. Zwakke punten in het Digital Rights Management-systeem van Linden Lab werden hiermee blootgelegd, en content-verkopers eisten een oplossing voor dit beveiligingsproblemen. Ook was men in staat om met LibSL computer-gestuurde avatars te laten rondlopen in de Second Life wereld. LibSL is inmiddels omgedoopt tot Open MetaVerse library (LibOMV), en dient nog steeds als basis voor het grootste deel van de ontwikkelingen die op het gebied van metaverse-technologie plaatsvinden. LibOMV is in 2007 de basis geweest voor het ontstaan van het OpenSimulator project. OpenSimulator (vaak afgekort als OpenSim) is een dynamisch 'bottom-up' open source project, dat in januari 2007 gestart werd door Darren 'MW' Guard. Het achterliggende idee van OpenSimulator was om een 3d-applicatie server te ontwikkelen, waarmee de toen-net open source gepubliceerde Second Life viewer moest kunnen verbinden. Het open source maken van de Second Life viewer door Linden Lab is een belangrijk element geweest, waardoor OpenSimulator zich zo snel heeft kunnen ontwikkelen. Omdat er al een viewer was, kon het team zich volledig concentreren op het ontwikkelen van de server. Dit is ook de reden waarom OpenSimulator nog zo veel gelijkenis vertoont met Second Life. In april 2007 werd het project opgemerkt door IBM, die twee ontwikkelaars (Sean Dague en Dirk Huseman) het platform liet onderzoeken op bruikbaarheid voor een 3d internet ruimte. OpenSimulator is sinds het ontstaan uitgegroeid tot een complexe 3d-applicatie server, waarmee onder andere een Second Life achtige virtuele omgeving gehost kan worden binnen een intranet of over het internet. Hoewel de ontwikkelaars van OpenSimulator streven om alle functionaliteit van Second Life te ondersteunen, is de ontwikkeling veel verder gegaan dan met Second Life voor mogelijk werd gehouden.

Overeenkomsten met Second Life
OpenSimulator heeft veel overeenkomsten met het Second Life systeem. Als een gebruiker ingelogd zou zijn op een OpenSimulator server, dan zou men op het eerste gezicht geen verschil zien. Zo maakt OpenSimulator ook gebruik van de Linden Scripting Language (LSL), en kan er gebouwd worden zoals men dat ook in Second Life gewend is. OpenSimulator ondersteund op zo'n 20 functies na, bijna alle LSL-functionaliteit die Second Life ook heeft. Een lijst hiervan is te vinden op de OpenSimulator Wiki (OpenSimulator, 2009). OpenSimulator kent geen virtuele economie, maar biedt voor ontwikkelaars wel de mogelijkheid om dit in een eigen community te ondersteunen. Media-instellingen kunnen per regio worden ingesteld, en object-permissies werken. Sinds kort ondersteunt OpenSimulator groepen, en kan men gebruik maken van Voice Over IP (VOIP). OpenSimulator is echter meer dan een kopie van Second Life. In de volgende tekst wordt beschreven waarom de infrastructuur die OpenSimulator biedt, een goede kandidaat zou kunnen zijn voor verder standaardisering van publieke virtuele werelden.

Decentralisatie
De huidige server-architectuur van OpenSimulator is gebouwd rondom een 'grid' (zie Grid-architectuur bijlage). Een grid in OpenSimulator is een verzameling van gecentraliseerde services, dat zorg dragen voor het overkoepelende beheer van de componenten 'Users', 'Grid', 'Assets', 'Inventory' en 'Messaging' (afgekort als UGAIM). Gedecentraliseerde regio-services die verantwoordelijk zijn voor lokale simulatie van content, kunnen aan deze grid-infrastructuur gekoppeld worden. Via deze gedecentraliseerde 'simulators' is een grid schaalbaar te maken, doordat simulators over meerdere servers kunnen worden verspreid. Simulators beheren – net als in Second Life – gebieden van 256x256 virtuele meter en zijn qua functionaliteit uit te breiden door middel van regio-modules. De ontwikkeling van OpenSimulator laat zien dat steeds meer functionaliteit gedecentraliseerd wordt. Een recent voorbeeld hiervan is het Cable Beach project van Intel (Hurliman, 2009). De Asset service die verantwoordelijk is voor de overkoepelende distributie van content binnen het grid, is met Cable Beach een losstaande service geworden buiten het grid. Hierdoor is content niet langer gebonden aan een enkel grid, maar kan deze gedeeld worden met meerdere gridservers. Als gevolg hiervan is het niet ondenkbaar dat gespecialiseerde content-providers zullen ontstaan, die zowel content, bandbreedte en opslagruimte als service zullen bieden voor dit soort publieke virtuele werelden. Het gevolg van deze architectuur is dat het bandbreedte-gebruik van het gecentraliseerde grid beter verspreid kan worden. OpenSimulator maakt gebruik van een database abstractie-laag, waardoor een groot aantal verschillende typen databases worden ondersteund. Database-typen zoals MySQL, MsSQL, PostgreSQL en SQLite zijn echter minder geschikt voor opslag en verwerking van extreme hoeveelheden data. Het Second Life grid heeft zo al terabytes aan data. Mocht OpenSimulator straks ook met een dergelijke data-omvang moet kunnen blijven werken, dan is het van belang om een betrouwbaar opslagmedium te hebben. Men onderzoekt daarom in hoeverre een opslagmethode zoals project Voldemort hiervoor gebruikt kan worden. Een andere ontwikkeling is de onderlinge samenwerking van John Hurliman met ontwikkelaars van het Sirikata virtuele wereld platform (Hurliman, 2009). De kans op standaardisatie van protocollen die virtuele werelden toepassen, wordt groter als zowel ontwikkelaars van het Sirikata platform en van OpenSimulator het eens kunnen worden. Ook is het Metaverse Exchange Protocol (MXP) in ontwikkeling, dat wellicht zowel in OpenSimulator als in Sirikata kan worden toegepast. De ontwikkelaars van RealXtend hebben ook al aangegeven dat ze het Sirikata platform ook willen gaan ondersteunen in de nieuwe viewer.

Ook de Hypergrid technologie in OpenSimulator is van belang voor de verdere decentralisatie en het vergroten van de toegankelijkheid. Hypergrid maakt interconnectiviteit van gebruikers tussen verschillende grids gemakkelijker. Gebruikers kunnen hun avatar met virtuele bezittingen naadloos teleporteren naar een ander Hypergrid-compatibel OpenSimulator netwerk. Hypergrid is voor virtuele werelden in feite van het zelfde belang, als hyperlinks voor het World Wide Web. Een toepassing voor het bedrijfsleven zou kunnen zijn om OpenSimulator portalen tussen gelijksoortige bedrijven op te richten. Zo zou een bedrijf zowel de controle van een eigen OpenSimulator netwerk houden, maar die tegelijkertijd kunnen combineren met zelfgekozen exposure naar de rest van de metaverse-community.

Viewers
De viewer software is voor de eindgebruiker essentieel voor de belevingservaring van de virtuele wereld die de OpenSimulator server aanstuurt. OpenSimulator is altijd afhankelijk geweest van de Second Life viewer, maar daar komt langzamerhand verandering in. Er zijn een aantal viewers in ontwikkeling, die het mogelijk maken met een Second Life of OpenSimulator netwerk te verbinden. Hierbij wordt onderscheid gemaakt tussen viewers die gebouwd zijn op de bestaande viewer van Linden Lab, en een andere generatie viewers die gebaseerd zijn op het LibOMV project. De Linden Lab afgeleide viewers zijn: RealXtend, Kirsten Lee viewer, Meerkat en Hippo Viewer. Op LibOMV gebaseerde viewers zijn: OpenViewer, Idealist Viewer, AjaxLife, 3Di viewer, Sleek, Feathertail en LookingGlass viewer. De ontwikkeling van een goede open source viewer is nogal problematisch geweest. De General Public License (GPL) van de Linden Lab viewer is te restrictief, omdat de GPL-licentie verplicht om hierop gebaseerde software onder dezelfde licentie te publiceren. Dit 'virale' aspect is voor de OpenSimulator community een mogelijk probleem, omdat OpenSimulator zelf onder de liberale Berkeley Software Distribution licentie (BSD) wordt uitgegeven. Men houdt daarom bewust grote afstand van de Linden Lab viewer-code.

Ook is het problematisch dat LibOMV een C-sharp bibliotheek is. Ontwikkelaars van een complex stuk software als een viewer zullen zo veel mogelijk gebruik willen maken van bestaande componenten, die al door andere open source ontwikkelaars zijn geschreven en uitgebracht zijn onder een BSD-compatibel licentie. Deze componenten zijn echter veel vaker beschikbaar als c++ code, dan als c-sharp code. Het is wel mogelijk om conversies te maken van bestaande C++ code, maar vaak is dit erg specialistisch werk. Het Openviewer project is een goed voorbeeld van deze problematiek. Men wilde de Ogre 3d-engine integreren met LibOMV, maar kwam er achter dat de bestaande Ogre conversies voor c-sharp (OgreDotNet en Mogre) niet goed werkten voor ieder besturingssysteem. Vervolgens stapten de ontwikkelaars over op pyogre en python.net. Het zou gemakkelijker geweest zijn als die conversies niet nodig waren, en gebruik kon worden gemaakt van de native libraries. Op dit moment zijn de benodigde libraries helaas nog niet voldoende beschikbaar in de c-sharp ontwikkelomgeving. Over het algemeen is te zeggen dat alle LibOMV-viewers nog in een prematuur stadium zijn. Linden Lab gebaseerde viewers hebben meestal kleine aanpassingen, maar brengen verder weinig nieuwe functionaliteit met zich mee. Een interessante uitzondering hierop is het RealXtend project. RealXtend wordt geleid door Oulu innovation, en gefinancierd door bedrijven zoals Nokia, LudoCraft Admino Technologies, 3Di, Novamente en Immersive Education. In een jaar tijd heeft het RealXtend team een game-kwaliteit viewer ontwikkeld op basis van de Linden Lab viewer, Ogre3D en andere componenten. Deze viewer is qua functionaliteit het verst gevorderd en ondersteunt behalve de standaard primitieven ook 3d-objecten vanuit andere 3d-software. Het doel van het RealXtend-team is om de ontwikkelingssnelheid van metaverse technologie te verhogen. Het RealXtend-team heeft in de loop van tijd een flink aantal wijzigingen aangebracht in de OpenSimulator code, wat resulteerde in een RealXtend server die niet meer compatibel was met het origineel (een zogenaamde 'fork'). Een cruciale ontwikkeling is de recente integratie van de RealXtend OpenSimulator fork, als regio-module in OpenSimulator. Voorheen werkten de ontwikkelaars uit beide teams langs elkaar heen, en konden zo niet van elkaars inspanningen en innovaties profiteren. Dankzij deze nieuwe aanpak kunnen innovaties van beide teams tegelijkertijd beschikbaar worden voor de community. Begin 2009 is tevens begonnen om op basis van de eigen geschreven code een nieuwe viewer te ontwikkelen, die onder de Apache2-licentie uitgebracht zal gaan worden. In juni 2009 werd de eerste publieke pre-alpha versie uitgegeven onder de namen 'Naali' en 'Taiga'. RealXtend zou daarmee de eerste zijn die een volledig functionele viewer met veel extra functionaliteit zou leveren voor het OpenSimulator project. De kans is groot dat RealXtend binnen afzienbare termijn een nieuwe standaard zal gaan definiëren op het gebied van Metaverse viewers, en dat dit de toegankelijkheid ten goede zal komen. Toegankelijkheid is op dit moment nog steeds een groot probleem voor het toepassen van OpenSimulator binnen een organisatie.