“[Linden Lab] has every right to refuse to list third-party software in [its] viewer directory or to bar third-party software from the grid, for [any reason not prohibited by law],” said one developer who declined to be named,”but suggesting [in this case] that third-party developers are violating [the GNU Public License and intellectual property rights] is just bullshit. [It’s] wrong and it’s defamatory.”
I’ve paraphrased that just a little, partly to tone the language down a touch.
And back we go to LLKDU, the extended Kakadu JPEG2000 library.
As a part of each installation of an official Second Life viewer, one of the files copied to the user’s system is LLKDU. Neither statically nor dynamically linked to the viewer application at compile time, the library is loaded as a dynamic shared object sometime after runtime has commenced, if it is found to be present.
The code which automatically looks for and loads LLKDU (if present) during runtime was released under the GPLv2 by Linden Lab as a part of the overall Second Life viewer codebase.
LLKDU itself is not redistributable by third-parties and I’m not presently aware of any third-party viewer which redistributes it. Most viewers ship with the slightly slower OpenJPEG library instead, which performs the same fundamental tasks. A second-party user can, if they choose, place a copy of the LLKDU library – placed on their systems by Linden Lab – in a location where a third-party viewer could find it.
What the Lab essentially is claiming that leaving the GPL-licensed code intact and thus allowing the possibility that a second-party user might actually do so constitutes a violation of the GNU Public License, and thus, essentially an intellectual property violation by breaching the terms of distribution of the source-code.
Thus, the Lab asserts, the source-code that has been released by the Lab must be altered to disallow the user from benefiting from certain actions on their system in order to uphold the GPL.
Wow. It’s not hard to see why developers are steamed about this.
Firstly, the GPL just doesn’t work that way. Yes, the Lab can ban viewers or bar them from its directory or both if it pleases, but calling developers dishonest when the Lab (having set up the licensing in the first place) should know better? That’s a whole different kettle of herring.
Some are suggesting that the Lab’s motivation for all of this is that it may be under pressure from Kakadu itself, for unwittingly having breached some terms of the licensing agreement under which the Lab obtained the rights to modify and distribute the library in the first place. It would be both ironic and bitingly hypocritical if that were actually the case.
At the present time Henri Beauchamp, developer of the third-party Cool VL viewer, indicates that he has no intention of buckling.
Conversely, developers of the Imprudence viewer, while expressing distaste for the approach the Lab is taking, have indicated that they will make the necessary changes as soon as practicable.
Of course, my expectation is that the Lab will just go ahead and delist/ban any viewer project that doesn’t comply. However, you’d think that would be more than enough without adding the apparent slur of licensing violations on top of that.
tl;dr: Linden Lab apparently wants to (or has to) attempt to quash widespread second-party use of LLKDU in conjunction with third-party viewers. The Lab has every right to do that. Quite possibly, as some have suggested, it may even be obligated to make the attempt. It can also bar third-party viewers that don’t make the code-changes it wants. It has every right to do that too. Dressing it up as a GPL violation on the part of third-party developers, however, is both incorrect and insulting.