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.
* 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. For that reason, using the first comment as the rool won't work.
Once I get my CVS tree access, I can update the licenses manually.
-- Brant Langer Gurganus Default QA Contact, Tech Evangelism Default QA Contact, Calendar
