"Michael Beck (Team JEDI)" wrote:
> But your new file "does" contain parts of the Original Code. From MPL:
> --------------------------------
> B. Any new file that contains any part of the Original Code or
> previous Modifications.
> --------------------------------
You lost me here. What parts of the Original Code does your new file
contain? I assume that we are speaking of inheritance in the following
form (where File A is covered by MPL, and File B is your code)
File A:
class A { whatever };
File B:
class B : class A { whatever2 };
File B does not contain any code from File A.
> GPL does actually a better job in addressing it:
The component in question is released under MPL. I don't see how GPL has
anything to do with it. If you want to discuss pros and cons of the two
licenses, you can count me out.
> and inheritance falls directly under "any derivative work under copyright
> law", at least IMHO.
IMHO, it is Larger Work, but I guess that is not for us, but rather for
the courts, to decide.
> I can be corrected by some of the MPL authors, but my understanding is that
> the <intent> of the MPL was similar to GPL, i.e. to ensure that "any
> derivative work under copyright law" should go back to the community (but
> without the viral effect of GPL) . Unfortunately, they didn't spell it out
> properly in MPL, thus creating a room for misinterpretation.
Let me reiterate, the MPL is quite clear about the file base scope. The
following is from the annotated version of MPL 1.0 at
http://www.mozilla.org/MPL/annotations-1.0.html
<quote>
``Modifications''
This is a very important definition, as it specifies precisely what code you
write must be made public and what you can keep.
If you change anything within one of the files contained in the Source
Code, that is a Modification, and it must be made publicly available
in source code form.
If you take code out of one of the files contained in the Source Code
and place it in a new file, whether you add new code or not, that is a
Modification, and it must be made publicly available in source code
form.
If you rename a file or combine two or more files contained in the
Source Code, that is a Modification, and it must be made publicly
available in source code form.
However, if you add a new file that does not contain any of the Original
Code or subsequent Modified code, it is not a Modification, and need not
be made publicly available in source code form. This remains true even
if the new file is called or referenced by changes you made in the
Source Code, though those changes do constitute a Modification and must
be made publicly available in source code form. Having said this, though,
Netscape believes that it is in the interest of all who develop on the
Communicator code base to contribute their changes back to the
development community. In this way, they will reap the benefits of
distributed development.
This definition also refers only the modifications themselves, not the
complete file as modified. Later in the License, we require that the Source
Code to Modifications be made available, and this way a developer need only
post his changes to the Source, not the entire source in changed form. This
should cut down on the need for quite a bit of FTP space.
</quote>
I am not going to embark on a philosophical discussion about the relationship
between inheritance and the copyright laws. I strongly suggest that you seek
legal advice if you have any concerns about the MPL. Nobody, including the
authors of MPL, are giving legal advice here -- we are just trying to be
helpful.