Skip to content

Commit

Permalink
Relicense JUnit from CPL to EPL
Browse files Browse the repository at this point in the history
EPL is the successor version of the CPL this makes re-licensing
possible without seeking the approval of all contributors.

CPL is actively hurting JUnit adaptation, it the following cases the
deciding factor against JUnit was CPL. In both cases EPL would have
been fine.
* Netbeans can't ship JUnit [4]
* OpenJDK uses TestNG instead of JUnit [5]

Mike Milinkovich from the Eclipse Foundation wrote [1]

> Back in 2009, the CPL was superseded by the EPL. This means that the
> EPL is the successor version of the CPL. It also means that using the
> CPL is the licensing equivalent of using deprecated code.
>
> Because the EPL is the successor version to the CPL, the "new version
> re-licensing" clause in Section 7 of the CPL applies. In other words,
> you can re-license your project without seeking the approval of all
> of your contributors.
> The CPL and EPL basically differ by about one sentence, which you can
> see here. The difference relates to the scope of patent licenses
> terminated should someone sue another party for patent infringement.
> This is the kind of stuff that lawyers love, but most developers
> don't really care about.

On the migration from CPL to EPL Mike Milinkovich wrote [2]

> There was a two step process that was followed to make this happen.
> First, following the terms of the CPL, IBM assigned the
> responsibility to serve as the Agreement Steward of the CPL to the
> Eclipse Foundation. Second, the Eclipse Foundation officially
> recognized the EPL 1.0 as the new version of the CPL 1.0. In OSI
> license terminology, the EPL now supersedes the CPL.
>
> A quick read of the two licenses will quickly show that they are very
> very close. Other than their names and (previously) their Agreement
> Stewards, the only substantive difference is the breadth of the
> patent license termination in the event of a patent law suit. (See
> the second paragraph of Section 7.) For more information on the
> relationship between the CPL and the EPL see the EPL FAQ.

You can find more information about the difference at [3].

The new `LICENSE.txt` is based on a plain text version of the EPL with
formatted so that the diff is a clean as possible.

I'll submit another pull request for the gh-pages branch.

 [1] http://mmilinkov.wordpress.com/2013/02/13/jruby-moves-to-the-epl/
 [2] http://mmilinkov.wordpress.com/2009/04/16/one-small-step-towards-reducing-license-proliferation/
 [3] http://www.eclipse.org/legal/eplfaq.php#EPLDIFFER
 [4] https://netbeans.org/community/releases/70/relnotes.html#deprecated
 [5] http://openjdk.java.net/jtreg/build.html
  • Loading branch information
marschall committed May 19, 2013
1 parent 1ef54a1 commit 3171c4b
Show file tree
Hide file tree
Showing 9 changed files with 277 additions and 145 deletions.
12 changes: 4 additions & 8 deletions LICENSE.txt
@@ -1,8 +1,8 @@
JUnit

Common Public License - v 1.0
Eclipse Public License - v 1.0

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

Expand Down Expand Up @@ -173,11 +173,7 @@ terms of this Agreement, and without further action by the parties hereto, such
provision shall be reformed to the minimum extent necessary to make such
provision valid and enforceable.

If Recipient institutes 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 such
Recipient under this Agreement shall terminate as of the date such litigation
is filed. In addition, if Recipient institutes patent litigation against any
If Recipient institutes patent litigation against any
entity (including a cross-claim or counterclaim in a lawsuit) alleging that the
Program itself (excluding combinations of the Program with other software or
hardware) infringes such Recipient's patent(s), then such Recipient's rights
Expand All @@ -198,7 +194,7 @@ order to avoid inconsistency the Agreement is copyrighted and may only be
modified in the following manner. The Agreement Steward reserves the right to
publish new versions (including revisions) of this Agreement from time to time.
No one other than the Agreement Steward has the right to modify this Agreement.
IBM is the initial Agreement Steward. IBM may assign the responsibility to
The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to
serve as the Agreement Steward to a suitable separate entity. Each new version
of the Agreement will be given a distinguishing version number. The Program
(including Contributions) may always be distributed subject to the version of
Expand Down
4 changes: 2 additions & 2 deletions build.xml
Expand Up @@ -16,7 +16,7 @@
<property name="testsrc" location="src/test/java" />
<property name="testbin" location="${target}/test/java" />
<property name="unjarred"
value="**/*.jar, ${testfiles}, doc/**, README.md, .classpath, .project, cpl-v10.html" />
value="**/*.jar, ${testfiles}, doc/**, README.md, .classpath, .project, epl-v10.html" />

<property name="binjar" value="junit-${version}.jar" />
<property name="srcjar" value="junit-${version}-src.jar" />
Expand Down Expand Up @@ -170,7 +170,7 @@
</copy>
<copy file="README.md" tofile="${dist}/README.md" />
<copy file="BUILDING" tofile="${dist}/BUILDING" />
<copy file="cpl-v10.html" tofile="${dist}/cpl-v10.html" />
<copy file="epl-v10.html" tofile="${dist}/epl-v10.html" />
<copy file="build.xml" tofile="${dist}/build.xml" />
</target>

Expand Down
4 changes: 2 additions & 2 deletions build/maven/junit-dep-pom-template.xml
Expand Up @@ -34,8 +34,8 @@
</mailingLists>
<licenses>
<license>
<name>Common Public License Version 1.0</name>
<url>http://www.opensource.org/licenses/cpl1.0.txt</url>
<name>Eclipse Public License Version 1.0</name>
<url>http://opensource.org/licenses/eclipse-1.0.txt</url>
</license>
</licenses>
<scm>
Expand Down
4 changes: 2 additions & 2 deletions build/maven/junit-pom-template.xml
Expand Up @@ -26,8 +26,8 @@
</mailingLists>
<licenses>
<license>
<name>Common Public License Version 1.0</name>
<url>http://www.opensource.org/licenses/cpl1.0.txt</url>
<name>Eclipse Public License Version 1.0</name>
<url>http://opensource.org/licenses/eclipse-1.0.txt</url>
</license>
</licenses>
<scm>
Expand Down
125 changes: 0 additions & 125 deletions cpl-v10.html

This file was deleted.

6 changes: 3 additions & 3 deletions doc/faq/faq.htm
Expand Up @@ -422,9 +422,9 @@ <h1>
<p>
JUnit is <a href="http://www.opensource.org/">Open Source
Software</a>, released
under <a
href="http://oss.software.ibm.com/developerworks/oss/license-cpl.html">IBM's
Common Public License Version 0.5</a> and hosted
under the <a
href="http://opensource.org/licenses/eclipse-1.0.html">
Eclipse Public License Version 1.0</a> and hosted
on <a
href="http://sourceforge.net/projects/junit/">SourceForge</a>.
</p>
Expand Down
2 changes: 1 addition & 1 deletion doc/homepage.html
Expand Up @@ -56,7 +56,7 @@ <h2>

<br><a href="README.html">Release notes</a>
<br>&nbsp;&nbsp;&nbsp; Latest JUnit release notes
<br><a href="cpl-v10.html">License</a>
<br><a href="epl-v10.html">License</a>
<br>&nbsp;&nbsp;&nbsp; The terms of the common public license used for JUnit.<br>
</blockquote>
The following documents still describe JUnit 3.8.
Expand Down

0 comments on commit 3171c4b

Please sign in to comment.