Saturday, March 1, 2008

Let the thousand worlds bloom: the response to Gwyn's article about IBM, datacentre, and OpenSim.

Gwyn's mention of IBM putting the datacentre in OpenSim is by far more colourful than my dry hyperlink. And I'd figure it might be fun to write up a followup post. Disclaimer: all of the below is my personal views, and does not necessarily reflect any of the official positions of the "OpenSim".

First and foremost, it is a bit wrong to compare the OpenSim with Linux - the former is BSD licensed, the latter is GPL licensed. GPL does impose some "policy/political" views which BSD does not.

BSD licensing terms is a deliberate permission of the results to be used for any purpose, including commercial, by anyone.
If they do not feel like contributing back the results - so be it - but yet, with metaverse, I suppose it's in everyone's interest to have as much compatibility as possible, and the current events seem to prove this.

So, yes, you can take the code, put all the features you need, run your own stuff, and noone will feel unhappy (as soon as you do not refer to your code as "The OpenSim" - that irresponsible action would be indeed frowned upon).

The comment about the apache is not totally correct - there's a plethora of web servers designed for various purposes, in particular, the lighttpd is another very popular server, and there are tons of others. And I would not be surprised to see more than one server of the SL flavour emerging in the future.

I am not sure whether the central grid is "The" interconnection point - as there is still an issue of trust in the distributed environment, and at a certain point in time they will hit the wall, hard and solid, in case they do not pay the attention to this.

OpenSim is an extremely interesting beast with respect to its dynamics - everyone in the team is there for their own reasons, yet the end result that there is something evolving - which is quite an amazing thing to me, and I think this is not in the last order attributable to the BSD licensing which we very much want to preserve - primarily because it gives everyone so much freedom.

As for the comments by Jo, etc, let's go over them, they are amusing :)

"Open Sim's technical direction is to remove "stupid" limitations and in crease the power of the scripting language. This so increases the ability to grief within a world that essentially for any sort of stable environment user created content would have to be locked down solid."

This is soooo limited of a view that I am afraid to comment about this. The issues with the content, like I wrote just a short while ago are not technical, they are within the heads of the population who is always hungry for el cheapo content regardless of its origin. While there's a demand for the stolen content, there will be always a supply. And tackling this is a very hard problem - so given that for the time being we have mostly "good" users, this did not seem to be the biggest problem - there're a lot of far more low-level things that need to be addressed. So, first things first. Besides, "locked down solid" is a bit of an outdated concept. The information that is intended for the public viewing (which is what happens with all the content - since it essentially gets sent to all the viewers observing it) is hard to be made "locked down".

And yes - given the nature of the opensim, the flexibility and modularity is one of the key items. Right now, there are engines for LSL, C#, VB, JavaScript scripting engines. Of course, everything is a bit raw, but it's there. Go pick your favourite and hack on it. Besides this, some of the uses of OpenSim do not imply it being used as the worldwide open metaverse platform - hence the extra flexibility.


"LSL compatibility and asset sharing are not priorities for Open Sim. Even client compatibility is up for grabs. Therefore those will not be easily be leveraged."

LSL functions are being implemented by those folks who are interested to see it. While it's true that OpenSim is not intended as a clone for SL, noone prohibits anyone from having it done. Up for some coding, Jo ? :)
True that the client compatibility is mostly for pragmatic reasons - there is no reason to stick to that forever, as well as no reason to reinvent the wheel too much at this stage,and again, the compatibility is something useful to have.

"At some point, probably soon, it will very soon no longer be "too early" to license LL's server code. Then you have the choice between hiring programmers to patch OpenSim or programmers to actually create content for you in stable, enterprise proven, code."

Hiring the programmers to create the content is one of the worst decisions a hiring manager can make, really :-)

5 comments:

Jo said...

I was hoping that you would engage my comments more seriously. For example:

"Hiring the programmers to create the content is one of the worst decisions a hiring manager can make, really"

A company has resources and chooses how to spend them. The *point* is that they can hire people to work on OpenSim, or they can hire people to create content. Each costs money. If you hire people to work on OpenSim, then you still need to hire people to work on content once OpenSim is to the point where it is commercially useful to you. I'd rather have seen you engage this point rather than erect a trivial strawman about getting programmers to produce content. You just have to glance at any of my builds to see what a ridiculous concept that is! :-)

"everything is a bit raw" is a bit of an understatement. I wrote a tool that would analyze LSL scripts with respect to what functions have been implemented in OpenSim and report on the results. 77 of the 78 scripts that happened to be on my hard disk were unrunnable in OpenSim. So much for those 3 billion lines of LSL code out there.

"Up for some coding, Jo ? :)"
This appears to be the typical OpenSim answer. 'If you don't like it, roll up your programmer sleeves and do something about it.' This developer hubris is naïve if you are going to look at this from a commercial perspective. As above, it's a question of how far your dollars go.

From a personal perspective, my interest is integrating IBM Lotus Workplace products into virtual worlds. (Personal, alas, I don't get paid for this.) Choice one: work on this with the already existing, massively used, world of Second Life, and burn some time getting around the technical limitations there. Choice two: work on OpenSim to make it easy to integrate these things technically, then work on OpenSim some more to make it capable of deployment at an enterprise level, the hope that users flock to OpenSim, and then work on integrating in Workplace technology. It's not a hard choice.

The outcome of a similar debate with another IBMer lead to a bet between him and me about how far and how quickly OpenSim would go. More importantly, we came up with a metric for measuring that progress. The bet is chronicled on my blog and I'm happy to take anyone else up on the same terms. :-)

Dalien said...

Sorry for the teasing with the programmers content :-) I just could not help to pick on that :)

