CERN Software Licensing Background Status in IT Issues F.Fluckiger Disclaimer Though I took a degree in law … 26 years ago, … I asked a professional lawyer Robert Abbott (ETT) to attend Many others in IT are active/knowledgeable (CE, FH, AS, AP, BJ, …) Topic is complex often even simple questions needs a few days to answer … Tried and simplify with my own taxonomy, language François Fluckiger, DMM, 4 June 2003 2 "Internal" vs. "External" software "Internal" CERN Software Available only within CERN "Internal" "External" "External" Made available, in some way, under certain conditions, Binary only Source to "the outside" (1) Sometime called "Published" (1) Outside CERN or outside a group of developer organizations François Fluckiger, DMM, 4 June 2003 3 Making SW available to the outside (1) "External" Binary only Publicly available e.g. downloadable Source Bilateral Agreements e.g. "Collaboration Agreements" Publicly available "Open Source" "Free Software" (1) Outside CERN or outside a group of developing organizations François Fluckiger, DMM, 4 June 2003 4 Examples in IT "External" Binary only Publicly available e.g. downloadable Printing Package Source Bilateral agreements e.g. Collaboration Agreements Publicly available "Open source" "Free Software" NICE 2000 EDG Printing Package CASTOR SLIC … EGEE François Fluckiger, DMM, 4 June 2003 5 Bilateral vs. "Open Source" Source Bilateral agreements NICE 2000 Printing Package Bilateral Agreements Development style SW developed mainly within CERN Publicly available "Open source" EDG CASTOR Publicly Available Source Software developed in a collaborative external environment Reasons for external Good relationships with Benefit from outside release external party testing, improvement Scaling François Fluckiger, DMM, 4 June 2003 Notoriety Does not scale Notoriety Scales well 6 Making SW publicly available Free Software does not mean Public Domain François Fluckiger, DMM, 4 June 2003 7 Publicly Available vs. Public Domain Retain IPR Relinquish IPR "External" Binary only Publicly available Source Publicly available Public Domain e.g. downloadable Printing Package François Fluckiger, DMM, 4 June 2003 "Open source" "Free Software" EDG CASTOR SLIC 8 CERN celebrates Web anniversary […]. Berners-Lee's unique insight in marrying hypertext to the Internet to give the Web its simple point-and-click ease of use certainly helped. And the fact that CERN had the foresight to ensure that the Web became part of the public domain, and not the property of any company or individual, was decisive François Fluckiger, DMM, 4 June 2003 9 Distribution of CERN WWW software Francois Fluckiger (fluckiger@vscrna.cern.ch) Tue, 15 Nov 1994 23:05:59 +0100 Messages sorted by: [ date ][ thread ][ subject ][ author ] Next message: David Koblas: "How about an "IF" markup construct..." Previous message: dolesa@smtp-gw.spawar.navy.mil: "Windows Help to HTML conversion" Dear Colleagues, Some of you asked about the conditions for the distribution of new versions of the CERN WWW Library of Common Code (libwww), the CERN Line Mode Browser (www) and the WWW HTTP Daemon (httpd). The new versions will remain freely available, for general use, and at no cost. The only change is that the material distributed will remain copyrighted by CERN. As a consequence, a copyright notice will have to appear in copies, but also, the rights of the users will be protected, in particular by preventing third parties to turn free software into proprietary software, and deny the users the rights to freely use the material. These principles are those used by most distributors of free software, including the X consortium. The proper copyright notice is being ratified and will be available in a few days. We hope all those who have trusted CERN WWW software will continue to do so, and will appreciate that these conditions not only maintain the free distribution but better protect it. Francois Fluckiger Leader, WWW development, CERN Next message: David Koblas: "How about an "IF" markup construct..." Previous message: dolesa@smtp-gw.spawar.navy.mil: "Windows Help to HTML conversion" François Fluckiger, DMM, 4 June 2003 10 CERN celebrates Web anniversary […] In the words of the inventor himself, "CERN's decision to make the Web foundations and protocols available on a royalty free basis, and without additional impediments, was crucial to the Web's existence. Without this commitment, the enormous individual and corporate investment in Web technology simply would never have happened, and we wouldn't have the Web today." François Fluckiger, DMM, 4 June 2003 11 IP/Distribution/Disclaimer Statements "External" IP and Distribution statements should be attached to any "External" software: Within the Source Code and documentation Publicly available e.g. download able Source Bilateral agreements e.g. Collaboration Agreements Publicly available "Open source" Within the Agreement text (for Bilateral Agreements) Binary IP/Dist/Liab In Source On the download web site (1) (for downloadable Binary or Source) (1) or any other distribution medium François Fluckiger, DMM, 4 June 2003 IP/Dist/Liab In Contract IP/Dist/Liab Statement On Download Web Site 12 Statements: 3 logical parts Intellectual Property Statement Often covered by Distribution Conditions Publicly Available (i.e. "Open Source") licenses also called "Distribution License" Sometimes called "The License" François Fluckiger, DMM, 4 June 2003 Copyright statement Who owns the copyright What are the rights and obligations of those who receive the SW Liability, warranty Disclaimer 13 IP/Distribution/Liability Statements "External" CERN Printing Package Binary Binary downloadable Email request to Software Manager (I. Deloose) License Agreement to be approved by user About 280 organizations so far François Fluckiger, DMM, 4 June 2003 Publicly available e.g. download able Source Bilateral agreements e.g. Collaboration Agreements Publicly available "Open source" Printing Package 14 CERN Printing Package License Agreement COPYRIGHT CERN 1999 IP Stat. The copyright and all other rights related to this computer software, in whatever form, including but not limited to the source code, the object code and user documentation, are vested in CERN. Except as provided hereunder, this computer software may not be used, copied, changed, modified, translated, displayed, distributed or made available by any method (hereafter collectively and separately referred to as "use") without prior written consent by CERN. Distribution Academic and scientific institutes only are herewith granted a royalty-free and non-exclusive license to use this computer software, subject to the condition that such use shall be for their internal use only and that any use for commercial purposes is strictly forbidden. Disclaimer The provision by CERN of this computer software is on an as-is basis and CERN provides no express or implied warranties of any kind, including but not limited to those of merchantability, fitness for a particular purpose and non-infringement of the proprietary rights, such as copyrights, patents and trade secrets, of third parties. CERN accepts no liability whatsoever in connection therewith. François Fluckiger, DMM, 4 June 2003 15 IP/Distribution/Liability Statements "External" NICE 2000 Source Binary No "public" web site for download Request to Software Manager (A.Pace) Collaboration agreement signed by the two parties: CERN and (so far) Publicly available e.g. download able Source Bilateral agreements e.g. Collaboration Agreements Publicly available "Open source" NICE 2000 ISO Friedrich Miescher Institute for Biomedical Research (on-going) IP/Distribution/Liability Statement inserted in the Source François Fluckiger, DMM, 4 June 2003 16 IP/Distribution/Disclaimer for NICE2000 COPYRIGHT CERN 2000 IP Stat. The copyright and all other rights related to this computer software, in whatever form, including but not limited to the source code, the object code and user documentation, are vested in CERN. This computer software may not be used, copied, changed, modified, translated, displayed, distributed or made available by any method (hereafter collectively and Distribution separately referred to as "use") without prior written consent by CERN. Request for permission to use this Computer software must be addressed to ...... As a matter of CERN policy, permission for non-commercial, scientific use is frequently granted. Disclaimer The provision by CERN of this computer software is on an as-is basis and CERN provides no express or implied warranties of any kind, including but not limited to those of merchantability, fitness for a particular purpose and non-infringement of the proprietary rights, such as copyrights, patents and trade secrets, of third parties. CERN accepts no liability whatsoever in connection therewith. François Fluckiger, DMM, 4 June 2003 17 Copyright Statement Any author's creation automatically copyrighted: Not compulsory to mark the copyright on a work to retain IPR However, copyright marking useful in case of IPR violation and ownership dispute Note: In the USA copyrights may also be registered Recommendation: Copyright © CERN 1999 Intellectual Property Statement Distribution Conditions also called "Distribution License" Disclaimer Include Copyright Statement in all CERN Source SW Difficulty: Multiple authoring organizations … François Fluckiger, DMM, 4 June 2003 18 Geant 4 License details under construction DISCLAIMER The following disclaimer summarizes all the specific disclaimers of contributors to this software. Neither the authors of this software system, nor their employing institutes, nor the agencies providing financial support for this work make any representation or warranty, express or implied, regarding this software system or assume any liability for its use. IP Stat. This code implementation is the intellectual property of the GEANT4 collaboration. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this statement, and all its terms. François Fluckiger, DMM, 4 June 2003 19 EU DataGrid Software License Copyright (c) 2001 EU DataGrid. All rights reserved. EDG This software includes voluntary contributions made to the EU DataGrid. For more information on the EU DataGrid, please see http://www.eu-datagrid.org/. Installation, use, reproduction, display, modification and redistribution of this software, with or without modification, in source and binary forms, are permitted. Any exercise of rights under this license by you or your sub-licensees is subject to the following conditions: 1. Redistributions of this software, with or without modification, must reproduce the above copyright notice and the above license statement as well as this list of conditions, in the software, the user documentation and any other materials provided with the software. 2. The user documentation, if any, included with a redistribution, must include the following notice: "This product includes software developed by the EU DataGrid (http://www.eu-datagrid.org/)." Alternatively, if that is where third-party acknowledgments normally appear, this acknowledgment must be reproduced in the software itself. 3. The names "EDG", "EDG Toolkit", “EU DataGrid” and "EU DataGrid Project" may not be used to endorse or promote software, or products derived therefrom, except with prior written permission by hep-project-grid-edg-license@cern.ch. 4. You are under no obligation to provide anyone with any bug fixes, patches, upgrades or other modifications, enhancements or derivatives of the features,functionality or performance of this software that you may develop. However, if you publish or distribute your modifications, enhancements or derivative works without contemporaneously requiring users to enter into a separate written license agreement, then you are deemed to have granted participants in the EU DataGrid a worldwide, non-exclusive, royalty-free, perpetual license to install, use, reproduce, display, modify, redistribute and sub-license your modifications, enhancements or derivative works, whether in binary or source code form, under the license conditions stated in this list of conditions. 5. DISCLAIMER THIS SOFTWARE IS PROVIDED BY THE EU DATAGRID AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, OF SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE OR USE ARE DISCLAIMED. THE EU DATAGRID AND CONTRIBUTORS MAKE NO REPRESENTATION THAT THE SOFTWARE, MODIFICATIONS, ENHANCEMENTS OR DERIVATIVE WORKS THEREOF, WILL NOT INFRINGE ANY PATENT, COPYRIGHT, TRADE SECRET OR OTHER PROPRIETARY RIGHT. 6. LIMITATION OF LIABILITY THE EU DATAGRID AND CONTRIBUTORS SHALL HAVE NO LIABILITY TO LICENSEE OR OTHER PERSONS FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE, DATA OR PROFITS, OR BUSINESS INTERRUPTION, HOWEVER CAUSED AND ON ANY THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. François Fluckiger, DMM, 4 June 2003 20 Copyright from a non-corporate body Current cases of cooperatively-developed SW Implications Conclusion: The non-corporate body couldn't appear in court against violators Marks clear intention to protect IP (declaring the work as copyrighted by a non-legally existing body is not equivalent to relinquishing the copyright) Seems it does not harm maintaining these current copyright statements Future cases of cooperatively-developed SW (possible options) List all partners Distinguish between copyright owners (actual code authors) and acknowledged partners Opt for either differentiated or non-differentiated rights Decide whether one partner only is in charge of possible appeals François Fluckiger, DMM, 4 June 2003 21 Distribution Conditions Establish rights and duties of the licensee Copyright Statement Rights to run, copy, change, improve, correct, incorporate into other programs, publish, distribute, charge, sell verbatim, sell modified, sell services, … Distribution Conditions also called "Distribution License" Duties to perpetuate copyright, publish modifications, publish derivative work, document changes, … François Fluckiger, DMM, 4 June 2003 Disclaimer 22 Distribution Conditions: Bilateral Agrmnts CERN ad-hoc conditions reflected in Collaboration Agreement signed by the two parties (e.g. Nice2000) IP/Distribution/Liability Statement inserted in the Source Distribution Conditions also called "Distribution License" "External" Binary Source Usual CERN conditions Copyright to be perpetuated Royalty free license granted to licensee to use, copy, modify Modification to be notified to CERN; CERN must be granted free license to use modified versions For internal use only. In general, no commercial use (case by case basis). No military use. François Fluckiger, DMM, 4 June 2003 Publicly available e.g. download able Bilateral agreements e.g. Collaboration Agreements Publicly available "Open source" NICE 2000 Printing Package 23 Distribution Conditions: "Open Source" also called "Distribution License" One of the licenses developed by third parties (Free Software Foundation, MIT, Berkeley) "External" GPL, LGPL, X, BSD Examples at CERN Distribution Conditions Use a Public License (1) Binary CASTOR Use a CERN "ad hoc" licence EDG (close to LGPL) ROOT Publicly available e.g. download able (1) Usually also includes a Disclaimer statement François Fluckiger, DMM, 4 June 2003 Source Bilateral agreements e.g. Collaboration Agreements Publicly available "Open source" EDG CASTOR SLIC … EGEE 24 Existing "Open Source" licences Dozens of licenses publicly available, from multiple sources. Examples: Universities MIT X License Berkeley MIT License BSD License SUN Sun Community Source License (SCSL) IBM IBM PL AOL Mozilla Public License (MPL) Trolltech Qt Public License (QPL) Free Software Foundation GPL Academia Industry Not-for-profit organizations François Fluckiger, DMM, 4 June 2003 LGPL 25 Free Software and Open Source Free Software and Open Source Software are not synonymous François Fluckiger, DMM, 4 June 2003 26 Free Software vs. Open Source Free Software Foundation (FSF) Laid down Free Software (FS) principles, called: FSD: Free Software Definition Developed the two major FS public licenses (GPL, LGPL) Open Source Initiative (OSI) Defined Criteria for Open Source license, called: OSD: Open Source Definitions Accredit (approve) some licenses, but … No reason given for acceptance, rejection Some Approved Licenses infringe the OSD (e.g. Qt PL) 40 Approved Licenses François Fluckiger, DMM, 4 June 2003 27 Differences between public licenses Run Copy Publish, Distribute Licensee Rights Free of charge At a charge Change Modify Improve Correct Incorporate into other programs Sell Verbatim copies Derivative work Redistribute verbatim program exclusively under original license (OL) In any case Licensee Release derivative work as OL (i.e. Source) Duties Accompany any binary distribution with the source Only if derivative work is "Published" Notification of Changes Required (NCR) (to original licensor) No restriction on publication/distribution Table: FF's tool for comparing licenses; not official, non exhaustive François Fluckiger, DMM, 4 June 2003 28 GPL principles GPL: General Public Licence Maximize dissemination (openness) of SW To maximize dissemination, maximize constraints on licensees Prevent commercial exploitation by third parties By obliging licensees to publish source of their derivative work Allow original licensor to benefit from derivative work Yet, preserve some form of commercial exploitation by original licensor François Fluckiger, DMM, 4 June 2003 29 Differences between public licenses GPL Run Yes Copy Yes Publish, Distribute Rights Modify Free of charge Yes At a charge Yes Change Yes Improve Yes Correct Yes Incorporate into other programs Sell Duties Yes Verbatim copies Yes Derivative work Yes Redistribute verbatim program exclusively under OL Yes Release In any case derivative work as Only if derivative work is "Published" OL (i.e. Source) No Yes Accompany any binary distribution with the source Yes Notification of Changes Required (NCR) (to original licensor) No No restriction on publication/distribution Yes François Fluckiger, DMM, 4 June 2003 Table: FF's tool for comparing licenses; not official, non exhaustive 30 GPL Chain Original Licensor GPL Licensee 1 GPL Licensee 2 GPL GPL GPL May sell Original Licensor GPL Licensee 1 GPL François Fluckiger, DMM, 4 June 2003 GPL GPL Prop. Prog. Derivative Work Licensee 2 May sell GPL GPL Derivative Work 31 GPL Contamination Original Licensor GPL If "Published" Licensee Prop 1 Prop 2 GPL GPL GPL Prop 3 "Published" : understood as released to the outside includes selling, licensing in any way, … François Fluckiger, DMM, 4 June 2003 32 GPL Contamination: Consequence for IT Original Licensor "External" Software Make sure no GPL module has been used if SW published under a different (non compatible) license GPL If "Published" Licensee Prop 1 Prop 2 GPL GPL GPL Prop 3 "Internal" Software If GPL modules have been used, make sure the software is not inadvertently "published" François Fluckiger, DMM, 4 June 2003 33 Open Source commercial exploitation Original Licensor Program GPL GPL GPL May sell GPL GPL Prop Bilateral License Commercial partner Program Proprietary License Propr. SW Propr. SW François Fluckiger, DMM, 4 June 2003 34 GPL, less known features Free Software does not mean Free of charge Licensee may resell verbatim program If derivative work constrained within licensee organization, its source does not have to be published Initial licensor may not benefit from changes The original licensor may publish a program under GPL, and exclusively license it to a third party for commercial exploitation (i.e. no need Commercial exploitation of a GPL program by the original licensor is possible to publish source of derivative work) François Fluckiger, DMM, 4 June 2003 35 Castor CASTOR DISTRIBUTION CONDITIONS CASTOR Distribution: 24 July 2002 CERN allows free distribution of CERN owned software under the same conditions as the gnu public licence. The definitive version of this is to be found at http://www.gnu.org/copyleft/gpl.html Some of the software included in the tarball (currently db and imake) is itself being redistributed under similar 'right to use and distribute' conditions. The CASTOR system is distributed as a tarball containing all the server components plus the interfaces to the devices (eg tape drives and robotics) currently in use at CERN. CERN will integrate interface code to other devices sent in by outside institutions as far as possible but cannot guarrantee correct working. Use of some devices may require the user to purchase additional software licences from a third party. CERN cannot provide such software. The source contains an overview README file, a version history and comments and installation instructions but correct installation and setting up at any site is the responsibility of the site. CERN is preparing a detailed installation guide as an aid and will answer technical questions sent to castor.support@cern.ch as far as possible. It is assumed that installation will be done by local staff with the correct level of computer system administration expertise and CERN cannot provide such expertise should this not be the case. The tarball can be obtained from the CERN web site http://cern.ch/castor Users should use the 'Download' link then the link 'CERN or AUTHORISED people'. This will ask for a userid and password. Requestors should obtain these keys in advance from castor.support@cern.ch and they should not be revealed to a third party. castor.support@cern.ch François Fluckiger, DMM, 4 June 2003 36 CASTOR GPL Distribution does not formally comply to Free Software Definition or Open Source Definition No indiscriminate access Users must request access; CERN may reject request Initial motivation: comply to CERN "rules" (but what are they?) for non-military use Question I raised recently: What is CERN policy for compliance to "non-military use of our outcome" (but is it a formal policy?) in the case of "Open Source" SW? François Fluckiger, DMM, 4 June 2003 37 LGPL principles LGPL: Lesser General Public Licence Allow more commercial exploitation Designed for libraries (initially called Library General Public Licence) to be linked with non –free programs Programmes linked with LGPL libraries do not have to be released under LGPL Still, allow original licensor to benefit from improvements (modifications of the libraries) François Fluckiger, DMM, 4 June 2003 38 Differences between public licenses GPL LGPL Run, Yes Yes Copy Yes Yes Free of charge Yes Yes At a charge Yes Yes Modify Yes Yes Incorporate into other programs Yes Yes Verbatim copies Yes Yes Derivative work Yes Yes Redistribute verbatim program exclusively under OL Yes Yes In any case No No Modified library Yes Yes Work linked to the library Yes No Accompany any binary distribution with the source Yes Yes Notification of Changes Required (NCR) No No No restriction on publication/distribution Yes Yes Publish, Distribute Rights Sell Duties Release derivative work as OL (i.e. Source) François Fluckiger, DMM, 4 June 2003 If "Published" Table: FF's tool for comparing licenses; not official, non exhaustive 39 LGPL Chain Original Licensor Program Licensee 1 LGPL LGPL Licensee 2 LGPL LGPL LGPL LGPL May sell May sell Modified library Original Licensor Program Licensee 1 LGPL François Fluckiger, DMM, 4 June 2003 LGPL Prop. Prog. Proprietary Program Linked with library Licensee 2 Any License Prop. Prog. 40 EDG Installation, use, reproduction, display, modification and redistribution of this software, with or without modification, in source and binary forms, are permitted. Any exercise of rights under this license by you or your sub-licensees is subject to the following conditions: 1. Redistributions of this software, with or without modification, must reproduce the above copyright notice and the above license statement as well as this list of conditions, in the software, the user documentation and any other materials provided with the software. 2. The user documentation, if any, included with a redistribution, must include the following notice: "This product includes software developed by the EU DataGrid (http://www.eu-datagrid.org/)." Alternatively, if that is where third-party acknowledgments normally appear, this acknowledgment must be reproduced in the software itself. 3. The names "EDG", "EDG Toolkit", “EU DataGrid” and "EU DataGrid Project" may not be used to endorse or promote software, or products derived there from, except with prior written permission by hep-project-grid-edglicense@cern.ch. 4. You are under no obligation to provide anyone with any bug fixes, patches, upgrades or other modifications, enhancements or derivatives of the features,functionality or performance of this software that you may develop. However, if you publish or distribute your modifications, enhancements or derivative works without contemporaneously requiring users to enter into a separate written license agreement, then you are deemed to have granted participants in the EU DataGrid a worldwide, non-exclusive, royalty-free, perpetual license to install, use, reproduce, display, modify, redistribute and sub-license your modifications, enhancements or derivative works, whether in binary or source code form, under the license conditions stated in this list of conditions. François Fluckiger, DMM, 4 June 2003 41 Next … Medium Term issues Do we want Recommendations to software authors? Better know what we decide, and why? Better record what we are doing? François Fluckiger, DMM, 4 June 2003 42 Next … Elements for possible IT actions Recommendations for any software (Internal and External) Insert copyright statement Record licensing conditions of external modules used (in particular, GPL–like licenses) When Releasing External Software Need to select the form Need to adopt appropriate Source license Binary Publicly Available Binary via Bilateral Agreements Source Publicly Available Source via Bilateral Agreements Select appropriate public license, or Develop specific CERN license Clearer decision-making process needed within IT? François Fluckiger, DMM, 4 June 2003 43 Next … Elements for possible IT procedures Do we need a (automated) mechanism for "registering" any ITdeveloped SW? Name, purpose, author, physical location, documentation pointer, external modules, licensing status, … Would imply we know how to define a SW piece (granularity issue) Licensing issues alone does not justify the effort, I think Any other benefits? e.g. Do we "loose" from time to time SW written by visitors? François Fluckiger, DMM, 4 June 2003 44 CERN SW licensing CERN-wide TAB discussing an ETT proposal on CERN-wide decision-making process for licensing of Inventions Called "Invention Workflow" Inventions include CERN-developed SW Status Workflow specifies mechanisms to decide on Proprietary vs. Open source SW Commercialisation, … Individual SW Cases to be evaluated by ad hoc inter-divisional team set up by ETT: DTTO, author, ETT , "Case Officer", … François Fluckiger, DMM, 4 June 2003 45