The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating to litigations related to patents. The Eclipse Public License is designed to be a business-friendly free software license, and features weaker copyleft provisions than licenses such as the GNU General Public License (GPL). The receiver of EPL-licensed programs can use, modify, copy and distribute the work and modified versions, in some cases being obligated to release their own changes. The EPL is listed as a free software license by the Free Software Foundation (FSF) and approved by the Open Source Initiative (OSI). Discussion of a new version of the EPL began in May 2013. Version 2.0 was announced on 24 August 2017. On January 20, 2021, the license steward for the license was changed from Eclipse.org Foundation, Inc. (Delaware, USA) to Eclipse Foundation AISBL (Brussels, Belgium).
The EPL 1.0 is not compatible with the GPL, and a work created by combining a work licensed under the GPL with a work licensed under the EPL cannot be lawfully distributed. The GPL requires that "[any distributed work] that ... contains or is derived from the [GPL-licensed] Program ... be licensed as a whole ... under the terms of [the GPL]", and that the distributor not "impose any further restrictions on the recipients' exercise of the rights granted". The EPL, however, requires that anyone distributing the work grant every recipient a license to any patents that they might hold that cover the modifications they have made. Because this is a "further restriction" on the recipients, distribution of such a combined work does not satisfy the GPL.
The EPL, in addition, does not contain a patent retaliation clause.
According to article 1(b) of the EPL, additions to the original work may be licensed independently, including under a proprietary license, provided such additions are "separate modules of software" and do not constitute a derivative work. Changes and additions which do constitute a derivative work must be licensed under the same terms and conditions of the EPL, which includes the requirement to make source code available.
Linking to code (for example to a library) licensed under EPL automatically does not mean that your program is a derivative work. Eclipse Foundation interprets the term "derivative work" in a way that is consistent with the definition in the U.S. Copyright Act, as applicable to computer software.
If a new version of the EPL is published the user/contributor can choose to distribute the software under the version with which he or she received it or upgrade to the new version.
The EPL was based on the Common Public License (CPL), but there are some differences between the two licenses:
The Eclipse Foundation sought permission from contributors to re-licence their CPL code under the EPL.
Version 2.0 of the Eclipse Public License (SPDX code EPL-2.0) was announced on 24 August 2017. The Eclipse Foundation maintains an FAQ. The FSF has analyzed the license in relation to GPL license compatibility and added it to their official list. The bare license notice is available in several formats, including plain text.
In terms of GPL compatibility, the new license allows the initial contributor to a new project to opt in to a secondary license that provides explicit compatibility with the GNU General Public License version 2.0, or any later version. If this optional designation is absent, then the Eclipse license remains source incompatible with the GPL (any version).
Other changes include:
The Eclipse Foundation advises that version 1.0 is deprecated and that projects should migrate to version 2.0. Relicensing is a straightforward matter and does not require the consent of all contributors, past and present. Rather, the version 1.0 license allows a project (preferably after forming a consensus) to adopt any new version by simply updating the relevant file headers and license notices.:§3
In addition to the Eclipse Foundation, the EPL is used in some other projects, especially those running on the Java virtual machine.