Gervase Markham | 6 Mar 09:58 2003
Picon

Mozilla Relicensing: Help Wanted

As some of you may know, we have been working for a while to get Mozilla 
relicensed under an MPL/LGPL/GPL disjunctive tri-license, in order that 
Mozilla code can be used in more free software projects. There are free 
software projects who want to use Mozilla code who currently can't due 
to licensing issues. We have been gathering permissions from 
contributors, the overwhelming majority of which have said Yes, and are 
approaching the stage when we want to start relicensing bits of the 
Mozilla source tree.

What we need is a script which can take a source file of some sort as 
input and write out a correctly-licensed source file as output. We need 
to be able to run this over a directory and have it change all the 
correct files in it to have the correct license, in the right comments, 
maintaining the list of contributors. Due to the number of variations in 
formatting and commenting, this quite a challenge.

I am looking for someone competent in Perl, Python or their scripting 
language of choice (needs to be available for Linux) to write this 
script. There is an initial working implementation in Python which you 
can either base your work on or use for ideas.

Please get in touch with me if you'd like to help with the relicensing 
project, and think this description fits you. :-)

Gerv

Brant Langer Gurganus | 6 Mar 12:14 2003

Re: Mozilla Relicensing: Help Wanted

Gervase Markham wrote:

> As some of you may know, we have been working for a while to get 
> Mozilla relicensed under an MPL/LGPL/GPL disjunctive tri-license, in 
> order that Mozilla code can be used in more free software projects. 
> There are free software projects who want to use Mozilla code who 
> currently can't due to licensing issues. We have been gathering 
> permissions from contributors, the overwhelming majority of which have 
> said Yes, and are approaching the stage when we want to start 
> relicensing bits of the Mozilla source tree.
>
> What we need is a script which can take a source file of some sort as 
> input and write out a correctly-licensed source file as output. We 
> need to be able to run this over a directory and have it change all 
> the correct files in it to have the correct license, in the right 
> comments, maintaining the list of contributors. Due to the number of 
> variations in formatting and commenting, this quite a challenge.
>
> I am looking for someone competent in Perl, Python or their scripting 
> language of choice (needs to be available for Linux) to write this 
> script. There is an initial working implementation in Python which you 
> can either base your work on or use for ideas.

I think that automating this is dangerous in this scenario for the 
following reasons:
 * Manually updating the licenses guarantees that it is a appropriate to 
update the license.
 * Due to the wide variety of comment formats, you would have to guess 
the format based on the extension (which itself isn't always accurate).
 * There are actual comments in many files that cannot be tampered with.
(Continue reading)

Brant Langer Gurganus | 6 Mar 12:15 2003

Re: Mozilla Relicensing: Help Wanted

Gervase Markham wrote:

> As some of you may know, we have been working for a while to get 
> Mozilla relicensed under an MPL/LGPL/GPL disjunctive tri-license, in 
> order that Mozilla code can be used in more free software projects. 
> There are free software projects who want to use Mozilla code who 
> currently can't due to licensing issues. We have been gathering 
> permissions from contributors, the overwhelming majority of which have 
> said Yes, and are approaching the stage when we want to start 
> relicensing bits of the Mozilla source tree.
>
> What we need is a script which can take a source file of some sort as 
> input and write out a correctly-licensed source file as output. We 
> need to be able to run this over a directory and have it change all 
> the correct files in it to have the correct license, in the right 
> comments, maintaining the list of contributors. Due to the number of 
> variations in formatting and commenting, this quite a challenge.
>
> I am looking for someone competent in Perl, Python or their scripting 
> language of choice (needs to be available for Linux) to write this 
> script. There is an initial working implementation in Python which you 
> can either base your work on or use for ideas.
>
> Please get in touch with me if you'd like to help with the relicensing 
> project, and think this description fits you. :-)

I can help out with doing this manually.  I have several reasons why 
this should not be done automatically (and could be dangerous to do so).

--

-- 
(Continue reading)

Gervase Markham | 6 Mar 14:11 2003
Picon

Re: Mozilla Relicensing: Help Wanted

> * Manually updating the licenses guarantees that it is a appropriate to 
> update the license.

For the directories we are running it on, this appropriateness is 
determined in advance.

