ITK Release 4/Licensing
New License
- On January 2010
- The board of the Insight Software Consortium (ISC)
- voted for changing the license of
- The Insight Software Toolkit
- from the BSD License
- to the Apache 2.0 License.
The board voted to make the change effective starting with ITK version 4.0, and leave previous versions of ITK to maintain the license under which they were originally released.
Rationale
The motivations to replace the BSD License with the Apache 2.0 License include
- The Apache 2.0 License is a more modern and better drafted license. In particular
- It explicitly define all the key terms used in the license: License, Licensor, Source, Object, Work, Derivative Works...
- It explicitly states your permissions for Copyright rights
- It explicitly states your permissions for Patent rights (as opposed to the BSD license, where Patent rights are given only implicitly by the sole presence of the work "use").
- The Apache License includes a clause of implicit intent for contributors
- Under this clause, it is assumed that any contribution that you sent is provided also under the terms of the Apache 2.0 license.
- Apache includes a clause of reciprocity by which a user of the software will lose the Patent permissions granted by the license, if she engages in litigation against the contributors.
The Apache 2.0 license is a well established license in the Open Source community and has been very closely evaluated by commercial, academic and non-profit organizations.
Notation
The Principle
The method for applying the license to the toolkit was also modified in order to match the recommended practices of the Apache Foundation
The Details
Top Level Files
- A file named LICENSE is now at the top of the ITK source tree, containing the verbatim text of the Apache 2.0 License.
- A file named NOTICE is now at the top of the ITK source tree, containing a manifesto of the copyright and licenses of third party files that are distributed along with the toolkit, and/or section of code that have been integrated with the ITK toolkit.
- For example, the copyright notice and license of: VTK, VXL, TargetJr, libjpeg, libpng.
- This file was mostly formed from the "Copyright" file that the packagers of the Debian distribution of ITK carefully crafted after analyzing the content of ITK 3.16. It is of course possible that our new NOTICE file may contain errors and/or omissions, in which case, we encourage you to point them out to us so they can be promptly corrected.
- Files in the ITK/Copyright directory, are scheduled to be removed from the toolkit, given that their content has now been copied into the NOTICE file.
Web Site Changes
- TODO: We will be soon changing the license displayed in the itk.org web site, along with the clarification that the previous releases of ITK are still distributed under the licenses used at the time of their release.
File Header Changes
Following the recommended practices of the Apache Foundation
we propose to replace the current header that all ITK files have:
Old Header
/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: itkImage.h Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) Insight Software Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/
with
New Header
<source lang="cpp">
/* ========================================================================= * * Copyright Insight Software Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *=========================================================================*/
</source>
New Header with Extra Copyrights
Case with VTK Copyright Notices
<source lang="cpp">
/*========================================================================= * * Copyright Insight Software Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *=========================================================================*/ /*========================================================================= * * Portions of this file are subject to the VTK Toolkit Version 3 copyright. * * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen * * For complete copyright, license and disclaimer of warranty information * please refer to the NOTICE file at the top of the ITK source tree. * *=========================================================================*/
</source>
What is New ?
The principal points in which the Apache 2.0 differs from the BSD License are listed below. Please note that this is an informal summary of the differences. You must read the full license in order to evaluate all the differences.
Clearer definition of Terms
- Specific permissions granted under Copyright Rights, and under Patents Rights
- In the BDS license these permissions are intermixed and are only implied by the language, while the Apache 2.0 license makes the terms very explicit and clear
Copyright
2. Grant of Copyright License.
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
Patents
3. Grant of Patent License.
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
Contributor Agreement
The Apache 2.0 License included terms indicating that developers who submit contributions to the software implicitly authorize their redistribution under the terms of the Apache 2.0 License.
Verbatim:
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
Litigious Patent Reciprocity
This was already listed in the Patent terms, but it deserves to be pointed out again:
If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
Changes
License Files
- Files LICENSE and NOTICE have been added to the source tree in Git
Web Site
- The license has been updated in the Web site
- It now describes the history of the three licenses:
- ITK 4.0 and higher : Apache 2.0 http://www.itk.org/ITK/project/licenseversion1.html
- ITK 3.6 to ITK 3.20 : BSD : http://www.itk.org/ITK/project/licenseversion2.html
- ITK 1.0 to prior to ITK 3.6 : BSD-Like : http://www.itk.org/ITK/project/licenseversion3.html
Source File Headers
- PENDING (Ibanez 13:32, 18 October 2010 (EDT))