[Opensim-dev] Roadmap

Brian Wolfe brianw at terrabox.com
Fri Mar 21 19:52:04 UTC 2008


I have a problem. It's called frustration. First, I spent time fixing
MySQL plugin. Then time on getting MSSQL and SQLite up to MySQL feature
level. Then I hear about the great replacement for this mess called
TribalMedia SQLMapper. So I start investigating and poking. Then I hear
about nHibernate. Then all goes quiet. SO I chat with devs and decide to
spend time on SQLMapper so we can get out of the multi-SQL hell that
we're in. Then out of the blue, nHibernate is on the roadmap. ARGH!!!!!
Someone PLEASE SHOOT ME!

End result... I'm frustrated. I'm irritated. My regions STILL aren't
stable in the SQL Layer from version to version. I've invested near full
time for a month now in learning the SQL plugins and fixing things up.
I've thrown out many patches because the code base moves too damn
quickly while patches sit unused/tested/integrated. I've put off several
new features because of this instability/uncertainty. I've halted work
on HeartBeat. I've halted SQL plugin fixups. I've halted SQLMapper. I
feel like I've acomplished little more than a few minor bug fixes for
the many hours of work.

"don't break SQL" is what i've been told many times. Well, SQL is BROKE.
Has been. Will be until the OpenSim developers decide what it's going to
be for the forseable future. Yes, the core decides. No the core doesn't
have the time. Yes the core wants patches for bugs and features. that
side of the issue is beign addressed.


So. In the interest of getting some much needed answers so I can
actually contribute more than a few fixes and minor features... 

Answer me these riddles three!

Is nHibernate really what we need for OpenSim?

What about finishing off the SQLMapper donated by TribalMedia?

Is there a lighter weight SQL abstractor that doesn't complicate the
build process like nHibernate does and has the necessary features so we
can just get something in and stable?


Personally I'm concerned about nHibernate. Everything that I've heard
about it in the past is that it's a PITA to use. It's huge and far more
than most projects need.  Granted, I personally have never used
nHibernate, so this may all be completely wrong information.


I like the simplicity within the SQLMapper from TribalMedia. I've
already invested time in turning it into a storage plugin for
GridServer. I've added semi-complex WHERE statement handling to it, as
well as arbitrary single column based selecting. I love that it doesn't
need 2 stage compiling. 

On a realted note, I think it would be a mistake to pull the ability to
have storage plugins. I don't like the idea of having to learn the vodoo
magic of nHibernate in order to use backends that nHibernate doesn't
already support.

sdague informed me in irc (my apologies if I misread) that we would
still have the ability to load plugins, just not multiple. That's fine
if we keep the current interface based setup and just eliminate the
multiple support. :) I could write a multiplexer for when I need to
funnel writes off in a second direction, to somethign like a search db,
or a seperate presence system, or a magical flaming cow bot that updates
an in world map of regions online ;). So, please, don't toss the various
storage Interface classes like was done with appearance persistence. It
would be a huge mistake to loose that flexibility IMHO.

ok, enough ranting. For now, i'm stepping back from patching or working
on OpenSim until the core works out the roadmap and picks a friggin
storage system to chase. Once things are mapped, i'll dive back in to
help get it done as quickly as possible.


p.s. if I piss off anyone, or mistunderstood anything, please forgive
me. I'm poor. I'm stressed to hell and back. I've spent valuable time on
our future and seen it achieve little. Gimme a prozac or a bullet!


On Fri, 2008-03-21 at 08:49 -0700, Charles Krinke wrote:
> As we head towards an OpenSim 0.6 release, hopefully in about 6-8
> weeks from where we are now, which is 0.5.4, it seems to me that we
> have a chance to make a couple of minor snapshot releases and then
> 0.6.
> 
> Recent thoughts indicate that the following releases on roughly two
> week intervals might be appropriate. That is, 0.5.6, 0.5.8 and then
> 0.6. 
> 
> Our 0.6 Roadmap (proposed) at http://opensimulator.org/wiki/Roadmap
> has:
> 
> 
> 0.6 Proposed 
>       * Database 
>               * NHibernate (if possible. This unifies a lot of the
>                 data paths and there is some sample NHibernate code on
>                 the list)
>               * Persistance for AV Appear across Sim Reboots (partial
>                 implementation by MW already)
>       * Scripting 
>               * Complete LSL functions (~ 30% now)
>               * Script engine base improvements
>       * Grid Mode 
>               * OGS2 REST protocol (we've been kicking this around for
>                 a while, perhaps 0.6 is the right time for it?)
>       * Physics 
>               * Hollow and Cut Prims support (need to write for 20
>                 prim types)
>       * Canned Assets 
>               * Clothes
>               * Bodies
>               * Prim Objects
>               * Animations
>               * Textures
>       * Profile 
>               * Would like to write a Profile Module interface that
>                 lets you backend the profile pane to various different
>                 directory services (sdague)
> So, I guess the questions for the group are:
> 
> 1. Does this represent out perception of where we wish to be for the
> 0.6 release?
> 2. Are two minor snapshot releases of 0.5.6 & 0.5.8 followed by 0.6
> reasonable?
> 3. Is merely increasing the time between the snapshots (if desired by
> core) sufficient for us to get to 0.6 without undue angst?
> 
> Yours Truly, Don Quixote
> Trusty Steed, Trusty Lance, Pesky Windmills.
> 
> 
> 
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev




More information about the Opensim-dev mailing list