Common Public License Version 1.0 (CPL)
Created at Wednesday, 29 November 2006 16:00 Last Updated on Wednesday, 25 April 2012 10:35
Written by 賴嘉倫 Ciia Lun Lai
I. Overview
The Common Public License (CPL) is published by IBM. It is a free/open source software license approved by the Open Source Initiative (OSI) and the Free Software Foundation (FSF). The aim of the CPL is to encourage and support collaborative open source development.
II. Current StatusThe most well-known CPL licensed project is the IBM-promoted Eclipse Platform project. Most of the Eclipse platform softwares are licsense under the CPL. Except Sun, Eclipse coordinated most Java providers and have come with extensive plug-in construction toolkits and examples. Programmers who write plug-in programs for Eclipse or use Eclipse as a development platform must release any Eclipse source code, as long as those source codes are used or modified under the CPL. Programmsers are, however, free to choose the license for source codes added by themselves.
III. Rights and Duties 1. Rights (1) Non-exclusive, worldwide, royalty-free copyright license: the licensee is granted the right to reproduce, modify, publicly display, publicly perform, distribute and sublicense the program, in either original work or derivative work, source code or object code form(s).
(2) Non-exclusive, worldwide, royalty-free patent license: the licensee is granted the right to make, use, sell, offer to sell, import and otherwise transfer of the program right, in either original work or derivative work, source code or object code form(s). The license is limited to software patent and no hardware patent is licensed hereunder.
(3) Every participant (the "contributor") is entitled to the copyright on his contributions, i.e. the modification, addition or deletion of the program. He may grant new copyright license terms set forth in the CPL.
2. Duties (1) When distributing the program in object code form, a contributor may choose to its own license agreement, provided that:
(A) it complies with the terms and conditions of this license; and
(B) its license agreement effectively disclaims on behalf of all contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
(C) its license agreement effectively excludes on behalf of all contributors all liability for damages, including direct, indirect, special, incidental and consequential damages.
(2) When the program is distributed and made available in source code form:
(A) it must be made available under this license; and
(B) a copy of this license must be included with each copy of the program.
IV. Other Important Features 1. IBM’s attorneys designed the CPL to be a template license that fits and is made available for any kind of free/open source software.
2. It is possible to use the CPLed program with software licensed under other licenses, including proprietary licenses. The main goal is to encourage the commercializtion of programs.
3. It is the licensee’s obligation to provide the source code when he modifies and distributes a CPLed program. If, however, he only modifies the program for his own use and does not distribute it publicly, he is not obligated to provide the modified content. If he modifies and distributes some patches just so to faciliate the operation of the software interface and does not modify the CPLed program itself, he is not obligated to provide the source code to others, either. Therefore, the CPL is a ideal choice for free/open source software which has commercialization possibilities in the future.
4. The CPL is a copylefted license and has some terms that are quite similar to the GPL. A key difference is in the patent clause. The CPL patent clause is designed to prevent contributors from contributing code which infringes others’ patents, and then be charged with royalties; in such a situation, the CPL requires the contributor to grant a royalty-free license to all recipients.