Hi!
I am currently reading the MPL 1.1, and have some basic problems understanding it.
--8<--------------------------------------- 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. --8<---------------------------------------
What does "combine" mean? Especially when modifications are defined as
--8<--------------------------------------- 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. --8<---------------------------------------
(1) Does that mean, that as long as somebody does not use lines from a file of the Covered Code, he may distribute his proprietary code, which calls functions of the Covered Code, in a single executable?
(2) Only when he alters the Covered Code, or uses portions of it in some other file, that code would be under the Terms of the MPL?
(3) That would be similar to the LGPL, right?
(4) What about deriving a - for example Java - class from a class under (a) MPL (b) LGPL Would the derived class be allowed to have a proprietary license?
Thank you very much in advance.
Regards, gk
The MPL is often called a file-level copyleft licence.
I haven't read the MPL in years, but a summary I heard from a reasonable person is that if you make changes in the files you received, you have to keep the same licence that whole file. But if you make some changes to existing files, and add your own new files, then you can freely choose the licence of your own new files.
"gk@fsfe.org" gk@fsfe.org writes:
(1) Does that mean, that as long as somebody does not use lines from a file of the Covered Code, he may distribute his proprietary code, which calls functions of the Covered Code, in a single executable?
By what I wrote above, yes.
(2) Only when he alters the Covered Code, or uses portions of it in some other file, that code would be under the Terms of the MPL?
By what I wrote above, yes.
(3) That would be similar to the LGPL, right?
The MPL is much weaker than the LGPL. All changes to LGPL'd software has to be released under the LGPL - even if the changes are in a separate file, if they form part of the thing covered by he LGPL, then they have to be LGPL'd.
Only things that could reasonably work without any of the LGPL'd code can be considered separate and not bound by the LGPL.
The LGPL also has good safety features to ensure that when someone receives a combination of LGPL'd software and proprietary software, the user can get everything necessary to modify the LGPL'd part and recompile the whole.
(4) What about deriving a - for example Java - class from a class under (a) MPL (b) LGPL Would the derived class be allowed to have a proprietary license?
I don't know the Java language, so I don't know what "derive" means in that context. So I'll go for: Maybe :-)
There might be some helpful info here: http://www.gnu.org/licenses/lgpl-java.html