Changes between Version 16 and Version 17 of SWLicense


Ignore:
Timestamp:
03/27/2009 07:31:29 PM (11 years ago)
Author:
RayPlante
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SWLicense

    v16 v17  
    1818== Proposal == 
    1919 
    20 All code written by the LSST project for the operation of LSST and the processing of its data shall be licensed under the [http://www.fsf.org/licensing/licenses/gpl.html GNU Public License Version 3 (GPLv3)] or later.  This enables the following: 
    21   *  Users of the software are allowed to do so free of charge 
     20All code written by the LSST project for the LSST Data Management System shall be licensed under the [http://www.fsf.org/licensing/licenses/gpl.html GNU Public License Version 3 (GPLv3)] or later.  This enables the following: 
     21  *  Users of the software are allowed to do so free of charge 
    2222  *  Others may copy, redistribute, extend or modify the software 
    23   *  Allows LSST to use and link against other GPLed software 
     23  *  Others can use the software for private purposes without any restriction as long as the software is not redistributed. 
     24  *  Allows LSST to use and link against other GPLed software, as well as other open source software with [http://www.fsf.org/licensing/licenses/ GPL-compatible licenses]. 
    2425  *  The software may be linked against certain proprietary software through well defined interfaces that are documented as special exceptions ([http://www.fsf.org/licensing/licenses/gpl-faq.html#LinkingOverControlledInterface Ref.]) 
    2526 
     
    2728 * All copies, modified or unmodified, are accompanied by a copy of the license 
    2829 * Source code for derived works or extensions distributed by others must be made available in source form 
    29  * GPLed software cannot be combined with other software unless it is covered by a compatible license (or meets the above mentioned exceptions). 
    30  * GPLed software cannot be used as part of proprietary (commercial) software. 
     30 * GPLed software cannot be combined with other software and redistributed unless the other software is covered by a compatible license (or meets the above mentioned exceptions) ''and'' the combined result is also released under the GPL license. 
     31 * GPLed software cannot be used as part of proprietary software. 
    3132 
    3233Software distributed under GPL is provided as is (i.e. without any warranty of any sort). 
     
    3435 
    3536== Implementation == 
    36 In practice adopting the GPL means 
    37  1. Adding a reference to the appropriate license and copyright information to each source file and each header. 
    38  2. Distributing with the code or otherwise making available a LICENSE file and a NOTICE file. 
    3937 
    40 The LICENSE file contains the Apache License 2.0 text itself. The NOTICE file contains all the copyright notices needed. 
     38To apply GPL to LSST software, we will need to 
     39 1. Add to each source code file a licensing notice that includes: 
     40     *  a copyright statement  
     41     *  a licensing/copying statement 
     42 2. Distribute with LSST packages a file called COPYING containing: 
     43     *  a copyright statement 
     44     *  a copy of the [http://www.gnu.org/licenses/gpl.txt GNU v3 License text] 
     45     *  copies or notices of the other compatible licenses  
    4146 
     47See Ref: [http://www.fsf.org/licensing/licenses/gpl-howto.html How to use the GNU licenses for your own software]. 
    4248 
    43 === Proposed disclaimer in source/header files (local NOTICE file) === 
     49=== Licensing Notice to be included in Source Code === 
     50 
     51The following is an example of the notice for C++ header (*.h) and source (*.cc) files.   
     52 
    4453{{{ 
    45 /* See the NOTICE file distributed with this work  
    46  * for information regarding copyright ownership. 
     54/*  
     55 * LSST [name of application, software package, or system] 
     56 * Copyright 2008, 2009, 2010 LSST Corporation. 
     57 *  
     58 * This product includes software developed by the 
     59 * LSST Project (http://www.lsst.org/). 
    4760 * 
    48  * Licensed under the Apache License, Version 2.0 
    49  * (the "License"); you may not use this file except in compliance with 
    50  * the License.  You may obtain a copy of the License at 
    51  * 
    52  *     http://www.apache.org/licenses/LICENSE-2.0 
    53  * 
    54  * Unless required by applicable law or agreed to in writing, software 
    55  * distributed under the License is distributed on an "AS IS" BASIS, 
    56  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
    57  * See the License for the specific language governing permissions and 
    58  * limitations under the License. 
     61 * This program is free software: you can redistribute it and/or modify 
     62 * it under the terms of the GNU General Public License as published by 
     63 * the Free Software Foundation, either version 3 of the License, or 
     64 * (at your option) any later version. 
     65 *  
     66 * This program is distributed in the hope that it will be useful, 
     67 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
     68 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     69 * GNU General Public License for more details. 
     70 *  
     71 * You should have received a copy of the GNU General Public License 
     72 * along with this program.  If not, see <http://www.gnu.org/licenses/>. 
    5973 */ 
    60  
    61  
    6274}}} 
    6375 
     76'''Notes:''' 
     77  * Other source files should use the same text but apply the appropriate commenting mark-up. 
     78  * The start of this text should appear within a few lines of the top of the file 
     79  * For simplicity, the name of the software (in the first line) can start off as "LSST Data Management System"; authors  of the file may change it later to be more specific.   
    6480 
    65 === Proposed disclaimer in source/header files (remote NOTICE file) === 
     81=== COPYING: the License statement === 
     82 
     83The COPYING file will contain the following: 
     84 
     85  * Statement Identifying Licensor and Authors 
     86 
    6687{{{ 
    67 /* See the NOTICE file available at 
    68  * 
    69  *     http://www.lsst.org/license/NOTICE 
    70  * 
    71  * for information regarding copyright ownership. 
    72  * 
    73  * Licensed under the Apache License, Version 2.0 
    74  * (the "License"); you may not use this file except in compliance with 
    75  * the License.  You may obtain a copy of the License at 
    76  * 
    77  *     http://www.apache.org/licenses/LICENSE-2.0 
    78  * 
    79  * Unless required by applicable law or agreed to in writing, software 
    80  * distributed under the License is distributed on an "AS IS" BASIS, 
    81  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
    82  * See the License for the specific language governing permissions and 
    83  * limitations under the License. 
    84  */ 
    85  
    86  
    87 }}} 
    88  
    89  
    90 === Example NOTICE file (adapted from Apache httpd 2.0) === 
    91 {{{ 
    92 LSST Pipeline Framework 
     88LSST Data Management System Software 
    9389Copyright 2008, 2009, 2010 LSST Corporation. 
    9490 
    9591This product includes software developed by the 
    96 LSST Project (http://www.lsst.org/). 
     92LSST Project (http://www.lsst.org/) with contributions made at LSST partnerr 
     93institutions: 
    9794 
    98 Portions of this software were developed at the National Center 
    99 for Supercomputing Applications (NCSA) at the University of 
    100 Illinois at Urbana-Champaign. 
    101  
    102 This software contains code derived from the RSA Data Security 
    103 Inc. MD5 Message-Digest Algorithm, including various 
    104 modifications by Spyglass Inc., Carnegie Mellon University, and 
    105 Bell Communications Research, Inc (Bellcore). 
    106  
    107 Regular expression support is provided by the PCRE library package, 
    108 which is open source software, written by Philip Hazel, and copyright 
    109 by the University of Cambridge, England. The original software is 
    110 available from 
    111    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 
     95  * The LSST Corporation 
     96  * The NASA Infrared Processing and Analysis Center at Caltech University 
     97  * The National Center for Supercomputing Applications (NCSA) at the University of 
     98    Illinois at Urbana-Champaign 
     99  * The National Optical Astronomy Observatory (NOAO) 
     100  * Princeton University 
     101  * The Stanford Linear Accelerator Laboratory (SLAC) 
     102  * University of Arizona, Steward Observatory 
     103  * University of California Davis 
     104  * The San Diego Supercomputing Center (SDSC) at the University of California San Diego 
     105  * University of Washington 
    112106}}} 
     107   '''Notes:''' 
     108        *  Individual author names ''may'' be provided else where in the file as appropriate (e.g. as part of Doxygen API documentation markup 
     109        *  Additional institutions may be added to the credit list over time as contributions are made 
     110        *  No effort will be made to update this list for packages that have already been released 
     111        *  For ease of maintenance, no effort will be made to remove institutions from the credit list even when the particular package distribution contains no actual contributions from that institution.  
    113112 
    114113 
    115 == Comments == 
     114== History == 
    116115 
    117 === Email discussion between Ray and Francesco === 
     116The development of this Open Source License policy can be found previous versions of this document; see in particular: version 15.   
    118117 
    119 Date: Wed, 3 Sep 2008 07:12:40 -0500 (CDT) [[BR]] 
    120 From: Ray Plante [[BR]] 
    121 To: Francesco Pierfederici [[BR]] 
    122 Cc: Robyn Allsman [[BR]] 
    123  
    124 Francesco, 
    125  
    126 Would you have time to address some questions regarding this topic before the meeting.  Putting the answers on the trac page would be best.  (I suppose I can put my questions there, too.) 
    127  
    128   *  Does the Apache license say anything regarding linking with libraries covered by other licenses? 
    129  
    130   *  Apache 2 is said to be "compatible" with GNU.  What does this mean to us, particularly with regard to linking against GNU libraries?  What versions of GNU is it compatible with. 
    131  
    132   *  It was suggested at a past DC3 telecon that because we link against GNU software, we must license our own as GNU, or that at least that there are enough open questions about this that GNU represents the safest choice.  In your opinion, what is the status of this discussion? 
    133  
    134 thanks! 
    135 Ray 
    136  
    137  
    138 Date: Wed, 3 Sep 2008 13:56:47 +0100[[br]] 
    139 From: "Francesco Pierfederici" [[br]] 
    140  
    141  
    142 My understanding is that if we link our software against GNU Licensed 
    143 software then the combined binary product (our code + GNU code) has to 
    144 be GPLed. There is no way around it. The Apache 2 license is 
    145 compatible with GPL 3 but not 2 or earlier versions (because of the 
    146 clause on patents in the Apache license). Compatibility with GPL means 
    147 that we can link against GPLed code. However the end result has to be 
    148 GPLed as well. 
    149  
    150 The Apache 2 license is very liberal and does not even require that 
    151 modified version of the software are distributed under the Apache 
    152 license. As far as mixing software covered by the Apache license with 
    153 code covered by other licenses, the Apache license does not affect the 
    154 license status of the other work. You just have to give proper credits 
    155 etc. This is in stark difference with the GPL, of course. 
    156  
    157 Another option would be a BSD license. Those are compatible with all 
    158 version of GPL. However also in that case, linking with GPLed code 
    159 produces GPL code. 
    160  
    161 === From Ray Plante === 
    162  
    163 If you look at the attached document, [attachment:3rdparty.txt 3rdparty.txt], you will see list of 3rd party packages we currently depend on along with the license it employs.  (We have other products available, but I haven't added these yet.)  A few use GPL v2.   
    164  
    165 I surmise the following, then: 
    166  
    167   *  Since some of the packages are GPL v2, we technically cannot go with Apache 2.  If we ignored this issue and went with Apache 2, this would not be an enforcement issue.  However, the Modified BSD would not have this problem. (KTL: only if we are linking with the package.  For example, doxygen or gcc, which are only used for building, do not impact the licensing at all.) 
    168  
    169   *  We must specifically license the binary distributions under GPL. 
    170  
    171   *  We need to make sure our eups-based distribution system distributes copies of the licenses for the 3rd party packages.   
    172118 
    173119== CCB Discussion: Four Alternatives ==