blob: ef775748f8eb1cf0cad92783bca559f9e79b4b35 [file] [log] [blame]
<?php
/**
* Copyright (c) 2005, 2018 Eclipse Foundation and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* Contributors:
* Eric Poirier (Eclipse Foundation)
*
* SPDX-License-Identifier: EPL-2.0
*/
?>
<style>
.checklist {
border: 1px solid #ccc;
list-style: none;
}
.checklist, .checklist li {
margin: 0;
padding: 0;
}
.checklist label {
display: block;
padding-left: 25px;
text-indent: -25px;
}
.postit {
border: 1px dashed black;
margin: 10px 0 10px 0;
}
.postitinner {
margin: 0 5px 5px 5px;
}
</style>
<form action="#" method="GET">
<div id="midcolumn">
<h1><?php print $pageTitle; ?></h1>
<p>Last updated: September 25, 2007</p>
<p>
This document is intended to assist the Eclipse committers in fulfilling
their obligations to implement the <a
href="/org/documents/Eclipse_IP_Policy.pdf"
>Eclipse IP Policy</a>. In addition to their role as the leading
developers on Eclipse projects, Committers are also charged with the
responsibility of ensuring that the software distributed by the Eclipse
Foundation meets the expectations of the community with respect to
intellectual property. This document provides a set of specific checklists
for developers on Eclipse Projects to follow regarding the legal
documentation required in all source files, builds, and releases. While
these checklists should cover most projects, there will obviously be cases
where additional advice is needed: if so, please contact <a
href="mailto:emo@eclipse.org"
>the Eclipse Management Organization</a>.
<h2>1. Source Code</h2>
<p>
Every source file must have a Copyright and License Notice. The standard
format for these notices can be found in <a
href="copyrightandlicensenotice.php" target="_blank"
> Default Copyright and License Notice</a>. If the source is to be
licensed under a license other than the EPL alone, you must ensure that
the Eclipse Foundation has approved the notice.
</p>
<p>
Source files must have the Copyright and License Notice <em><b>before</b></em>
the files are checked into the eclipse.org source repository.
</p>
<ul class="checklist">
<li><label for="o1"><input id="o1" name="o1" type="checkbox" />Every
source file has a Copyright and License Notice</label></li>
</ul>
<h2>2. Documentation</h2>
<p>
The help documentation must have a Legal page with a copyright notice and
a link to the <a href="#about_files">About file</a> in the plug-in that
contains the help documentation. For example:
</p>
<img src="guidetolegaldoc_files/Help_legal_page.jpg" width="598"
height="260"
>
<p>Documentation books usually contain a &quot;Legal&quot; page as the last
page in the book.</p>
<ul class="checklist">
<li><label for="o2"><input id="o2" name="o2" type="checkbox" />Every help
documentation set contains a Legal page</label></li>
</ul>
<h2>
<a name="3_Builds"></a>3. Builds
</h2>
<p>
Every build distribution, such as a zip or tar file, must contain a <a
href="epl/notice.html" target="_blank"
>Eclipse Foundation Software User Agreement</a> (known as the
&quot;SUA&quot;) in the root directory of the distribution in HTML format
in a file named &quot;notice.html&quot;.
</p>
<p>
A copy of the Project's primary license(s) must be in the root directory
of the distribution in HTML format. In most cases, this will be the <a
href="epl-v10.html"
>Eclipse Public License</a> alone in a file named &quot;epl-v10.html&quot;
In exceptional circumstances, the Board may approve the licensing of a
project under license terms other than the EPL alone.
<ul class="checklist">
<li><label for="o31"><input id="o31" name="o31" type="checkbox" />Every
build distribution has the standard SUA in the root as
&quot;notice.html&quot;</label></li>
<li><label for="o32"><input id="o32" name="o32" type="checkbox" />Every
build distribution has a copy of the primary license(s) in the root,
e.g., &quot;epl-v10.html&quot;</label></li>
</ul>
<div class="postit">
<div class="postitinner">
<a name="SUA"></a>
<h3>What is the Software User Agreement?</h3>
The Software User Agreement is the agreement that governs the use of all
software distributed by the Eclipse Foundation. The SUA references the
Eclipse Public License as the primary vehicle to grant license rights
and obligations to use the software. In addition, it also references
other legal notices and agreements and describes the potential layout of
the legal documentation in the accompanying Content.
<p>The reason for the SUA is that Eclipse-based content is highly
modularized to facilitate ease of delivery, extensibility, and
upgradeability. A typical Eclipse installation may potentially include
plug-ins and features authored and/or distributed by many different
parties including the Eclipse Foundation, other open-source
organizations, and commercial vendors.
<p>This modularity makes an Eclipse distribution somewhat different from
a classical software product delivered with a single license file. The
Eclipse Foundation SUA guides the consumer to the various licenses
distributed through out the Eclipse Project distribution.
</div>
</div>
<h2>4. Features</h2>
<p>A feature is a set of one or more related plug-ins and/or fragments that
can be installed and upgraded together. Every feature must have at least
three (usually at least four) legal files:
<p>For example:</p>
<blockquote>
<table cellspacing="4">
<tr>
<td><i>eclipse</i></td>
<td>(installation root directory)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;<i>features</i></td>
<td>(features directory)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>org.eclipse.sdk_3.0.1</i></td>
<td>(feature directory)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>license.html</i></td>
<td><b>(#1 Feature License)</b></td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>epl-v10.html</i></td>
<td><b>(#2 Project's Primary License(s) (typically EPL alone)
referenced by Feature License)</b></td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>feature.properties</i></td>
<td><b>(#3 Feature Update License in &quot;license&quot; property)</b></td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;<i>plugins</i></td>
<td>(plug-ins and fragments directory)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>org.eclipse.sdk_3.0.1</i></td>
<td>(plug-in packaged as a directory)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>about.properties</i></td>
<td><b>(#4 Feature Blurb in &quot;blurb&quot; property)</b></td>
</tr>
</table>
</blockquote>
The first required file is &quot;license.html&quot;. This file is required
to be the <a href="epl/notice.html" target="_blank">Eclipse Foundation SUA</a>
in HTML format (and thus an exact duplicate of the &quot;notice.html&quot;
in <a href="#3_Builds">the root of the distribution</a>). This file is
referred to as <em>The Feature License</em>.
<p>
The second required file is the <a href="epl-v10.html">Eclipse Public
License</a> in HTML format in a file named &quot;epl-v10.html&quot; (and
thus also an exact duplicate of the &quot;epl-v10.html&quot; in <a
href="#3_Builds"
>the root of the distribution</a>).
<p>
Each feature has a file named &quot;feature.xml&quot; with a
<code>license</code>
node. Often the strings in the &quot;feature.xml&quot; file are
externalized in a &quot;feature.properties&quot; file. Either way, the
<code>license</code>
node or property must contain the <a href="epl/notice.txt" target="_blank">Eclipse
Foundation SUA</a> in PLAIN TEXT format. This text (node or property) is
referred to as <em>The Feature Update License</em>.
<p>Each feature has at least one plug-in associated with it which is the
&quot;feature plug-in&quot; for that feature. Not surprisingly, this
plug-in usually has the same name as the feature. The
&quot;about.properties&quot; property named &quot;blurb&quot; contains
text that appears in the &quot;About features&quot; dialog in the Eclipse
workbench. This is known as a &quot;Feature Blurb.&quot; Blurbs often
contain copyright notices and any other statements of attribution that may
be required by licenses.
<ul class="checklist">
<li><label for="o41"><input id="o41" name="o41" type="checkbox" />Every
feature has the standard SUA in <u>HTML</u> in
&quot;license.html&quot;</label></li>
<li><label for="o42"><input id="o42" name="o42" type="checkbox" />Every
feature has the Project's primary license(s) (e.g., the EPL in
&quot;epl-v10.html&quot;)</label></li>
<li><label for="o43"><input id="o43" name="o43" type="checkbox" />Every
feature has the standard SUA in <u>plain text</u> in &quot;feature.xml
&lt;license&gt;&quot; or &quot;feature.properties / license&quot;</label></li>
<li><label for="o44"><input id="o44" name="o44" type="checkbox" />Every
feature plug-in has copyright notices, etc. in the &quot;blurb&quot;
property of &quot;about.properties&quot;</label></li>
</ul>
<div class="postit">
<div class="postitinner">
<h3>Why So Many Copies?</h3>
<p>For technical reasons (i.e., this is the way the software works),
each of the different copies of the SUA and Project license(s) (e.g.,
EPL) are shown to the user at different times. We need to make sure
that the SUA and Project license(s) are available to the user
regardless of which installation and/or browsing mechanism he or she
uses, thus the existence of numerous copies of the same legal
documents.
</div>
</div>
<div class="postit">
<div class="postitinner">
<h3>What&rsquo;s the Difference Between These Files?</h3>
<p>The difference between the Feature License and Feature Update License
is when they are shown to the user. The Feature License is only
available once a feature has been installed. The Feature Update
License is seen when a user is using the Eclipse Update Manager to
install or upgrade a feature and must agree to an agreement before
proceeding with the installation. One thing that is important to note
is that with the distributed licensing model used by plug-ins, unless
a Feature Update License contains an aggregation of all the notices
from the plug-ins for a feature, a user will not be able to see these
notices before installing the feature.</p>
</div>
</div>
<h2>5. Plug-ins</h2>
<p>
<a name="#about_files"></a> All plug-in directories must have an
&quot;about.html&quot; file describing the license terms of the code and
content of the plug-in. The &quot;about.html&quot; file may also contain
other information such as whether the content contains cryptographic
functionality that may be subject to export controls. These
&quot;about.html&quot; are collective known as &quot;Abouts.&quot;
<p>
Most plug-ins of Eclipse Projects are pure EPL and thus the about.html
file will be <a href="epl/about.html" target="_blank">default about for
EPL plug-ins</a>. If a plug-in contains non-EPL content, read more about
<a href="epl/about.php">About files</a> and how to write About files for
third-party content.
<p>In JAR&rsquo;ed plug-ins, any local files linked from an About such as
copies of licenses, must be located in a directory called
&quot;about_files.&quot; The contents of the &quot;about_files&quot;
directory are handled specially so that links resolve correctly when the
About in a JAR&rsquo;ed plug-in is viewed in an external browser spawned
from the About dialog.</p>
<p>As an example:</p>
<blockquote>
<table cellspacing="4">
<tr>
<td><i>eclipse</i></td>
<td>(installation root directory)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;<i>plugins</i></td>
<td>(plug-ins and fragments directory)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>org.apache.ant_1.6.2</i></td>
<td>(plug-in packaged as a directory)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>about.html</i></td>
<td><b>About</b></td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>asl-v20.txt</i></td>
<td><b>Apache Software License referenced by about.html</b></td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>LICENSE.dom.html</i></td>
<td><b>W3C License referenced by about.html</b></td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>org.eclipse.core.runtime_3.1.0.jar</i></td>
<td>(plug-in packaged as a JAR)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>about.html</i></td>
<td><b>About</b></td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>about_files</i></td>
<td>(directory for any local files linked from about.html)</td>
</tr>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>asl-v20.txt</i></td>
<td><b>Apache Software License referenced by about.html</b></td>
</tr>
</table>
</blockquote>
<ul class="checklist">
<li><label for="o51"><input id="o51" name="o51" type="checkbox" />Every
plug-in has an &quot;about.html&quot;, usually the standard one.</label></li>
<li><label for="o53"><input id="o53" name="o53" type="checkbox" />Every
plug-in with a non-standard &quot;about.html&quot; contains the
additional referenced license files.</label></li>
<li><label for="o52"><input id="o52" name="o52" type="checkbox" />Every
&rsquo;ed plug-in stores linked files in &quot;about_files&quot;</label></li>
</ul>
<h2>6. Download Web Pages</h2>
<p>
Any web page that makes builds available must have a link to the <a
href="#SUA"
>SUA</a> with the following wording:
<blockquote>
<p>
All downloads are provided under the terms and conditions of the <a
href="epl/notice.php" target="_blank"
>Eclipse Foundation Software User Agreement</a> unless otherwise
specified.
</p>
</blockquote>
<ul class="checklist">
<li><label for="o61"><input id="o61" name="o61" type="checkbox" />All
download pages contain the standard reference to the SUA.</label></li>
</ul>
<h2>Appendix A. Viewing All These Files</h2>
<h3>About Files</h3>
<p>
Users looking for legal documentation may find the Abouts by browsing the
directory structure of an Eclipse installation but the files are also
viewable from the &quot;About plug-ins&quot; dialog in the Eclipse
workbench. To view the Abouts, go to the menu item <strong>Help -> About
Eclipse Platform</strong> and then click on the button &quot;Plug-in
Details&quot; and then select a plug-in and click on the button &quot;More
Info.&quot;
</p>
<img src="guidetolegaldoc_files/About_plugins_dialog.jpg" width="598"
height="447"
>
<h3>Feature Blurbs</h3>
<p>
To view the blurb for each installed feature, go to the menu item <strong>Help
> About Eclipse Platform</strong> and then click &quot;Feature
Details&quot; and then select a feature. The blurb will appear in the
bottom half of the dialog.
</p>
<img src="guidetolegaldoc_files/About_features_dialog.jpg" width="598"
height="536"
>
</div>
</form>