Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
SMILA/Legal Documentation
Contents
The core of the legalisation
Source Code
Every source code (which includes Java source as well other types of files such as XML, HTML, etc.) must have a Copyright and License Notice. If the source is to be licensed under a license other than the Eclipse Public License Version 1.0 alone, you must ensure that the Eclipse Foundation has approved the notice.
Source files (which includes Java source as well other types of files such as XML, HTML, etc.) must have the Copyright and License Notice before the files are checked into the eclipse.org source repository.
The Eclipse repository contains a tool that will fix copyrights in your code: Eclipse copyright tool
Read here, how you can use the Eclipse copyright tool: How to use Eclipse copyright tool
Good examples from SMILA
All java, xml and properties files in SMILA have a copyright header.
Java source : DeltaIndexingManager.java (Plug-in org.eclipse.eilf.connectivity.deltaindexing) has a header:
XML source: BrokerConfig.xml (Plug-in org.eclipse.eilf.connectivity.queue.broker.main) has a header:
Properties file: build.properties(Plug-in org.eclipse.smila.product) has a header:
Should have generated files copyright notice?
- We have some generated code (JAXB) that we use in the SMILA project. Should have these files copyright notice?
Martin Oberhuber (Senior Member of Technical Staff) :
No generated source code bears any expression of creativity or art whatsoever, and is therefore not subject to Copyright law. Therefore, just leave the source as it is (without any copyright header), and check it in. If there is any copyrightable material in the generated code, then it's the template from which it was generated. Therefore, that very template is responsible for adding a copyright header or not.
Also, note that the absence or presence of a Copyright Header does not change the legal status of any material in any way -- its copyright owner, or license information exist or do not exist regardless of whether that information is in the source file or not. Having it in the source file is just a matter of making it easier for adopters to find the relevant information.
Documentation
The help documentation must have a Legal page with a copyright notice and a link to the About file in the plug-in that contains the help documentation. Documentation books usually contain a "Legal" page as the last page in the book.
Builds
Every build distribution, such as a zip or tar file, must contain a Eclipse Foundation Software User Agreement (SUA) in the root directory of the distribution in HTML format in a file named "notice.html".
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 Eclipse Public License alone in a file named "epl-v10.html" In exceptional circumstances, the Board may approve the licensing of a project under license terms other than the EPL alone.
Features
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:
For example:
The first required file is "license.html". This file is required to be the SUA in HTML format (and thus an exact duplicate of the "notice.html" in the root of the distribution). This file is referred to as The Feature License.
The second required file is the Eclipse Public Licensein HTML format in a file named "epl-v10.html" (and thus also an exact duplicate of the "epl-v10.html" in the root of the distribution).
Each feature has a file named "feature.xml" with a license node. Often the strings in the "feature.xml" file are externalized in a "feature.properties" file. Either way, the license node or property must contain the SUA in PLAIN TEXT format. This text (node or property) is referred to as The Feature Update License.
Each feature has at least one plug-in associated with it which is the "feature plug-in" for that feature. Not surprisingly, this plug-in usually has the same name as the feature. The "about.properties" property named "blurb" contains text that appears in the "About features" dialog in the Eclipse workbench. This is known as a "Feature Blurb." Blurbs often contain copyright notices and any other statements of attribution that may be required by licenses.
Good examples from SMILA
- feature com.sleepycat.dbxml.feature
The file beginning feature.properties look here.
The "feature plug-in" for that feature bundle com.sleepycat.dbxml has a file about.properties.
Plug-ins
All plug-in directories must have an "about.html" file describing the license terms of the code and content of the plug-in. The "about.html" file may also contain other information such as whether the content contains cryptographic functionality that may be subject to export controls. These "about.html" are collective known as "Abouts."
Most plug-ins of Eclipse Projects are pure EPL and thus the about.html file will be default About for EPL plug-ins. If a plug-in contains non-EPL content About files must be About files for third-party content.
In JAR’ed plug-ins, any local files linked from an About such as copies of licenses, must be located in a directory called "about_files". The contents of the "about_files" directory are handled specially so that links resolve correctly when the About in a JAR’ed plug-in is viewed in an external browser spawned from the About dialog.
For example:
Good examples from SMILA
- Plug-in (pure EPL) org.eclipse.eilf.binstorage has the default about.html:
- Plug-in with non-EPL content (3rd Party) org.apache.tomcat has the about.html in form About files for third-party content and about_files:
Summary
- Every source file has a Copyright and License Notice
- Every feature has the standard SUA in HTML in "license.html"
- Every feature has the Project's primary license(s) (e.g., the EPL in "epl-v10.html")
- Every feature has the standard SUA in plain text in "feature.xml <license>" or "feature.properties / license"
- Every feature plug-in has copyright notices, etc. in the "blurb" property of "about.properties"
- Every plug-in has an "about.html", usually the standard one.
- Every plug-in with a non-standard "about.html" contains the additional referenced license files.
- Every JAR’ed plug-in stores linked files in "about_files"
- Every help documentation set contains a Legal page
- Every build distribution has the standard SUA in the root as "notice.html"
- Every build distribution has a copy of the primary license(s) in the root, e.g., "epl-v10.html"
About File Templates
Simple About File Template
About This Content
enter current date here
License
The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.
If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may apply to your use of any object code in the Content. Check the Redistributor’s license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.
Third-Party Content About File Template
About This Content
enter current date here
License
The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.
If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may apply to your use of any object code in the Content. Check the Redistributor’s license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.
Third Party Content
The Content includes items that have been sourced from third parties as set out below. If you did not receive this Content directly from the Eclipse Foundation, the following is provided for informational purposes only, and you should look to the Redistributor’s license for terms and conditions of use.
Replace these sections with the relevant content, as described below. One section will be required for each third-party component contained within the plug-in
Name of first package including version number
Please include in this section information about the package including where it was obtained from, outbound licensing terms and notices that may apply, and anything else necessary to meet the obligations of redistribution (and possibly modification, etc.) under the inbound license. If the source code for the package is not available at eclipse.org, please include instructions on how to get it regardless of whether you are obligated to do so by the license.
Name of second package including version number
Please include in this section information about the package including where it was obtained from, outbound licensing terms and notices that may apply, and anything else necessary to meet the obligations of redistribution (and possibly modification, etc.) under the inbound license. If the source code for the package is not available at eclipse.org, please include instructions on how to get it regardless of whether you are obligated to do so by the license.
Features Licenses and Feature Update Licenses
- The Basics:
A feature is a set of one or more related plug-ins and/or fragments that can be installed and upgraded together. There are three important legal documentation files for features, the Feature License (license.html), the Feature Update License (feature.properties > license) and the Feature Blurb (about.properties > blurb).
- The Details:
The Feature License
Each feature has a file named "license.html." We call this a "Feature License." In Eclipse.org builds, this file is an exact copy of the file "notice.html" that is found in the root directory of the distribution. In other words, it is the SUA.
The Feature Update License
Each feature has a file named "feature.properties." In that file is a property named "license". This is known as the "Feature Update License." For Eclipse.org builds, the Feature Update License is an exact copy of the SUA in PLAIN TEXT format. Feature Update Licenses must be delivered in that format whereas all the other files we’ve covered so far have been HTML files.
The Feature Blurb
Each feature has at least one plug-in associated with it which is the "feature plug-in" for that feature. Not surprisingly, this plug-in usually has the same name as the feature. The property named "blurb" contains text that appears in the "About features" dialog in the Eclipse workbench. This is known as a "Feature Blurb." Blurbs often contain copyright notices and any other statements of attribution that may be required by licenses.
What’s the difference?
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. It is for this reason that the maintainer of a feature may choose to have different text for the Feature License and Feature Update License.
Note: All features must contain a Feature License and a Feature Update License in the directory for that feature. The feature’s plug-in must contain a Feature Blurb.
- The Location:
The Feature License
The Feature License is found in the feature directory which is usually a sub-directory of the directory named "features." Any referenced files (for example, the EPL or the SUA) are located in the same location.
The Feature Update License
The Feature Update License is found in the feature directory which is usually a sub-directory of the directory named "features." Any referenced files (for example, the EPL or the SUA) are located in the same location.
The Feature Blurb
The Feature Blurb resides in the "plugins" directory as either a sub-directory or a JAR. In the feature plug-in there is a file named "about.properties.", the Feature Blurb is the property named "blurb". To view the blurb for each installed feature, go to the menu item Help > About Eclipse Platform and then click "Feature Details" and then select a feature. The blurb will appear in the bottom half of the dialog.
Glossary
SUA – Eclipse Foundation Software User Agreement
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. 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.
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.
EPL – Eclipse Public License Version 1.0
The EPL was written specifically for the Eclipse Foundation. First, it changes the Agreement Steward, formerly IBM for the CPL, to now be the Eclipse Foundation for the EPL. Second, it addresses concerns some Eclipse Foundation members had with how the CPL deals with possible patent litigation. FAQ
CPL – Common Public License Version
Eclipse IP Policy – ECLIPSE FOUNDATION, Inc. INTELLECTUAL PROPERTY POLICY
EMO – Eclipse Management Organization (legal@eclipse.org)
PMC – Project Management Committee
Links
A Guide to the Legal Documentation for Eclipse-Based Content
A Guide to the Legal Documentation for Eclipse-Based Content 2