From OpenSimulator
Jump to navigationJump to search

Project History

The OpenSimulator project was founded in January 29th, 2007 by Darren Guard (also known as MW), who, like so many other people, saw the potential for an open source 3d Virtual Environments server that could be used for many different applications. Also like many others, Darren had watched many other attempts at open source virtual world servers fail, often due to the massive task of writing both a server and a client at the same time.

Then in January 2007, the Second Life(tm) client was released as open source, and libsl (a BSD open source library for creating custom clients that could connect to Second Life(tm)), was reaching the point of being stable. So the idea of OpenSimulator was born, with the initial goal of creating a proof of concept server that the SL client could connect to and allow some basic functions. The idea was that over time the project scope would hopefully become much more than its humble beginnings. This has happened, with the current goal of developing a standard virtual environment platform that any application could use as a framework. While we still maintain compatibility with the Second Life client, we have been working towards supporting several other clients. In the future we also hope to support protocols and environments that are completely independent of that of Second Life.

Personal Memories

This page is still in need of info. Please add your own remembrance of history as you remember it. Contributions are welcome from anybody in the community - you don't need to be a core OpenSimulator code committer!


"Me, I was working with SL integration for a web community and had been working with #libsl for a couple of months when MW came on that channel and said 'I have a prototype for an c# SL server, but before I publish it I need somebody to log onto it to see if it supports multiple clients' - and pounced on it; when I saw that first void region with a single prim and blood red sun on my client I realized that "this is epic. This is the future." The first thing I did was to refactor out the authentication so that I could logon with my web community credentials and the method 'CustomizeLoginResponse' (It's still in there) and would be greeted with 'Stefan, Welcome To The 3D Web' - also, the void region was filled with my web community friend list as dummy avatars. At about the same time came Gareth, then AdamZaius (Adam Frisby) and we were all rather excited when IBM entered, in the shape of sdague. We were all in agreement from the start that this was to be 'the Apache of 3D' - which we took to mean 'a modular general purpose platform' upon which developers would build '3D applications'; right around that time MW and I did the first big (it felt big at the time) rewrite called Zircon; this introduced the notion of the 'client stack' which meant we could support other protocols, and the 'Client API' which was supposed to be the base for creating private or shared 3D application user interface servers with opensim. The next big rewrite (We were big on rewrites back then) was 'Sugilite' which introduced the 'Scene' with it's entities and objects - and also marked a complete restructuring of the project into Framework, Region and Grid layers, as the project was meant to be used to 'brew your own' installations. As people started pouring in, the project grew, more people used it; from my perspective, this is now a baby that's grown into a teenager. I am very proud to have followed the project since the start, and I'm very proud of what we have achieved. Thru OpenSim, Let a thousand worlds bloom!" -- Stefan Andersson


"In April 2007 I was given the opportunity within IBM to start looking at the 3D internet space, especially how open source would help evolve open standards in this space. I was given a pretty blank slate in where to start, but was pointed to check out this "opensim" thing that someone had noticed. In May 2007 I made my first introduction to the community (then adam, mw, lbsa, and gareth), and started the evaluation process of whether OpenSimulator had the potential to become a "3D Apache". I lurked on IRC, chatted with folks from time to time, and spent a bunch of time getting my first OpenSimulator up and running. This was still all evaluation phase, we had not committed to the project yet.

Two weeks into the project I experienced OpenSim's first crisis, as gareth has dumped some GPL code into the project and didn't seem to understand why that was an issue. The community acted quickly to remove the taint, and ensure the OpenSimulator code was clean. This became a defining moment for me. The community both proved itself to be strong, and proved that a core value in that community was ensuring that OpenSimulator could and would be easily embedded in future products. My recommendation was that we get directly involved with the community and add our voice and support to the project. 6 weeks later I had all my internal approvals in place, and got commit access the first week of July 2007. With gareth out, that made me committer #4 out of the current core group.

My first task was to plug a real database into OpenSimulator (at the time it only supported DB4o). Being a noob at C# at the time, that first set of code, bringing in SQLite, was pretty rough, but it did get us down a path of supporting relational databases in OpenSimulator. I started running a standing test region inside of IBM where anyone could connect and experiment, and soon there after set up a weekly IBM internal meeting in world called the "OpenSimulator Fireside Chat". Anyone inside the company was welcome to pop in and ask questions about OpenSimulator. The fireside chat continues to be a gathering point for OpenSimulator enthusiasts throughout IBM. Some of our early participants included Justin Casey (a core committer, now at FRI) and Dirk Huseman (drscofield, a core committer from IBM). We set up a standard patch policy internally which allowed anyone inside of IBM to send us a bugfix for OpenSimulator which any of the core members could then review and apply. From there on out I've been carrying the multiple flags of OpenSimulator dev, OpenSimulator testing, and OpenSimulator advocacy behind our firewall.

