-
Notifications
You must be signed in to change notification settings - Fork 2
LGPL Software Header Policies
Randy King 2/28/2020
The NDN open source codebases that we are using has LGPLv3 header on each file. Operant will be making changes to some (but not all) of these source code files. There are three classes of modifications to consider; the question is what license header the new files should contain. The following legal opinions were supplied by Colton Carothers, of Perkins Coie, in an email of February 13th, 2020.
**Q1: Unchanged files: ** We assume the header should be carried forward unchanged (i.e. not even updating the date)
A1: Yes – if the file is unchanged, you should convey it as written; particularly you do not want to change the copyright notice to Operant given that it was not developed by Operant.
Q2: Major Changes to File: Should we remove the existing copyright and authorship?
A2: For major changes, we believe you can appropriately remove the branding of the other author and just include Operant.
Q3: Slight Modifications to File: We have seen discussion on the internet that there are a class of modifications which are considered ‘trivial’ (such as changing the name of the file or a comment) which would be treated as item 1) unchanged files and result in no copyright/license change. What should our policy be here?
A3: For slight modifications, you can certainly include Operant branding, but depending on how much you change the file, you may want to consider also including in the header the original author. This is more of a “diplomatic” question in the open source world, so you will want to use your instincts and gut on whether the changes you made are substantial enough that UCLA or another developer would not be upset with the header not recognizing them.
As a result, we will follow these policies:
1) Unchanged Files: Carry over existing copyright and authorship headers unchanged
2) Files with Major Changes:
Replace the copyright notices and authorship with the following new header:
/**
* Copyright (C) 2020 Operant Networks, Incorporated.
* @author: Mary Smith [email protected]
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version, with the additional exemption that
* compiling, linking, and/or using OpenSSL is allowed.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* A copy of the GNU Lesser General Public License is in the file COPYING.
*/
3) Files with ‘Slight’ Modifications:
Based on the opinion above and the ‘Software Freedom Law Center Guide to GPL Compliance, 2nd Edition’ , we will modify the existing notices as follows. While the definition of ‘slight modification’ is a judgement by the new author, for the purposes of this NDN-based project we will err on the side of continuing credit to the originators to retain visibility of the development path.
/**
* Copyright (C) 2020 Operant Networks, Incorporated.
* @author: Mary Smith <[email protected]>
*
* This works is based substantially on previous work as listed below:
*
* Original file: filename.ext
* Original repository: github.com/repo
*
* Summary of Changes: One line [details may be distributed throughout via code comments]
*
* which was originally released under the LGPL license with the following rights:
*
* Copyright (C) 2016-2020 Regents of the University of California.
* @author: Jeff Thompson <[email protected]>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version, with the additional exemption that
* compiling, linking, and/or using OpenSSL is allowed.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* A copy of the GNU Lesser General Public License is in the file COPYING.
*/