Support #8632
closedAdd copyright and statement of copying permission to source files
Description
I would suggest that each source file containing copyrightable contributions start with a comment block to assert copyright and give a statement of copying permission.
For everything but the SDK, I'd suggest something like the following (replacing the list of years the actual years that copyrightable contributions were made to that specific file):
Copyright 2013, 2015, 2016 Curoverse, Inc. This file is part of Arvados. Arvados is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Arvados 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with Arvados. If not, see <http://www.gnu.org/licenses/>.
For more information, see: https://www.gnu.org/licenses/gpl-howto.html
For the SDK, I'd suggest something like the following (again, using actual years):
Copyright 2013, 2015 Curoverse, Inc. 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 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.
For more information on applying the Apache 2.0 license, see: http://www.apache.org/licenses/LICENSE-2.0#apply
Updated by Joshua Randall almost 9 years ago
I should note that one reason I'm requesting this is that I've reached the point where future contributions from me will need to adhere to the Sanger Software Policy (https://github.com/wtsi-ic/wtsi-software-policy/releases/download/v7-20141218/wtsi-software-policy-v7-20141218.pdf) unless we arrange an exception.
Section 3.1.1 is particularly relevant:
If the existing source file contains no copyright notice, unless it is absolutely clear what the copyright status is of the work, staff should assume it is actually copyrighted by someone and therefore it should not be used as to do so would risk infringing that unknown copyright when the combined work is distributed.
I would find it awkward to have to add a Genome Research Ltd copyright to a file that was mostly authored by Curoverse but does not contain a Curoverse copyright statement.
In addition to the license and copyright, I'll need to add individual authorship records (see section 3.2) to the header comment block (i.e. identifying myself as an author). It therefore would be useful (but not necessarily required) if you also include authorship information for the exisiting code (perhaps a fall-back to something like "Curoverse Team" could be appropriate if curating the individual authorship of every source file is too cumbersome).
Assuming we would not do anything exceptional, if I were to make a copyrightable contribution to one of the existing source files after the suggested Curoverse initial comment blocks were added, it might end up looking like something like this:
Copyright 2013, 2015, 2016 Curoverse, Inc. Copyright (C) 2016 Genome Research Ltd. Authors: Joshua C. Randall <jcrandall@alum.mit.edu> This file is part of Arvados. Arvados is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Arvados 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with Arvados. If not, see <http://www.gnu.org/licenses/>.
I'd feel slightly awkward about the "Authors" line if there was not some way to note that there were (likely numerous) other authors as well.
Updated by Ward Vandewege about 8 years ago
There are some tools out there to do this in a (semi) automatic fashion, see the list at https://wiki.opensource.org/bin/Main/Projects/List+of+Licensing+Tools/.
When doing this, make sure to add a message to the commit log that clarifies that this does not change the license status of any file, it just clarifies it on a per-file basis.
We should also consider using spdx instead of adding a full copyright header to each file, a la uboot (http://www.denx.de/wiki/U-Boot/Licensing).