Tag Archives: opensim

Hey Folks, Please Get a Sense of Humor

There has been some interesting and amazing “outrage” by a bunch of people today of the OpenSim April Fools joke, which was:

  • non destructive change of avatar appearance (no data on disk changed)
  • temporary
  • never put into any release version, or stable tag
  • only in the unstable upstream raw subversion tree

Lots of people got bent out of shape over it, many throwing temper tantrums on the opensim lists. 

I’m very glad that so many people feel so entitled that they should be able to run unstable code that the core team says “never run this in production, ever, only run it if you want to help test”, not follow any dev discussions, the commit list, or irc (where many people were happily point to the patch to change this), and if anything is out of the ordinary someone owes them.  But that’s really not the case. 

This is an open source project that a lot of people put a lot of love into, and it’s also an open source project in a technology space that is defined in most people’s minds by flying purple penises.  This violent reaction to a small amount of fun in trunk is just crazy.  I do hope that everyone who is outraged wrote nasty letters to youtube, google, cnet, and the rest of the internet today.

I we had changed this in a release version, I would consider that over the line.  But trunk is fair game for all manner of experimentation, on April 1 or any other day of the week.  Sometimes fair warning is given, sometimes it isn’t.  I was personally responsible for a 5 hour outage on osgrid because the Asset migration that I didn’t think would be an issue, and I’ve broken trunk my fair number of times.

Before you get self-righteous about “you people that have, for free, provided a viable, commericially friendly 3D engine, decided to do something in your unstable tree that doesn’t hurt my data”, think about the fact that people are doing this on their spare time, and for the love of it.  The net effect of all this grumbling isn’t changing whether or not there is an April 1 next year, it’s mostly changing whether or not people feel there is a fun loving community here that they still want to support.  Fortunately there has been more user support for being fun loving than against, so the whiners aren’t ruining it for everyone, at least not completely.

It really reminds me of a great picture that Roo Reynolds took at the Rails Conf a while back:

Now really, “why so serious?”. 🙂

OpenSim Planet Updates

I made a couple of updates in the last week on the OpenSim Planet.  First of, I’m more strictly trying to only pull in the “opensim” tag by various blogs.  This helps keep the planet more on topic.  This pruned out some of the posts that were listed on here previously.  I tried to make it a bit more clear how to contact me, and that I really only want “opensim” tags.

We also got a few new blogs up there including most recently the rezzable blog.  Some good stuff there.

I also decided that the previous 60 entries on the front page was getting a bit out of control, so now that there is plenty of content coming in, the planet will only provide the last 14 days worth of items.  That seems a bit more sane.

I’m also going to try inserting the Delicious blog stream for the opensim tag.  Please let me know if you like it or not.  I’m on the fence right now, but it does seem to surface some things that don’t surface otherwise.

… created almost entirely by a bunch of volunteers

By the late 1980s, the world had many competing vendor-proprietary networking models plus two competing standardized networking models.  So what happened?  TCP/IP won in the end.  Proprietary protocols are still in use today in many networks, but much less so than in the 1980s and 1990s.  The OSI model, whose development suffered in part because of a slower formal standardization process as compared with TCP/IP, never succeeded in the marketplace.  And TCP/IP, the networking model created almost entirely by a bunch of volunteers, has become the most prolific set of data networking protocols ever.

I read this over the weekend in my Cisco networking book (last paragraph on page 21 of the CCENT book).  And it stopped me dead in my tracks.  The timeliness with OpenSim’s 2nd birthday was just striking, and made me even more convinced that we are working on the future Apache of 3D applications.

Happy Birthday OpenSim.  You are a really tallented 2 year old already, I can’t even imagine what you’ll do at 4.

Thoughts on the Ideal OpenSim / SL browser

There has been a lot of work in the last few days in different directions for OpenSim / SL browsers.

