Disclaimer: I don’t speak for InWorldz, but I contribute fixes to the core grid server software, and I do know what I like when I see it.  Some of this might be inaccurate, or even dead-wrong, but I believe it to be reasonably close, at least for the points I’m trying to make.

Sometimes things are so wonderful that people simply fail to believe it.  This is more than true for most software-related topics, because quite simply “all software is crap”.  In my “RL” work, our slogan is to just be damn sure that we are less crappy.  Developers tend to have wild-ass dreams about what can be done, and I think they are for the most part correct, but then those same developers tend to neglect the key word in that sentence: can.  The corollary here is that very infrequently will those wild-ass dreams become reality.  Either the plans weren’t as good as originally thought, or the execution of those plans has failed in some way, or the skills of those executing the plans were in adequate, or the resources required (money, time, manpower) fell short.

But occasionally something truly wonderful does get developed.  The Phlox script engine for InWorldz is one such thing.  Solving the problems Linden Lab has struggled with for so long with the SL engine, and problems that the Open Sim script engine doesn’t even really attempt to solve.  It is going to revolutionize InWorldz, and bring reliability, stability and performance to alternative virtual worlds.

Philosphies

When I discovered InWorldz back in June, it did not take long for me to realize the philosophies were different there.  They wanted to provide a platform that enabled people to live their dreams, not to define a platform that limited those dreams.  They did not require any payment for this.  They welcomed everyone, and made it very clear InWorldz was a world of tolerance and hospitality, whether you were a big name content creator or an occasional login who loved the freebie stores and created objects only on public sandboxes. (InWorldz provides four full regions as public sandboxes).
For the few things that they do charge something for, the InWorldz founders also chose to charge as little as they can get away with; so they don’t charge at all for things that help to enable creativity, content and growth of the population.  They don’t charge for uploads, for group creation, … heck the only things they charge for are those things they must: regions and cashing out their currency ($I’z) to US$. Everything else is free.  And even in those two cases, they give as much as they can, while encouraging their bread and butter revenue, region sales.  For regions, you get 35000 prims for your first region, 40,000 prims per region if you own 2 or 3 regions, and 45,000 prims  per region if you own 4 or more.  This has been the case since the first day, and is a realistic limit.  This also allows third-party landlords to offer very inexpensive rental parcels with larger prim limits (something the InWorldz founders would never compete with, contrary to the Linden Lab’s philosophy).  Again, the InWorldz philosophy is to enable, everyone.

Priorities

Returning to the intro paragraph, in software development terms, InWorldz has both idealists and pragmatists, recognizing the limitations of starting two years ago with the OpenSim software, trying to build something wonderful from that base starting point, but recognizing it has a lot of work to finish before it is stable and mature.  Two years later, it’s still in beta, but there is a light at the end of the tunnel.  And it’s coming, soon.  The Phlox engine is a major step towards 1.0; one of two major work items remaining (the other being good high-performance physics).

But contrary to what other bloggers have written, Open Sim is not stable, certainly not mature.  Neither is InWorldz, yet.  And InWorldz is not Open Sim; it is a derivative of Open Sim but it forked a very long time ago and has had very significant changes.  Both are in beta, and both are “good enough” already to be a viable alternatives to Second Life, which in spite of it’s lengthy history now is also still not very reliable, for exactly the same reasons.  In the case of both SL and OpenSim, it seems that the developers have chosen to focus not on stability and reliability of core functions, but rather to add new shinies that most non-vocal residents would rate way down the list of priorities, or at the very least, allow major disruptions to creep in.

Lets see, originally it was, do you want sculpties… or reliable teleports?  (Years later, they are almost reliable.)  Viewer 2 or… reliable region performance?  Display names or… low-impact scripting that simple cannot cause lag?  Grid-to-grid teleports (HyperGrid) or… solid permissions you can rely on? (Of course, if everything is free and you don’t care about permissions, something better than HyperGrid may be a good thing.)  Still, a connected grid is a good 2.0 feature, but it sure shouldn’t make the priority list prior to the 1.0 release, given the other core features that also cannot be depended on.

At InWorldz, the major components of the server have been examined and they have prioritized the outstanding items needed to stabilize the core and provide reliability and performance to the residents.  These aren’t fancy bells and whistles; these are features needed on any grid, some of which are still not even reliable on SL.  Operations like:

  • rezzing objects from fetching and changing stored assets,
  • inventory operations,
  • teleports,
  • the persisting and stability of objects in regions,
  • fully-functioning permissions,
  • impact on regions caused by avatars, scripts and objects,
  • proper backups of all regions and core servers to support recovery in the event of major problems
  • automated recovery if a region fails in most cases,
  • manual web-based restarts of regions available to owners in the event the automated recovery did not succeed,
  • LSL script compatibility with SL
  • strict protection of intellectual property rights
  • full-functioning commercial operations with cash-out to PayPal with full logging of all transactions
  • reliable messaging, profiles, user presence

