09 April 2012

The Lab gets one right

At last Friday's Third Party Viewer developer's meeting, Oz Linden announced an upcoming program to let TPVs sublicense the Havok libraries that LL is using in the viewer. This is a good thing, and LL deserves to be applauded for getting this one right.

LL uses the Havok libraries in the viewer for two things: to do some analysis on mesh objects at upload time to assess their costs on the SL infrastructure in order to assign a prim equivalent (PE) value, and to edit the mesh used for the pathfinding feature currently in development. TPV developers have worked around the first library, with results that are usable if not as good as LL's; the second is very new - large parts are still in development - so that we haven't had a chance to do so yet.

Havok is the physics package used in SL. It's hideously expensive. LL uses it because they have to. TPV developers can't afford it themselves.

I'm very pleased that LL found a way to let TPVs sublicense it. I'm sure it cost them some extra money. It also requires that they place no small amount of trust in TPVs not to let it leak to unauthorized people. For those who think LL would rather see TPVs wiped out, this is a clear demonstration that it's nowhere near that simple.

The sublicense carries with it some pretty substantial restrictions:
  1. The viewer it's part of must be LGPL, or licensed under some other license that allows linking with closed-source libraries. As Oz put it, "we're not going to help you violate the terms of your license." As a practical matter, this means that GPLd viewers need not apply. That, in turn, means that no V1-derived viewer is eligible, since those are all GPLd. The Exodus viewer is not eligible either until they finally relicense themselves under LGPL - which will let them join the TPV community instead of merely taking from it.
  2. Be listed in the TPV Directory. This one matters because it gives LL some recourse if the library leaks. I would presume that each TPV's copy of the library will be stamped in some way that lets the source of a leak be traced.
  3. Be substantially based on current LL code for those things that use Havok. I'm not sure just how strictly this one will be interpreted, but it can be read to mean that the TPV has to be fairly close to the current released LL viewer.
  4. The linked page says "be focused on Second Life". The actual license is stricter than that: paragraph 1.1(b) of the agreement says "Sublicensee must require the Third Party Viewer to connect only to servers owned or operated by the Company". We don't know yet whether we'll have to rip non-SL grid capability out of Firestorm yet to use this license, or if simply disabling the code if the viewer is not connected to SL is sufficient. We're really hoping the latter, as we're not going to drop OSGrid support for this or any other reason. If we can't, we'll have to produce two versions, one with and one without.
I don't see the restrictions - especially number 4 - as being a major deal. Looking at it from LL's perspective, it would make no sense at all for them to spend money on the library sublicense agreement with Havok only to have TPVs use it to help out their competition!

This is a very positive step for LL to take for TPVs. I'm pleased, and hope that more goes this way. It shows a true partnership between the Lab and TPV developers, something that's been lacking ever since the last round of TPV Policy changes.

No comments:

Post a Comment