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/CircularExpressionException.java tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java tools/gnu/classpath/tools/gjdoc/Parser.java tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java tools/gnu/classpath/tools/gjdoc/TagContainer.java tools/gnu/classpath/tools/gjdoc/RootDocImpl.java tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java tools/gnu/classpath/tools/gjdoc/Main.java tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java tools/gnu/classpath/tools/gjdoc/Timer.java tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java tools/gnu/classpath/tools/gjdoc/TextTagImpl.java tools/gnu/classpath/tools/gjdoc/ErrorReporter.java tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java tools/gnu/classpath/tools/gjdoc/TemporaryStore.java tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java tools/gnu/classpath/tools/gjdoc/TimerDoclet.java tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java tools/gnu/classpath/tools/gjdoc/DirectoryTree.java tools/gnu/classpath/tools/gjdoc/Debug.java tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java tools/gnu/classpath/tools/gjdoc/TypeImpl.java tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java tools/gnu/classpath/tools/gjdoc/ParseException.java tools/gnu/classpath/tools/gjdoc/WritableType.java tools/gnu/classpath/tools/gjdoc/TagImpl.java tools/gnu/classpath/tools/gjdoc/ParameterImpl.java tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java tools/gnu/classpath/tools/doclets/DocletOptionString.java tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java tools/gnu/classpath/tools/doclets/AbstractDoclet.java tools/gnu/classpath/tools/doclets/DocletOptionFile.java tools/gnu/classpath/tools/doclets/PackageMatcher.java tools/gnu/classpath/tools/doclets/TagletPrinter.java tools/gnu/classpath/tools/doclets/DocletConfigurationException.java tools/gnu/classpath/tools/doclets/DocletOptionFlag.java tools/gnu/classpath/tools/doclets/InlineTagRenderer.java tools/gnu/classpath/tools/doclets/DocletOption.java tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java tools/gnu/classpath/tools/doclets/StandardTaglet.java tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java tools/gnu/classpath/tools/doclets/PackageGroup.java tools/gnu/classpath/tools/MalformedInputListener.java tools/gnu/classpath/tools/NotifyingInputStreamReader.java tools/gnu/classpath/tools/taglets/AuthorTaglet.java tools/gnu/classpath/tools/taglets/VersionTaglet.java tools/gnu/classpath/tools/taglets/CopyrightTaglet.java tools/gnu/classpath/tools/taglets/ValueTaglet.java tools/gnu/classpath/tools/taglets/CodeTaglet.java tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java tools/gnu/classpath/tools/taglets/SinceTaglet.java tools/gnu/classpath/tools/taglets/GenericTaglet.java tools/gnu/classpath/tools/MalformedInputEvent.java tools/gnu/classpath/tools/StringToolkit.java tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java tools/gnu/classpath/tools/FileSystemClassLoader.java tools/gnu/classpath/tools/IOToolkit.java Most seem to be from the GJDoc import. There are also a few with no license: 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? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8