Really, these are core features required on all grids (I probably missed many), and yet in many cases, they remain unavailable on any.  With the completion of the new Phlox scripting engine, InWorldz will be able to finally claim to be the first grid (including SL) that has all of these, although the last one still needs significant work.  Some of the others still need a little work, but there are no major gotchas.  The biggest remaining item not on that list (because I consider it a very desirable feature but not a core requirement) is a good physics implementation, so not-so-coincidentally, physics and messaging/presence are the next two items on the InWorldz priority list.  With those, I fully expect InWorldz to be able to declare their 1.0 version.

And that is a good point: none of these grids are ready yet for their 1.0 release.  As a perfectionist, I feel it’s almost a crime to charge for them as if they are stable, ready, commercial products.  Perhaps that is another reason that InWorldz only charges for the hosting of (beta) regions, because that is a direct fee they must pay to the hosting/network provider.  That, and the fact that InWorldz wants to enable you, not milk you.

Missing The Point

Given their name, HyperGrid Business clearly feels that HyperGrid should be a “now” feature, a pre-1.0 feature.  They must feel that it is not completely inappropriate for beta grids to introduce major permissions complexities on top of a permissions system that is already significantly flawed.  (I know, I reviewed the OpenSim permissions system code for InWorldz for two months, an effort to fix the massive problems in it.  In the end, I removed most of that code and replaced it with something much simpler, including fixing the bugs Linden Lab says are too difficult to fix.)  But that article completely misses the point:

This isn’t the first time that InWorldz has made changes to the OpenSim software on which the grid operates. 

No kidding.  InWorldz was founded two years ago (not one year, as HyperGrid Business reports) and is very actively being worked on.  Almost every component has had major sections either rewritten or completely replaced.  The entire assets chain is new, including a very scalable new asset server (actually a scalable grid of asset servers operating in parallel).  The backup process is new.  Sculpted prims that respect the physics of their meshes, so you can walk on them, or in them, as expected.  The permissions system significantly rewritten in order to properly resolve whole classes of permissions problems.  And many other major reworkings to core subsystems.

Now the script engine has been replaced with something that actually works and works well.  Something where a rogue script cannot hurt region performance.  An script engine that has tiny memory requirements.  An LSL parser that handles more cases than either the SL or OpenSim parsers, while providing better error reporting and handling than either.  And an engine that doesn’t blink when you cross a region.  InWorldz is the first grid to have full control over regions and the scripts running therein.  No MONO or .NET dependencies and all the loss of control that goes with that (and there is a lot).  One that loads and unloads scripts amazingly fast.  One that runs 100-1000 times faster than the Second Life engine.  And one that is very extensible, to other languages, or other features, other functions.  For a scripter, it’s orgasmic.  To HyperGrid Business, this is a Bad Thing.

InWorldz originally started with the 0.6.5 version of the OpenSim code base, and modified it to make it more stable and resilient.

That was one of the few statements I could agree with.  But it was also to control the changes.  With the hands that were working on OpenSim, it was proving to be more of a liability than a benefit.

Since then, the OpenSim developers have improved the code substantially

Yes, InWorldz is probably missing “stuff” from Open Sim.  To some, that might be seen as a Good Thing.  I fire up a Diva every now when investigating bugs to see if the OpenSim behavior is any different than the buggy version.  I don’t think I have ever found that to be the case.  So InWorldz bugs continue to get fixed, and I tend to wonder what all that “stuff” is, that is being done.  Occasionally I see the weekly summaries, curious to see what the priorities are there, but lately though, not much has been happening.  All I know is that InWorldz has two years of heavy development and it’s growing (server development staff is growing), while OpenSim developers seem to be busy with other things.  Including conflicts of interest, if you factor in Avination.  You won’t find retail shops selling commercial goods in the InWorldz welcome area period, let alone those owned only by the grid founders.  You won’t find InWorldz founders competing commercially against their own residents anywhere on the grid.  Not as content creators, not as landlords, nothing.  The InWorldz founders have a far stricter code, and I have a great deal of respect for that, and InWorldz in general.  I admire them greatly, and I am proud to hitch my wagon to that train and ride on their coat tails.  The OpenSim project seems stalled.  The last official release was more than six months ago.  I don’t know what’s going on there but it matters little to me except when that project is held up as the reason that InWorldz should not be going off and fixing things on it’s own.  Anyone who says that just doesn’t get it.

