I attended UMass in the early eighties when access to DARPAnet first became available to students. In the beginning, all we had was terminal-based FTP access to download TeX markup documents that we could send to the batch printers. It wasn’t until almost ten years later that Mosaic based graphical browsers became common on personal computers that were powerful enough to run Windows 3.1.
For people not in the academic community connecting to the Internet meant dialing-up to a large service provider like Prodigy or CompuServe, and later AOL. These service providers offered access to their limited enclave of data, and as a member, this was all you could use. At the time the argument for these closed systems was that they were limiting access to proprietary content. In time, the cost needed to build low cost Internet Service Providers (ISPs) came down, providing anyone with a dial-up modem the inexpensive option of having server space to post their own web pages. In conjunction with this low cost hosting came the development of an improved markup language that allowed hypertext linking, HTML.
This meant that even individuals who created the simplest web pages could link to other sites located anywhere on the Internet. It was this availability of inexpensive web page hosting and unlimited connectivity that spurred the explosive growth of the Internet to become the ubiquitous feature of our technological lives that it is today. Further promoting this growth has been the increase in high-speed Internet connectivity and low-cost consumer computer hardware.
Parallel to the growth of the Internet, we can follow the development of virtual worlds. The earliest text based virtual worlds were chat applications that ran across the DARPAnet. Prior to the big ISPs, individuals could build their own dial-up electronic bulletin board systems. Many of these systems eventually included chat capability and multiple chat rooms. In time, these chat rooms became more graphical. I remember the excitement I felt when I logged onto my first crude virtual world using my Atari 1040ST on my 320×240 pixel color monitor.
It is clear that Second Life has played the role of AOL in promoting virtual worlds to larger populations. Now with the growth of OpenSim, it is possible for anyone with a web server to host a virtual world, similar to the advent of reduced-cost of web page hosting in the past. This now puts us at that familiar juncture where the keepers of enclave-based systems prevent inter-system linking in the name of proprietary content. Worse, there are new owners of virtual worlds with slick front-end web sites that are creating new closed worlds in an attempt to become the successor to Second Life. The collapse of AOL answers the question of how successful this approach will be.
What is needed now is a standard of OpenSim packaging, management, and inter-grid connection that will allow individuals to install and run their own hypergrid connected sites. This package management could be modeled after the refinement and ease that users can install other open source software using scripted installers. With this advancement, current web developers can then extend their services to include the personalization and customization of virtual worlds. For individuals and companies with web sites, having their own virtual world can simply be an extension of their existing web presence.
The specification for this easy-install virtual world is clear. This development effort is at a similar place to where the development of the Apache web server was in its early stages. Many of the pieces needed are either under construction or well underway and just need to be assembled together. The final product will be a single package that can be installed by a single click using QuickInstall, or Fantastico De Luxe, the standard installers supplied by many ISPs.
Nine easy pieces
There are nine components that already exist within OpenSim, but are not yet bundled:
Since the cost of Linux-based hosting is lower and more common than Windows-based hosting, a Mono installer needs to be part of the standard package to allow for the Microsoft .NET framework that OpenSim is now written on to run on Linux servers. For widest distribution, OpenSim needs to run through this emulation layer since most web hosting now uses Linux servers. In time, OpenSim will need to be rewritten from the ground up completely Linux-native and open source. This is the most labor intensive item on this list, but is essential for the wider distribution of OpenSim to allow installations to run without the memory or processor boundaries in both private and public clouds imposed by the .NET framework.
On installation, a virtual world will be provided which will have stock attributes, including a virtual conference space, a virtual social space, and a virtual storefront. A virtual world owner can delete the areas that they don’t need and duplicate the stock buildings as needed. It is almost valueless for a new virtual world owner to arrive to a completely barren space. Most web sites today are built using templates, and so should virtual worlds. In time, there should be web sites of themed virtual worlds as there are now web sites of CMS (Content Management System) graphical front ends.
3. Stock inventory
Every virtual world needs to come with a library of stock open source buildings, furniture, vehicles, avatars, clothing, and textures. Further, there needs to be one or more large central repositories of OpenSim objects. What is stifling to new virtual world development is the requirement that every new world needs to create all of their objects for themselves. Access to these open source items needs to be provided out-of-world by file download and in-world by standard zero cost purchase.
4. Backup & migration tools
A built in Second-Inventory type tool needs to be included with OpenSim to allow users to download their inventories, and to be able to download items from a variety of websites and upload them as needed to their virtual worlds. Inventory backup and maintenance needs to be provided to users on their own computers. Limiting control of inventory only to in-world is part of the non-distributed virtual world model of Second Life.
5. Easy control panel
It is essential that virtual world owners be provided with an easy to use virtual world control panel. Without this control panel, management of virtual grids will be limited to people who have the interest and skill to adjust user rights by navigating the layers of a Microsoft SQL database and editing values in the tables. The best control panel that I have seen has been distributed by PioneerX. This will either need to be licensed or rewritten as open source. The best scenario will be for a version of this control panel to be released for free to grid owners who don’t need to collect in-world rent, and for a commercial version to be licensed for grids that need recurring billing options.
6. Browser-based viewer
The threshold to new virtual world visitors needs to be reduced. For many software developers, it is hard to keep in mind that most computer users still feel uncomfortable or are unwilling to install new software on their machines. The requirement that virtual worlds can only be accessed by installing a standalone browser creates too high a barrier to entry for many would-be virtual world visitors. At least the initial access to virtual worlds needs to be web browser-based. Second Life is currently in beta for a browser-based viewer and the version that I tested worked well. SpotON3D has an interesting workaround that makes it look to the user as if they are only installing a browser plug-in when they are actually installing a virtual world browser and a utility that allows for a Windows-based application to be viewed through a window in a browser. Whatever the solution, virtual worlds need to become part of the standard web browser interface, not relegated to their own software installations like computer games.
7. Built-in voice
To secure OpenSim as another viable social media service, it needs to provide voice communication. There are a couple of OpenSim add-on voice options available, however both of them require licensing. As with the PioneerX control panel, there need to be free versions of this software available with the stock OpenSim install, and there also need to be licensed versions available to commercial vendors. If entirely open source versions of this software cannot be made available, in time there will need to be ground-up rewrites of OpenSim that include voice. One recommendation I have is that these in-world voice functions need to work uniformly as they do in Second Life, with proximity allowing voice communication. One OpenSim grid that I visited had voice that was region-wide, making it hard to know who was speaking when disembodied voices could be heard out of mini-map range.
8. Web front end
New OpenSim installations need to come with a stock web site front end. For virtual worlds to be an extension of web sites, the barriers between in-world and out-of-world communication need to be brought down. The best solution would be an integration with existing and well established Content Management Systems (CMS) like WordPress or Drupal as the PioneerX currently is. Ideally the web-based control panel for the virtual world management would be plug-ins for these standard CMS tools. These plug-ins could include functions like avatar creation and the ability to see who is in-world from the web site front end. This would allow users who were installing new virtual worlds to have access to the huge existing libraries of front-end site templates, helping them create out-of-world look and feel, and giving them access to well-defined plug-ins. If OpenSim plug-ins could be made available for WordPress, the 55,000,000+ users of this CMS could then develop front-ends to their own virtual worlds.
9. Hypergrid access
It is essential that every grid provide hypergrid transport. Many current grids consider that by providing hypergrid transport, they are leaving themselves open to claims of supporting intellectual property theft. However, by failing to provide this support, they are defeating the purpose of the Internet itself. Web pages would be fairly valueless if they had no external links, and search engines would not exist. For each new grid, there needs to be an option of joining a centralized hypergrid listing, and this list needs to be made available to all grids, both in-world and out-of-world. Further, this hypergrid listing needs to have a rating system that describes quality of the grids, based on available bandwidth and popularity. Of course there will always be the option of having completely private grids that are not linked to the system, in the same way that there are web pages that are only used internally within companies. This would be a good use of Google’s existing search engine indexing, a technology that they already have a clear licensing model for.
Three harder pieces
There are three components that do not yet exist and will need to be incorporated into OpenSim:
1. Distributed inventories
Inventory control needs to be distributed among many grids. With the current big grid model, assets are kept in one location and are generally not accessible through the hypergrid system. My proposal is that assets for each avatar be kept in a home grid and then referenced wherever that avatar travels by hypergrid. This would mean that inventory pointers would not point to local SQL databases, but would point to inventories stored on remote machines. These inventories could be backed up by the user and be moved to another home grid if needed. This would also solve licensing issues. All objects would be paid for and owned by the avatar, and would not be the responsibility of the specific grid. Owners of the grids would not be responsible for any inventory not on their server, allowing universal hypergrid transport without risk.
2. Multi-grid currency
There needs to be a universal handling of currency. This is essential for all in-world transactions, such as tip-based activities in music venues. Universal currency handling is also essential for the purchase of real world products sold through a virtual world interface. I can imagine an in-world clothing store where an avatar can try on items and then have this merchandise sent to them in real life. Rather than creating universal currency specifically for OpenSim, I propose using the existing Google Checkout. This already existing infrastructure allows shoppers to visit various e-commerce web sites, collect items in their cart, and pay in one centralized location. I would imagine that Google would be interested in participating in this integration.
3. Cloud plugin
Finally, with the completely open source rewrite of OpenSim, there should be a restructuring of the underlying databases so that resources can be made cloud-based. Using a cloud-based computing environment, OpenSim installs could use little resources when not in use and then have near infinite resources when needed. SpotOn3D is offering this technology in-world, but I have not tested this feature of their grid. For stand-alone grid installations, I am proposing that there be a CMS plug-in that would enable commercial cloud access. I have been impressed with the power and flexibility of Amazon Web Services and would recommend that when OpenSim is restructured to function better on distributed systems, there be standard controls incorporated to link directly to such commercial clouds.
Keeping it open
Several people with whom I have shared these ideas have proposed that I develop these projects as a private commercial venture. I feel, however, that this is antithetical to the growth of OpenSim.
The growth of the Internet was based on inexpensive, open, and unregulated communication. When open source projects have become regulated and commercial, the open source community has quickly abandoned them.
What I have proposed here is the development of OpenSim as I would like to see it. If and when this virtual world infrastructure is created, it will be determined by the OpenSim community, not by one enterprising individual. I look forward to hearing people’s comments and discussion on these ideas.