I started playing around with Hippo Viewer, which has very nicely let me convert a bunch of my test environment to mega prims. So much nicer than large link sets. In the process I started thinking about all the ways in which people are making changes to the SL client to suit their needs. A non comprehensive list of items people seem to want to change are as follows:

  • prim policy – how big can a prim be? how many can be in a link set? What’s allowed to be physical? What are the limits for attribute changes (like % hollow).
  • appearance policy – what modifications can the client make to their appearance. (for 2nd graders Rich removed the “take of clothes” option)
  • url references – where does the search box go to? where does the front page go to?

If you start looking at these you see a theme. All of these are decisions that the server really wants to make (so it gives the control to the grid opperator), but that today are hard coded into the client. So much of what exists in the Second Life viewer today is a shared construct between the server and client. An understanding.

But as we extend past the 1 use case of Second Life (or the 2 if you include Teen grid), we find that the policy created for that one use case falls pretty short when creating different use cases of the underlying technology. By default, it means that users are having to dive in and change the client if they want to do something different. Fundamentally they are gutting the Second Life ™ use case out of the Second Life open source client code. As a side note, we’ve tried really hard in OpenSim to keep the use cases out of the platform so that many conflicting ones can be implemented. While not always successful, the multitude of uses that you can see on Planet OpenSim show we’re doing at least fair to middling on that front.

A few features of My Ideal Viewer

So, back to a few thoughts on my ideal viewer, and what it would do. I have no allusions we’re going to get there any time soon, but it doesn’t hurt to write down a few thoughts:

  • Cross platform. If it doesn’t work on Windows, Mac, and Linux I don’t think it will have any real chance of being univeral
  • URL bar. We keep talking about this a being ubiquitous browser like experience. Imagine if Firefox didn’t have a URL bar. Having ogs://osgrid.org/Wright%20Plaza/128,128,22 do the right thing is really important. I can put that link in a webpage, or IM it to someone. And all the addressing scheme needed is there.
  • Don’t do auth up front. One of the issues with the viewer today is that you have to put in account information before you can ever have your first conversation with a simulator. Why? HTTP defines a way to ask for auth later. If we talk about moving between grids we need to have the ability to do that. It also raises the question of not asking for auth. Some times a read only pseudo anonymous view of the app is appropriate, but that’s hard to do today.
  • Let the server define more policy. Once you are connected to the server it should be able to tell you:
    • Various relative applications urls (search, money, map, etc). The non existance of these urls means turning off the feature.
    • Limits for the environment. This include build policy (i.e. size of prims), appearance policy, and any other policies you’d like to define. These would of course be server side enforced, but letting the client know what the min / max values of dials should be would be a huge help (and let you have a single viewer work for SL, osgrid, and thousands of different 3D apps built on top of OpenSim).
  • Content plugins for the viewer. One of the things many people want to do is experiment with different types of content integrated into the environment. One of the massive wins for HTML was letting you embed anything as long as you specified a mime/type. And one of the big wins for netscape was defining an interface where you could write a plugin to handle foreign mime/types. You would need at least 2 types of content plugins. A surface content one and an object content one (i.e. 3D content in a different format). This is a good place where the SL use case runs against many others. People want to define a surface as an off site image url, but this breaks part of the SL use case in charging for content uploads.

These are by no means a comprehensive list of what I’d like to see, but it is a flavor. The power of the technology with a viewer that is that flexible would be incredible, and the number of use cases it would be applicable to would be way what can be supported today without digging in and modifying the code yourself.

Comments always appreciated, even if you think I’m just a moron for what I’ve said here. I’ll be traveling a bit over the next few weeks, so if I don’t get back to you quickly, it’s not you, it’s me being on the road. And, as a reminder, these views by no way represent my employer, they are mine alone. 🙂

The next stage in OpenSim community growth – OpenSim Forge