I have professionally worked on Open Source development for the last 8 years. In that time, I've never seen a community that has grown as explosively as the OpenSimulator community. This community, all the developers, testers, admins, and users have created something that truly has a life of it's own. I'm personally rather honored to have gotten a chance to be a part of something that really is going to change the world.

--SeanDague 17:27, 18 January 2009 (UTC)


"anecdotally speaking. My memory says: Once upon a time Mw posted to a libsecondlife forum (about 12/06) an innocent post saying "I have a little program that allows an avatar to login and chat. Does this interest anyone?". Others were interested and around 5/07 Deepgrid appeared one day. Co-incidentally, it was the day I showed up on #opensim. There was a sim, its name was "Mortville" and a half-dozen crazed programmers were jumping around on a little island, flying into the ground, all chat was showing up twice, IM crashed the sim, all objects were phantom, no trees, no nothing,but it was wondrous. Within a couple of weeks there were a dozen sims on Deepgrid.

In July, OSGrid was created by Gareth. Personally, I had a sim (Bao) on Deepgrid and a sim (Yang) on OSGrid. Everyday was a race to update the sims by seeing if Linux would compile as the core was 90% Windows. Most of the time it did compile. And yes, svn started out as "r1". My first svn was around r600 or so.

In 8/07, Gareth went to other things, and I took over OSGrid with about 245 users. 2 weeks later on the first software update, all the passwords were lost. After a while it was learned how to update reliably. Around 10/07, OpenLifeGrid appeared. We marched through r1000, r2000, and are now at r279x. Along the way various folks said " Wait a minute, we need to scope and specify this out. You are moving too fast, we need meetings. The response was then and is now. We are moving, please join us, it will evolve as it evolves."" -- Charles Krinke


In November 2007 I had finally realized that I didn't want to become an academic right then (I wasn't enamoured of writing formal papers back then though I have since completed a Masters dissertation :-) and I was wondering what I really wanted to do next. So I decided to adopt an 'opportunity activity' philosophy - in other words, I should be doing the thing which was more interesting than any of the other things that I could be doing instead.

This naturally led to writing code for OpenSimulator in my spare time :). I was at IBM at this point, and Sean, as he writes above, had established a great OpenSimulator interest group at IBM. This helped no end in getting familiar with the project and with other people interested in OpenSimulator. I ended up getting my first patch in at Subversion revision r2449 (November 2007) and joined the core group in December (with my first commit at r2710).

