I've done some heavy reading of both licenses (specifically MPL 1.1 and 
LGPL 2.1) this evening. Further, the question over LGPL's usefulness is 
not without precedent. See the somewhat-informative Ask Slashdot from a 
few years back:

http://ask.slashdot.org/article.pl?sid=00/10/15/1945200

You will note one VERY important key point in the LGPL's wording - the 
definitions of Library and Application. As it stands, although many 
people do consider LGPL to mean Lesser, it seems legally at its core, 
the LGPL still stands for Library. If you get lawyer-literal with the 
LGPL, it cannot be used for any but a library. An actual application 
must be licensed in another manner.

It still seems that MPL covers everything that we need. It covers 
third-party binary-only modules being able to link with us (e.g. a 
closed driver, a closed extension to the compiler engine, etc). Contrary 
to Bruce's and Chriss's fears, the MPL states that any use of MPL'd code 
in a closed situation must also prominently note where the original code 
came from, who wrote it, and where to get back in contact with the 
original creator. And - this is key - the MPL allows for multi-licensing.

Key to that final point, I have seen a lot of projects, including 
Mozilla itself, multi-license in an MPL / LGPL situation. This is key, 
and believe it or not may be our best option, because by itself the MPL 
is not compatible with the GPL. However, even the FSF notes this, it 
becomes GPL-compatible with such a multi-license provision, such as LGPL.

Honestly, looking over where we might go with things, our goals will be 
met if everything is covered by MPL. In reality, because of our 
modularity, everything is "linked". Nothing is "extended" or becomes 
"derivative". The only situation where a dual MPL / LGPL consideration 
should be made, because of the possibility of a company wanting to take 
the codebase commercial, is the core of the compiler itself, and I do 
mean the core algorithms. Even then, this is minimal, since IL / IR / 
native platform Assembly optimization algorithms, output generators, etc 
will (should?) all be separate CLR assembly modules that all link together.

It's kind of hard to explain in text, both SharpOS's inherent 
architecture means we're a bit like Eclipse - we're really a large set 
of plugins all being linked into a backbone core. The MPL, with certain 
MPL / LGPL dual provisions, covers all aspects of this. Individual 
plugins (e.g. driver modules, compiler optimizer modules, etc) can all 
be licensed with LGPL provisions as necessary, though we should make it 
a point of convention to simply use MPL only whenever possible. It will 
greatly cut down on our copyright paperwork tracking in the future.

I'll post a separate post in a moment concerning the board's legal 
entity status in relation to the code.

--Scott


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
SharpOS-Developers mailing list
SharpOS-Developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sharpos-developers

Reply via email to