Difference between revisions of "SMILA/Legal Documentation"

From Eclipsepedia

Jump to: navigation, search
(S)
(Plug-ins)
Line 44: Line 44:
 
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."  
 
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 [http://www.eclipse.org/legal/epl/about.php About files for third-party content].  
+
Most plug-ins of Eclipse Projects are pure EPL and thus the about.html file will be [http://www.eclipse.org/legal/epl/about.html default About] for EPL plug-ins. If a plug-in contains non-EPL content About files must be [http://www.eclipse.org/legal/epl/about.php 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.
 
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.
Line 60: Line 60:
 
     ''about_files''                      (directory for any local files linked from about.html)  
 
     ''about_files''                      (directory for any local files linked from about.html)  
 
       ''asl-v20.txt''                    '''Apache Software License referenced by about.html'''
 
       ''asl-v20.txt''                    '''Apache Software License referenced by about.html'''
 +
 
===Summary===
 
===Summary===
 
*Every source file has a Copyright and License Notice
 
*Every source file has a Copyright and License Notice

Revision as of 04:44, 22 September 2008

Contents

The core of the legalisation

Source Code

Every source file 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 must have the Copyright and License Notice before the files are checked into the eclipse.org source repository.

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:

(installation root directory)

features                   (features directory) 
  org.eclipse.sdk_3.0.1    (feature directory)  
    license.html           (#1 Feature License)
    epl-v10.html           (#2 Project's Primary License(s) (typically EPL alone) referenced by Feature License)
    feature.properties     (#3 Feature Update License in "license" property )
plugins                    (plug-ins and fragments directory) 
    about.properties       (#4 Feature Blurb in "blurb" property)

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.

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.

As an example:

(installation root directory)

 plugins                              (plug-ins and fragments directory) 
  org.apache.ant_1.6.2                (plug-in packaged as a directory) 
    about.html                        About 
    asl-v20.txt                       Apache Software License referenced by about.html 
    LICENSE.dom.html                  W3C License referenced by about.html 
  org.eclipse.core.runtime_3.1.0.jar  (plug-in packaged as a JAR) 
    about.html                        About 
    about_files                       (directory for any local files linked from about.html) 
      asl-v20.txt                     Apache Software License referenced by about.html

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 ’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"

Basic Eclipse.org legal documentation styles

There are four Eclipse.org legal documentation styles: Agreements, Abouts, Licenses and Notices.

Software User Agreement

  • The Basics:

The top-level umbrella agreement is the Eclipse Foundation Software User Agreement. The Software User Agreement, to be called "SUA" herein, is not actually a license - it does not grant any rights to use the software and that is why it must reference other legal notices and agreements. The main purpose of the SUA is to describe the potential layout of the legal documentation in the accompanying content.

  • The Details:

The most important wording is that which says that the EPL applies to all the content unless otherwise indicated. Note that although the EPL is used by all projects at the Eclipse Foundation, at the discretion of the Board of Directors a project may be dual-licensed, or even be maintained under another license altogether.

The rest of the text describes the other kinds of notices or licenses that may be found in the content. There is also a short paragraph under the heading "Cryptography" which lets you know that the content may contain cryptography.

You will also often see on many of the download pages at Eclipse.org, text that says:

All downloads are provided under the terms and conditions of the Eclipse Foundation Software User Agreement unless otherwise specified.

  • The Location:

The SUA usually appears in the root directory of Eclipse builds as the file named "notice.html". A copy of the Project’s primary license(s) must appear in the same location as the SUA. In most cases this will be the Eclipse Public License alone.

Note: The appropriate SUA and a copy of any referenced license must be located in the root directory of any Eclipse.org distributed build (typically distributed as a ZIP file). Any web page that makes builds available must have a link to the appropriate SUA with appropriate wording.

Abouts

  • The Basics:

Any directory containing content that is licensed under different terms than the license(s) referred to by the SUA, should be detailed in a file named "about.html". We call these files "Abouts." Abouts usually contain licensing terms as well as other information such as whether content contains cryptographic functionality that may be subject to export controls.

  • The Details:

Most plug-ins will contain a default About that simply confirms that all the content in that plug-in is made available under the EPL. If you are the maintainer of a plug-in for an Eclipse.org project and the plug-in contains no specially licensed content (content not licensed under the default license and/or not maintained by the Eclipse Foundation), you should feel free to use either the default About for EPL plug-ins.

If you are the maintainer of a plug-in for an Eclipse.org project and the plug-in is licensed under a license other than, or in addition to the Eclipse Public License, please contact the EMO for additional assistance.

Since most plug-ins do NOT contain specially-licensed content, most plug-ins will contain only the default About. The plug-ins with the special Abouts are the "interesting" ones that most users will want to read.

Note: All plug-ins and fragments should contain an About. All Eclipse.org plug-ins and fragments must contain either one of the default Abouts or a special About written and/or approved by the Eclipse Foundation. In JAR’ed plug-ins, any local files linked from the About such as copies of licenses, must be located in a directory called "about_files."

  • The Location:

Although Abouts may be found potentially in any directory, they should always be found in plug-ins and fragments. Previously, plug-ins and fragments were usually packaged as sub-directories of a directory named "plugins." Currently, plug-ins and fragments may also be packaged as JARs (Java™ ARchives). For 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.

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.

Notices in source code

  • The Basics:

Where practical, all source code (which includes Java source as well other types of files such as XML, HTML, etc.) should contain appropriate copyright and license notices as well information on each contribution.

  • The Details:

The standard format for these notices: Default Copyright and License Notice. If the source is to be licensed under a license other than or in addition to the EPL, you must ensure that the Eclipse Foundation has approved the notice.

  • The Location:

In the source code.

Notices in documentation

  • The Basics:

The Legal page has a copyright notice and a link to the About in the plug-in that contains the book.

  • The Location:

Documentation books usually contain a "Legal" page as the last page in the book.

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

Eclipse Legal Process

All Open Source License