[opensource-dev] Plugins/Modular architecture

Oz Linden (Scott Lawrence) oz at lindenlab.com
Fri Sep 3 08:27:56 PDT 2010

  On 2010-09-03 11:17, Brandon Husbands wrote:
> What id like to see is the viewer be distributed as a library. And we 
> can init our own project with can create the window etc and setup the 
> ui..  Since you went lgpl you should have a compile option for a lib 
> with a established interface. Otherwise lgpl is kinda blargh.

Anyone who wants to work on making build rules to construct such a 
library is welcome to do so.

There is significant room for interpretation when using the LGPL.  At 
Linden Lab, our intent is to enable the development of third party 
viewers and the improvement of our own viewer through mutual sharing of 
the requisite common technology.

Our interpretation is that modifying the build procedures provided in 
the source code to produce a library containing whatever subset of the 
licensed code the developer desires is a minor programming exercise.  
The result of linking that library (which may be either a static library 
or a shared one, and either is allowed) with whatever other code the 
developer requires to build a viewer is again a minor problem, and the 
results are essentially indistinguishable from one in which the 
developer just modified the build procedures in place to produce an 
executable application.  Essentially, the details of the linkage 
procedures used are a matter of packaging and have no end user effect.   
In practical programming terms a library is just a convenient package - 
it's like requiring that a grocery store sell a product only if it is 
first placed into a shopping cart while inside the store.   Essentially 
a library is just that - a shopping cart full of individually compiled 
modules, so there's no real difference between that and just using the 
modules separately (one could build a library containing exactly one 
module, or build an application that had only one module and one library).

It is our intent that developers be able to use the components that we 
have licensed under the LGPL to produce viewer applications, regardless 
of the linkage procedures used, so long as they make available any 
changes to those components as specified in the license.

More information about the opensource-dev mailing list