blob: 73424e5cfa8c4bd56342e47bb193b270cfc20147 [file] [log] [blame]
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
$pageTitle = "A Guide to the Legal Documentation for Eclipse-Based Content";
$html = <<<EOHTML
<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>$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>
EOHTML;
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>