Since that time a lot of code has been written (we're up to r8136 at the time of writing in January 2009), a lot of features added, a lot of bugs fixed and various crises and decision points somehow handled along the way. The community has got much bigger and has become pretty diverse, with individual privateer coders doing great work as well as those folks with corporate sponsorship. On a personal note, since becoming a contributor to the codebase I've moved to a company and position where OpenSimulator plays a large role and then onto consultancy work involving OpenSim, so the hobby has truly become the day job!

It's difficult to know what the future holds, since things are changing fast in the virtual worlds/environments area. But I'm hopeful that OpenSimulator will continue to adapt and grow, especially with the great people that we have in the community and those that I hope will join it in the future.

Justincc 18:46, 25 January 2009 (UTC)

Adam Frisby

Some of the really ancient history:

  • Mid-2006: Me/JH work out chunks of the SL protocol from Ethereal dumps

... then we were told by another outside-of-SL [Rade someone?] developer that SL has its entire protocol stored in a file called 'message_template.dat' which is just a .txt file xor'd 0x43.

  • Slightly later: We (mostly JH) write a basic client in C++ using BOOST.

... which turned out to be a complete unmitigated mess of thread crashes ...

  • Then take 2 is written in C#/.NET and gets a lot further, a lot faster.
  • Jan 17th-ish 2007: Darren/MW writes a simple server using libsl as the base; a lot of it is based on 'repeating' captured packet dumps in response to situations.
  • Jan 2Xth 2007: LL releases the client code
  • Jan 25-9th: MW releases his server emulator onto one of the forums, me & a few others are intrigued.
  • Feb?: MW/lbsa/Gareth/me are the first committers
  • Feb->July: We rewrite the code from scratch at least 4 times.

... settling on '0.2' which forms the basis of a lot of the current architecture ...

  • July: SDague from IBM gets signoff to start committing code to OpenSim.
  • ... *stuff happens* ...

Adam Frisby, opensim-dev list post, 01:37, 12 February 2010 (UTC)

The Beginning (January - March, 2007)

We need some edits from folks who were here and remember this 3 month period.

More Beginning (April - June, 2007)

DanXor: here's a chat log from April 17, 2007. This is probably around the first time I was on IRC. During the next few months, I did quite a bit of work on getting ODE to do basic collision detection. There were other physics contributors of course, I'm just trying to help recall the timeline.

I started doing checkins in August of '07. Before that I was submitting patches. At some point I contributed the bulk of POS physics, and then faded from the scene for a while.

<danx0r> there seems to be a ground contact issue -- my avatar is knee-deep
in mud most of the time
<Gareth> which physics engine?
<danx0r> I logged onto your test sim
<Gareth> ah
<Gareth> that's basic physics
<Gareth> someone needs to fix ODE
<danx0r> ie no ODE?
<danx0r> I know ODE a bit
<danx0r> pyOde anyway
<jhurliman> you have to plant grass. if there is only soil the avatar will
sink in, you need a strong root system to hold the soil in place.
<jhurliman> lol sorry
<danx0r> heh
<JCBrink> lol
<danx0r> if only
<lmmzowie> aynone else have r492 build fail on Mono?
<danx0r> I've been doing ODE for almost a year now on dayjob
<danx0r> the contact stuff can get messy
<lmmzowie> bbl. http://pastebin.ca/445169
* lmmzowie is now known as lmmaway
<danx0r> there's no "keep upright" joint like in Havoc

Ckrinke: I began a quest to understand bots when some land I sold on the maingrid sold in 30 seconds. During that quest, I studied libsecondlife and there was a reference to OpenSimulator so I logged onto the IRC channel one morning. There was this guy, saying "I'm turning DeepGrid on, anyone want to login?". I said I'm game and met half a dozen folks on "Mortville". Plywood boxen, no persistent storage, walking into the terrain, doubled chat and it was absolutely wondrous.

A week later I had a sim and attached it to DeepGrid and I could build things. Of course, I could not walk on any prim as there were no collisions, but nonetheless if was fun and interesting to build and walk around my very own sim. At that point, I bought 3 books on C# and started studying.

Jeff1564: During this time I just started to build a new game in second life (when gambling was allowed there) I was talking with another scripter and I asked "is it that cool if we have our own "server" to upload textures without paying for it" and he told me " well, there is a project out there called opensim where you can" bam! "key word". Finally after some research I found this page (of course the page at that time was a bit different). Well, I downloaded Opensim and tried to build the server. After some issues I got it to work. Finally I was logged in...Wow!!! I was there. I was so excited that my heart was racing and I was laughing out loud like a crazy mad man! .. "I got it!" .. "I got it!"... (I think anybody who has the same passion for this would know what kind of feeling that is) I told my friend in France to try to login.. hehehe my first external login on MY server! Of course at that time myopengrid was not a grid just one region running as a stand alone mode. So, it was me and him in-world (do you remember that guys testA ~ testZ?) My friend asked me "what we can do here?" and I said "almost nothing:)" and he smiled and said "cool. Let's do that!" lol I remember at that time scripts would sometimes work or not... you had to be careful not to go to the edges of the island or you would get stuck there. So what about your appearance??? Forget about it. Teleport?? What's that? Every time the server had to be restarted, you would have to create new t-shirt, pants etc. The default texture was different then now too. You can see it in the video I created September,2007 http://www.youtube.com/watch?v=AwYQL7nMENQ. It was the best thing in the world, to work in your own server and have fun there too! There was always a lot of people in the irc chat room at that time, about 20 guys! We all had more questions than answers :-)My nickname then was "potter" (jeff1564 now). I'll look in my hard drives to see if I have something more about that time. OpenSimulator is not just a software for me, it's a religion! I think everybody here feels the same way and enjoy it more and more everyday!

Grids? Hmmm. (July - September, 2007)

We need some edits from folks who were here and remember this 3 month period.

ckrinke: Sometime in August, Eric Reuters interviewed Adam on my sim, Bao. Eric asked a number of interesting questions and then wrote something completely outrageous. A week later, during a heated discussion, the subject of directing and maintaining OSGrid came up and I jumped at the chance to take this tiny grid with a few sims and see if I could do something with it. I was terrified and spent two weeks studying MySQL only to find that on the first update I lost all the passwords in the datastore. But we were running and sims were being added.

jeff1564: I made this video at the time that I was testing to link objects.. take to inventory and rez again in the ground.... http://www.youtube.com/watch?v=AwYQL7nMENQ As you can see the default object texture was different then.

Hype Begins (October- December, 2007)

We need some edits from folks who were here and remember this 3 month period.

ckrinke: October 31st OSGrid had 250 users and 25 sims. December 31st OSGrid had 600 users and 75 sims. Some region crossings were possible about 40% of the time. A few inventory items worked. Nebadon built a fountain on Wright Plaza and we agreed to turn the water on when the particle system worked.

The First Birthday (January - March, 2008)

We need some edits from folks who were here and remember this 3 month period.

ckrinke: Jan 31st OSGrid had 1150 users and 150 sims. March 31st OSGrid had 1800 users and 200 sims.

Inventory? (April - June, 2008)

We need some edits from folks who were here and remember this 3 month period.

Hype Begins (July - September, 2008)

We need some edits from folks who were here and remember this 3 month period.

Hype Continues (October - December, 2008)

In October the first version of the Search was introduced on OSGrid, to see if it would work inworld.

Bruce Patton: 20th December, managed to get a 6-region HG enabled standalone grid to work properly. A lot of trials and errors during November but with help from Diva it finally worked.

We need some edits from folks who were here and remember this 3 month period.