The OpenSim community is one of the most vibrant open source communities that I’ve had the pleasure to be a part of. We’ve got an active set of core committers, an active set of more casual developers constantly providing bugs and patches to the project, and an incredible active set of users that are testing nearly every checkin out there. This kind of community is really too big for one project. Many of things things the community is interested in doing around OpenSim, like alternative grid servers, or admin web interfaces for opensim, are great things, but don’t really make sense in the scope of the main OpenSim source tree. Many of these early efforts set up sourceforge projects, but it was sometimes difficult to find they existed.

Welcome OpenSim Forge!

brought up the idea of setting up a gforge instance for OpenSim a few weeks ago, and things started rolling from there. Adam did all the leg work on this one, so many props to him and his team.

OpenSim Forge is a site for hosting OpenSim related open source projects. All projects must be under an OSI approved license. BSD license is encouraged, as that’s the license of OpenSim, but it isn’t required. The point is really to just be a one stop shopping for opensim related code, and to make it very easy for anyone that is interested in adding to this community to have a place to stick their project and get visibility.

In the 10 days since the site went live, we’ve got 10 public projects already registered, plus a few more in the queue. Now, I don’t think the 1 new project a day pace is going to keep coming, but as can clearly been seen the OpenSim community is bigger than just the OpenSim project. Here’s what we’ve gotten already up on OpenSim Forge:

  • 3 administration tools for OpenSim (2 web and 1 console)
  • 2 alternate grid servers (ASP.NET & Perl)
  • 1 project for patches to OpenSim (the Open Grid Protocol enablement patches)
  • 1 experimental viewer for OpenSim (not based on the SecondLife client)
  • 1 opensim based application (done via Application modules) which is astro physics simulation
  • 1 opensim test suite
  • 1 tray launcher for OpenSim

It’s a very powerful thing once a community grows beyond it’s initial boundaries, when it truly takes on a life of it’s own. I think the quick uptake on OpenSim Forge shows we are definitely at that point. I see this as a new stage of growth in both the community and the project, and what an exciting stage that is.

Speaking at Linux World on OpenSim

If you are in the San Francisco area in early August, I’ll be giving a presentation on OpenSim at the Linux World Conference. Our local linux users group got a preview of that talk this past week. For the talk I started up an OpenSim instance on my laptop and let everyone with wireless and a capable video card connect to it, with much hilarity ensuing. It worked so well, that I’m definitely going to include that portion in my talk at Linux World.

If you are going to be around there, let me know. I’d also love to meet up with OpenSim folks in the SF area during my trip out.

Why is there no “No drop permissions” bit in SecondLife?

I’ve been thinking a lot about the way the implementation of SecondLife has created a very specific culture in that environment. One of the issues SecondLife is currently having in expanding scope, is that culture makes some things easy, some things hard, and other things impossible. The technology is never impossible, but meeting the needs of the residents of can be. I’m going to start posting some of these “what if” bits on the technology here under the opensim and secondlife tags, please feel free to jump in and discuss.

The Permissions System

The SecondLife permissions system is a curious thing:

  • No modify
  • No copy
  • No transfer

The model provides the ability to let people create modifiable, but un resellable goods, or prevents a good from propagating. What it doesn’t really do though is encourage Creative Commons content. Most creators that create “full perms” objects, find that someone takes a copy removes some of the permissions, then sells it elsewhere.

There has been a lot of arguments that a CC model for content creation can’t work on grid scale, but I don’t think it’s been given a fair shake. If you really wanted to try this experiment, you’d need another bit (at least one more) which was:

  • No drop permissions

Doing so would let you put content into the environment that has the Modify / Copy / Transfer bits enabled, and no down stream person could turn them off. “I gave away this thing, and want it to be part of the commons. Anyone can have it, but also has to keep it in the commons.” To support this kind of model building content on the main grid, Linden could even remove the upload cost for NDP content, making it a richer world for all.

The recent trend to do public works projects in SecondLife, paid for by the Lindens, means there is definitely some need for a commons space. Perhaps expanding the permissions model to keep free content free would do some of this on it’s own.