Tools License Review

2009-03-06 Thread Andrew John Hughes
Hi all,

I was looking at the tools code earlier this week, and noticed that
the code was licensed under the pure GPL.  As such, it seemed
plausible that these could be moved up to the GPLv3.  The main library
code itself can't yet be changed as there is no suitable exception for
GPLv3 (equivalent to what we have now) available from the FSF so far,
and we would also like to try and remain compatible with the licensing
used by OpenJDK.  (note: we are already slightly different in that
Classpath code can be distributed or modified under the GPLv3 due to
the 'or later' clause, whereas OpenJDK can't).  However, pure GPL code
causes no such problem and so it seemed possible that these files
could be changed, just as parts of GCC have already moved from pure
GPLv2 to pure GPLv3.

However, after discussing this with Mark Wielaard on IRC, it seems
these files are mislicensed.  I reviewed the code in the tools
subdirectory in full and it seems the majority is GPLv2 + Classpath
exception like the rest of the library (so it can be used from tools
like Ant, etc.).  However, the following are all pure GPLv2:

tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java
tools/gnu/classpath/tools/rmic/RmicBackend.java
tools/gnu/classpath/tools/rmic/CompilationError.java
tools/gnu/classpath/tools/rmic/Variables.java
tools/gnu/classpath/tools/rmic/MethodGenerator.java
tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java
tools/gnu/classpath/tools/rmic/WrapUnWrapper.java
tools/gnu/classpath/tools/rmic/Main.java
tools/gnu/classpath/tools/rmic/Generator.java
tools/gnu/classpath/tools/rmic/GiopIo.java
tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java
tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java
tools/gnu/classpath/tools/rmic/RMICException.java
tools/gnu/classpath/tools/rmic/HashFinder.java
tools/gnu/classpath/tools/serialver/SerialVer.java
tools/gnu/classpath/tools/gjdoc/DocImpl.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java
tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java
tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java
tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java
tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java
tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java
tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java
tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java
tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java
tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java
tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java
tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java
tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java
tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java
tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java
tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java
tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java
tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java
tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java
tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java
tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java
tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java
tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java
tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java
tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java
tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java
tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java
tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java
tools/gnu/classpath/tools/gjdoc/expr/Expression.java
tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java
tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java
tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java
tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java
tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java
tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java
tools/gnu/classpath/tools/gjdoc/expr/Context.java
tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java
tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java
tools/gnu/classpath/tools/gjdoc/expr/Type.java
tools/gnu/classpath/tools/gjdoc/expr/Circ

Re: Tools License Review

2009-03-06 Thread Mario Torre
Il giorno ven, 06/03/2009 alle 16.33 +, Andrew John Hughes ha
scritto:

> tools/com/sun/tools/javadoc/Main.java
> tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java
> tools/gnu/classpath/tools/taglets/TagletContext.java
> 
> Shall we migrate all these to GPLv2 + Classpath exception?

I agree, especially if the purpose is to be able to integrate this stuff
with OpenJDK or to be consistent with Classpath, so, unless (of course)
there are other reasons to not move, I would change the license.

Cheers,
Mario
-- 
Mario Torre, Software Developer, http://www.jroller.com/neugens/
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-53
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF

USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
Geschäftsführer: Dr. James J. Hunt

Please, support open standards:
http://endsoftpatents.org/