Hi all,
you can find my comments below the text of the license sections I commented on.
===================================================================== == DO NOT PANIC! This is a draft for discussion purposes only. == == It has not yet been approved. It does not yet apply to any == == software distributed by the Apache Software Foundation. == == == == This TCK version is for use by JSR-defined projects releasing == == an official TCK for a JSR under JSPA 2.5. == ==================================+==================================
Apache TCK License
Version 1.0, October 2003
http://www.apache.org/licenses/ Copyright (C) 2003 The Apache Software Foundation.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. TERMS AND CONDITIONS
FOR USE, REPRODUCTION, DISTRIBUTION, AND MODIFICATION1. Licensing the Work.
A. These terms and conditions for use, reproduction, distribution,
and modification (the "License") apply to any original work of
authorship (the "Work") containing a notice placed by the
copyright owner (the "Licensor") indicating that the Work is
licensed under the Apache TCK License, Version 1.0. B. The Work is distributed by the Licensor as a Technology
Compatibility Kit (TCK), the suite of tests, tools, and
documentation that allows an implementor of a Specification to
determine if their implementation is compliant with that
Specification, where the Specification is a current or proposed
industry standard defined by one or more documents listed withinI think "industry standard" is a little far fetched, unless Apache Software Foundation starts providing TCKs for standards proposed by standardization bodies. Sun's desire to promote their APIs as an "industry standard", a meaningless term unless we are talking about ISO, ECMA or ANSI, shouldn't result in marketing speak polluting the license.
the license notice; each such Specification is identified by
title, revision label (or date if no label has been assigned),
and Uniform Resource Identifier. 2. You. "You" or "Your" means an individual or legal entity
exercising permissions granted by this License. By exercising any
of the permissions granted to You in Sections 4 through 9 herein,
You indicate Your acceptance of this License and all of its terms
and conditions.3. Contributors and Contributions.
A. The Licensor and any individual or legal entity that
voluntarily submits to the Licensor a Contribution to the Work are
collectively addressed herein as "Contributors". For legal
entities, the entity making a Contribution and all other entities
that control, are controlled by, or are under common control with
that entity are considered to be a single Contributor. For the
purposes of this definition, "control" means (i) the power, direct
or indirect, to cause the direction or management of such entity,
whether by contract or otherwise, or (ii) ownership of fifty
percent (50%) or more of the outstanding shares, or
(iii) beneficial ownership of such entity.Beside the obvious philosophical dicussion about how much in charge a
person is about their actions ("The devil made me contribute!"), this
paragraph's vague definition of control under (1) doesn't seem to make
much sense. I can make someone read this comment by posting it to the
mailing list, therefore I'm in control of that person because I
used my indirect power to directed the person to read using
"otherwise" means aka as posting? ASF, all your code belongs to me ;)It's not obvious why that piece of legalese is in the license.
B. A "Contribution" is the original version of the Work and any
modification or addition to the Work that has been submitted for
inclusion in the Work, where such modifications and/or additions
to the Work originate from that particular Contributor, or from
some entity acting on behalf of that Contributor. C. A Contribution is "submitted" when any form of electronic,
verbal, or written communication is sent to the Licensor,
including but not limited to communication on electronic mailing
lists, source code control systems, and issue tracking systems
that are managed by, or on behalf of, the Licensor for the purpose
of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by
the Contributor as "Not a Contribution."How does one designate verbal communication in writing? An attempt to be overly broad, yet so limited. Basically, anything you tell us belongs to us, nyah nyah nyah.
There are situations imaginable where I could tell ASF about A, but would have no right to contribute A to the ASF without being the copyright holder. The 'ours by default' claim hidden in this license may get in you trouble when you get lax on checking if people are actually allowed to contribute the content of the conversation.
Example: During the discussion of a TCK test someone brings up an excerpt from a regression test in Kaffe's regression test suite. ASF can according to their license claim it as a contribution, and add it to their TCK. If the TCK license turns out to be GPL incompatible, who do I sue for copyright infringement: the ASF for violating the license of my code, or the person that cited the code on an ASF mailing list?
D. Any Contribution submitted by You to the Licensor shall be
under the terms and conditions of this License, without any
additional terms or conditions, unless You explicitly state
otherwise in the submission. 4. Contributor Grant of License. Subject to the terms and conditions
of this License, each Contributor hereby grants to You: (a) a perpetual, non-exclusive, worldwide, fully paid-up, royalty
free, irrevocable copyright license under its licensable
copyrights in the Work to reproduce, prepare derivative works
of, publicly display, publicly perform, sublicense, and
distribute the Work and such derivative works; and, (b) a perpetual, non-exclusive, worldwide, fully paid-up, royalty
free, irrevocable (subject to Section 5) patent license to
make, have made, use, offer to sell, sell, import, and
otherwise transfer the Work and derivative works thereof,
where such license applies only to those patent claims
licensable by such Contributor that are necessarily infringed
by their Contribution alone or by combination of their
Contribution with the Work to which such Contribution was
submitted by the Contributor. No assurances are provided by any Contributor that the Work does
not infringe the patent or other intellectual property rights of
any other entity. Each Contributor disclaims any liability to You
for claims brought by any other entity based on infringement of
intellectual property rights or otherwise. You assume sole
responsibility to secure any other intellectual property rights
needed, if any. 5. Reciprocity. If You institute patent litigation against a
Contributor with respect to a patent applicable to software
(including a cross-claim or counterclaim in a lawsuit), then any
patent licenses granted by that Contributor to You under this
License shall terminate as of the date such litigation is filed.
In addition, if You institute patent litigation against any entity
(including a cross-claim or counterclaim in a lawsuit) alleging
that the Work itself (excluding combinations of the Work with
other software or hardware) infringes Your patent(s), then any
patent licenses granted to You under this License for that Work
shall terminate as of the date such litigation is filed. 6. Redistribution without Modification. You may reproduce and
distribute verbatim copies of the Work as You received it, in any
medium, provided that You conspicuously publish on each copy an
appropriate copyright notice and disclaimer of warranty, keep
intact all of the notices that refer to this License and to the
absence of any warranty, and give any other recipients of the Work
a copy of this License along with the Work. 7. Redistribution with Modification. You may modify Your copy or
copies of the Work or any portion of it, thus forming another work
product based on the Work (a "Derivative Work"), and reproduce and
distribute such modifications or the Derivative Work, provided
that You also meet the following conditions: (a) You must give any other recipients of the Derivative Work a
copy of this License along with the Derivative Work. (b) You must retain, in the source code of any Derivative Work
that You distribute, all copyright, patent, or trademark
notices from the source code of the Work, excluding those
notices that only pertain to portions of the Work that have
been excluded from the Derivative Work. If the Work includes a
"NOTICE" file as part of its source code distribution, the
Derivative Work must include a readable copy of the notices
contained within that NOTICE file, excluding those notices
that only pertain to portions of the Work that have been
excluded from the Derivative Work, in at least one of the
following places: within a NOTICE file distributed as part of
the Derivative Work; within the source code or documentation,
if provided along with the Derivative Work; or, within a
display generated by the Derivative Work, if and wherever such
third-party notices normally appear. You may add Your own
notices alongside or as an addendum to the original NOTICE
information. The contents of the NOTICE file are for
informational purposes only and do not modify the terms and
conditions of this License. (c) You must cause any modified files to carry prominent notices
stating that You changed the files.(d) You must do one of the following:
(1) remove from the Derived Work all tests that are specific
to features of the Specification and all documentation
describing the Specification and those specific tests; or (2) cause the Derived Work to be clearly and conspicuously
labeled as "not the official TCK for the Specification"
and "for research purposes only", and clearly and
conspicuously identify within the documentation and
packaging of the Derived Work that it is not the official
TCK for the Specification, and further that passing the
tests in the Derived Work does not indicate that an
implementation has passed the TCK for the Specification.I am not sure I parse that correctly: does that mean I can do (1) such that I take a TCK, remove everything that refers to the specification, and redistribute it as "The real TCK" without any labelling? Cute.
The restrictions on the labeling may make the TCK license GPL
incompatible. Other restrictions, like the clause that only if you pass the original TCK you can say that you passed it, may give the original contributor a lot of power to close out competing implementations by including references to code outside the specification in the TCK.
Example: If A wanted to make sure their competition wouldn't be able to pass a TCK, all they need to do would be to put in a test case that links to some internal, unspecified class from their implementation (say an com.a.internal.* class). I see no protection against the licensee using the TCK as a means to prevent competition instead of encouraging it in the proposed license.
The license should in my opinion require that the code covered by it is always completely runnable and buildable within the specified framework, or referenced frameworks within the specification, or with code provided alongside the TCK under a compatible license.
cheers, dalibor topic
