[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