If you talk about integrating Lotus with 3D environment, I assume the confidentiality requirements will come into play - and satisfying them would mean hackery either with the client or with some kind of middleware that would intercept the packets and filter the content as it comes to the client, creating an "overlay" on top of the SL - which is, while looks easier, is a bit of a broken concept IMHO. And this is the bucks *not* spent on the content contrary to what you are saying, but rather on the coding.

Besides, there is an availability question - even though LL made somewhat an improvement in grid availability, it is still far from what it would need to be to allow it to be a layer to host the business-critical data on.

And aside from the above, there's one more thing - you're comparing an (obviously feature-incomplete, I agree) code base which is available for the download under BSD license *right now*, versus something which *may* be available sometime later under some form of licensing - and most surely not BSD.

I do not have any religious feeling about OpenSim nor any business interest as such - for me personally it is mostly just a means to relax and experiment - there're a lot of very interesting problems to solve in the distributed architecture with respect to the trust, identity, and storage.

Nonetheless, when I see the SL serverside code opened and licensed under the comparable (MIT or BSD) licensing terms - I'll be happy to take a look at the code and make the judgement and agree with you.

Till then, it is a comparison of apples and squirrels, IMHO. :)

Jo said...

"I assume the confidentiality requirements will come into play"
O_o I'm not quite sure what you think I'm talking about, but I'm pretty sure it's not what I'm talking about. I guess I have to be clearer. I just did a posting in my blog so I could be as longwinded as I like about the sorts of integrations I'm talking about. No confidentiality agreements, hackery, protocol interventions, or overlays required. If you still think my approach is a "broken concept" I'd like to know.

"you're comparing ... code base which is available ... under BSD license *right now*, versus something which *may* be available sometime later under some form of licensing"
First of all, licensing doesn't really matter to a business project. If you don't care about manipulating the code it's not a benefit to you that you can. What you care about is it's suitability for your purpose. *Right now* OpenSim is not suitable for any MMO purpose. Second Life is. As for timing, solving a legal problem is a lot easier than making open source code enterprise ready.

"it is mostly just a means to relax and experiment"
I think it's the same for most people involved in OpenSim. You have to understand this gives most people looking at it from a business point of view the willies. There's no one who will sign a support contract, no guarantee of stability or suitability. "But you can edit the code yourself" doesn't really reassure someone who just wants to get a job done with minimal risk.

"it is a comparison of apples and squirrels"
I couldn't agree more. That's where this conversation started. Gwyn assumed that OpenSim was going to have the same objectives and capabilities as Second Life (e.g. could run the 3 billion lines of LSL) and I was pointing out the problem with those assumptions. :-)

Dalien said...

re. confidentiality - thanks for the reference - you're building the visualisations of the data, and the info to do them goes into a domain you do not control. Of course if the spreadsheets contain the investment data, etc. - I suppose you would not want to push it into the SL. Or, any sane infosec department would not want you to do it :-) If you've been observing the domain tasting by the NetSol - where they'd register the domain which existence you have just checked - it's the type of thing I'm talking about. If your info is important, you might want to be a bit paranoid who sees it.

"First of all, licensing doesn't really matter to a business project." - Boo. This statement is *soooo* wrong. Ask the lawyer nearest to you what does he think about this statement.

"There's no one who will sign a support contract, no guarantee of stability or suitability." - take a look at this post. There's a market niche there indeed of someone charging the businesses for taking some part of liability for the stability/etc. And there are a couple of potential players for it.

re. running 3 billion lines of the LSL - it's a question of time and desire of folks.

here and here there's some information you might want to keep an eye on.

In any case - we'll see what happens in the future.

The fact remains the fact - the datacenter was built on the opensim code, and it is very hard to arque with :-)

Jo said...

"confidentiality"
If you note, in the use case, it is a non-profit company working with public data.
For dealing with confidential stuff you need a hosted instance behind your firewall. That's not there today but it's not far away either.

"First of all, licensing doesn't really matter to a business project." - Boo. This statement is *soooo* wrong. Ask the lawyer nearest to you what does he think about this statement.

"There's a market niche"
I'm not interested in market niches. I'm interested in what can be used today by fortune 500 companies. The aspect of virtual worlds that has the most power for business transformation is the MMO aspect. OpenSim is quite some distance from that.

"running 3 billion lines of the LSL - it's a question of time"
Yes, but I can run those 3 billion lines of LSL TODAY in Second Life. Why wait?

"Ask the lawyer nearest to you what does he think about this statement"
Trust me. I deal with lawyers all the time. Open source licenses are the worst to deal with, especially if they are viral like GPL. If I wanted to publish the tool I mentioned for checking if a piece of LSL code would run to the web (which, incidentally, dynamically references the web page you gave) I would have to apply for a Certificate Of Originality. This is a painful process of discovering the provenance of every line of code in what I'm shipping, and if we have the rights to publish it. For commercial code with which we have a commercial license, it is easy. The license clearly states we have the right to redistribute without further pain. For open source code it gets... complicated.

"the datacenter was built on the opensim code, and it is very hard to arque with"
I'm happy to cede OpenSim it's niche. I've never argued that. I've only argued against assuming that it is moving in a Second Life direction of that it will have the aspects of Second Life that make it compelling. It's a conclusion that too many people jump to.