> * Due to the wide variety of comment formats, you would have to guess 
> the format based on the extension (which itself isn't always accurate).

No, you can use regular expressions to determine the comment format.

> * There are actual comments in many files that cannot be tampered with.

You underestimate the power of regexps.

> * In many files, there is a comment before the license that gives 
> settings to the text editor such as how many spaces are in a tab, etc.  

You underestimate the power of regexps.

> Once I get my CVS tree access, I can update the licenses manually.

There are approximately 32,000 files in the Mozilla tree (find . | grep 
-v CVS | grep -v ".obj" | grep -v "dist/"). Doing them all by hand would 
be an extremely long and tedious job.

This has already been done fairly successfully in the past for a large 
number of files. The current Python relicenser copes with most comment 
formats, and fails safely when it can't cope. However, the author is 
somewhat busy and we need something that can be actively maintained and 
(Continue reading)

Christian Biesinger | 6 Mar 17:38 2003
Picon

Re: Mozilla Relicensing: Help Wanted

Gervase Markham wrote:
>We have been gathering permissions from 
> contributors, the overwhelming majority of which have said Yes

While I can't help with creating that script, I do have a question, out 
of curiousity:
Did anybody say no? And if so, which code affects that?

Gervase Markham | 7 Mar 10:44 2003
Picon

Re: Mozilla Relicensing: Help Wanted

Christian Biesinger wrote:
> Gervase Markham wrote:
> While I can't help with creating that script, I do have a question, out 
> of curiousity:
> Did anybody say no? And if so, which code affects that?

Yes, a small number of people said no, either conditionally or 
unconditionally, or have not yet given an answer. We have not yet done a 
complete survey of what code that involves, as it would be a big job 
(even if the result was that only a small amount of code was affected) 
and we want to wait until we've heard from a couple more 
people/organisations so that we minimise that work.

Gerv

Yuichiro MASUI | 12 Mar 08:24 2003
Picon

Can BSD licenese's source include NPL's headers and libraries?

Hello, I'm Y.MASUI.

 I must embed 'SpiderMonkey' java script engine into my BSD license
software.

 SpiderMonkey is NPL/GPL dual licenses.
 Can I use SpiderMonkey(NPL's software) with BSD's software.

 Is it 'combination' that a file includes NPL's header file?
 Does it violate NPL that BSD license header(BSD.h) include NPL
header(NPL.h)?

--

-- 
Yuichiro MASUI <masui <at> hisec.co.jp> Org: HiSEC.co.jp
Tel: 090-6214-1418, Company: 011-708-3181
May The 4th B wiz U...

Gervase Markham | 12 Mar 11:52 2003
Picon

Re: Can BSD licenese's source include NPL's headers and libraries?

Yuichiro MASUI wrote:
>  SpiderMonkey is NPL/GPL dual licenses.
>  Can I use SpiderMonkey(NPL's software) with BSD's software.

Yes, if you use Spidermonkey under the NPL rather than under the GPL.

>  Is it 'combination' that a file includes NPL's header file?
>  Does it violate NPL that BSD license header(BSD.h) include NPL
> header(NPL.h)?

As far as I understand your question, no, it doesn't. This is fine.

Gerv

Fabio Alemagna | 14 Mar 13:14 2003

Possible MPL (and APL) hole?

Hello everyone,

I'm one of the AROS (http://aros.sf.net/) developers, and I'm here to
ask something about the AROS Public License (APL) and indirectly about
the MPL, which the APL derives from (basically, everything is kept
intact, apart from the Mozilla refereces changed into AROS references).

 From my understanding of the license, people are allowed to modify the
source code as long as they provide the sources of their modifications,
where "modifications" means:

     "any addition to or deletion from the substance or structure of
      either the Original Code or any previous Modifications. When
      Covered Code is released as a series of files, a Modification is:

       A. Any addition to or deletion from the contents of a file
          containing Original Code or previous Modifications.

       B. Any new file that contains any part of the Original Code or
          previous Modifications."

Now, look at this situation.

Say I have a set of files, named A. Now, Mr. Brown takes these files,
modifies them, and produces a new set of files which is the union of A'
and B, where A' is the set of files which are the modifications of the
files in the set A, and B is a set of new files.

As I understand it, Mr. Brown only has to release the sources of A',
right? If I'm right, please follow me: what happens if A' _doesn't_ work
(Continue reading)

Gervase Markham | 14 Mar 17:41 2003
Picon

Re: Possible MPL (and APL) hole?

> As I understand it, Mr. Brown only has to release the sources of A',
> right? 

Right.

> If I'm right, please follow me: what happens if A' _doesn't_ work
> without B? 

Nothing special.

> In other words, if Mr. Brown modified A in such a way that
> now A' depends on B and B depends on A'? Is Mr. Brown still required to
> only open the sources of A'? If yes, isn't this a big hole in the
> license? 

Not really. :-)

> If not, in which way exactly the license would require Mr.
> Brown to also opensource B?

The only license which requires Mr Brown to open source B would be the 
GPL and possibly the LGPL also (if the calling was both ways between A' 
and B.)

> In yet other words, do the modified sources need to be completely
> functional, or can they also not work at all without the
> "proprietary" part?

They can be just a pile of bits. That's perfectly allowed.

(Continue reading)


Gmane