By forking off from mainline OpenSim, InWorldz is now in a position to race to stay ahead of the army of open source developers working on improving OpenSim

Thanks for my chuckle of the day.  When they have the basics, like working permissions and a script engine good enough to build a proper commercial product on, I might take that more seriously and wish InWorldz had the shiny objects.  Until then, the statement above is actually literally accurate.

and with each new custom developed feature, it becomes that much harder to switch back over to the standard distribution of the software.

Why in the hell would InWorldz ever, ever, ever want to do that?  This author really, really doesn’t get it.  I can see a day when some fixes from InWorldz are made available to the OpenSim project, but that is not possible unless they change their policy that disallows submissions from anyone who has looked at viewer source in the last 6 months.  But frankly, why would one grid offer their improvements a project where they would be directly picked up by a project developer that also owns another competing commercial grid that does not push their improvements back to that same project?  That’s okay, it’s her choice to start her own grid, but it puts a hard wall between InWorldz and OpenSim.  Let’s keep the playing field level here.

Meanwhile, other grids are able to take advantage of OpenSim improvements without having to pay for any of the development costs that InWorldz has to incur.

They sure do.  But that’s okay.  If they are changes like HyperGrid that prematurely disrupt the work on stabilization and IP protection of content and reliability of the grid in favor of features that are way lower down the priority list, they are hardly desireable “improvements” anyway.

InWorldz has also invested substantially in grid services such as currency support and user and region management. But third-party vendors like PioneerX are now offering similar technology to mainstream OpenSim grid operators at low cost ($41 a month without in-world currency, $65 a month with). …  By continuing to invest in its own proprietary technology, InWorldz will continue to increase its overhead costs in comparison to other grids.

I hardly know where to begin with this.  There are some things that any grid owner worth their salt won’t farm out, with a dependency on a third-party, for key services.  I guess it’s something PioneerX recognized as lacking in OpenSim and jumped at the potential to make some money off everyone, except InWorldz who doesn’t need it.  Don’t turn that into a knock against InWorldz where it isn’t lacking.  Geesh.

Note to HyperGrid  Business: HyperGrid Sucketh Greatly – Deal With It

Another potential problem is hypergrid connectivity. Today, hypergrid allows users to take objects from one grid to another — something that many commercial grids, like InWorldz, Avination, SpotOn3D, and 3rd Rock Grid prefer not happen. However, future versions of hypergrid are expected to offer fine-grained controls that allow grid owners to keep content restricted to their grid, or allow it to travel only to approved, secure grids.

The future is the future.  Don’t knock InWorldz for not supporting something that is not actually available in any usable form.  One of the two primary HyperGrid developers has her own grid (Avination) and even she won’t use it.  Here’s what Melanie (who also owns Avination) has to say about it:

“I do promote the secure Hypergrid; Avination is not a walled garden by choice. However, to keep the work of our creators safe, we can’t, with the curent state of HG security, safely enable hypergridding in Avination. Rest assured that, once it can be done without inviting wholesale permission exploits, it will come to Avination.”

The red emphasis is mine. There, one of the two primary HyperGrid developers herself explains why any grid with any sense of intellectual property protection would not enable HyperGrid.  Yes it’s a shiny object that HyperGrid Business gets its name from, but read my lips: IT’S NOT READY FOR A COMMERCIAL PRODUCT. It may never be.  It’s a fun research side project, where no money for goods is involved.  And given the state of the Open Sim permissions system, I have no faith that HyperGrid will ever be appropriate for commercial grids that want to protect property rights.

/me calms a little.  🙂

HyperGrid Business clearly has a problem with grids that refuse to support HyperGrid at this time.  Or the author is assuming that InWorldz will always be a closed grid.  I wouldn’t assume that about any grid, even Second Life.  Or assuming that HyperGrid will be the inter-grid mechanism.  I’m not ready to predict that future but HyperGrid Business is.  Who knows what the future will bring?  If I was to make any assumptions like that, at least I’d know I was speculating, and not use that against one grid that is making the same decision as another, especially given the “wholesale permissions exploits” in the author’s namesake.

I have found HyperGrid Business and the articles by this author to be very informative and helpful in the past.  So I was rather shocked to see such a FUD article about InWorldz that so totally missed the mark.  Thanks for the unbiased reporting.  The HyperGrid agenda is clearly visible.