Copyrights for LSST DM work and the COPYRIGHT file¶
This page describes how copyrights are assigned and managed for LSST DM source code and documentation.
Continuously update copyrights during development¶
All DM developers should participate in keeping copyright statements up to date as you work on the DM codebase. There is no automated process for updating copyright statements at the moment.
If you move source files between different source repositories, remember to also audit and move copyright assignments as necessary.
Copyright holders¶
DM institutions¶
LSST Data Management is a collaboration of multiple institutions. The contracts allow these institutions to retain the copyright for the intellectual property they generate.
Use these legal names when assigning copyright for work you contribute on behalf of your institution:
- Association of Universities for Research in Astronomy
- University of Washington
- The Trustees of Princeton University
- The Board of Trustees of the Leland Stanford Junior University, through SLAC National Accelerator Laboratory
- University of Illinois Board of Trustees
- California Institute of Technology
External contributors¶
Contributions from institutions or individuals outside of DM are accepted and the relevant copyright statement should be included in the file if appropriate.
Important
We do not require copyright assignment to AURA on external code contributions. However, small patches are not generally sufficient to grant copyright to the contributor.
LSST Corporation and preconstruction era¶
Prior to the start of LSST construction (before August 2014) all copyright was granted to the LSST Corporation.
Note
Since the beginning of construction (August 2014) some copyrights have been erroneously granted to the LSST Corporation because of a lack of policy communication. These post-2014 copyright assignments to LSST Corporation are errors and should be fixed.
Formatting copyright statements¶
Copyright statements have the following format:
Copyright {{years}} {{institution}}
When there is more than one institution, include each institution on a separate line. Lines for each institution are formatted using the above template.
Here is an example of a copyright statement with two contributing institutions:
Copyright 2012-2014 LSST Corporation
Copyright 2014-2017 Association of Universities for Research in Astronomy
The “years” in a copyright statement must reflect when contributions were made:
A single year:
Copyright 2015 Association of Universities for Research in Astronomy
A continuous span of years:
Copyright 2015-2018 Association of Universities for Research in Astronomy
A sequence of multiple single years and spans of years:
Copyright 2015-2016, 2018 Association of Universities for Research in Astronomy
Copyright 2015, 2017 Association of Universities for Research in Astronomy
Important
Don’t use spans to cover years when no contributions were made.
For example, if the code in a package has not been touched since 2015 and you are working on it in 2018, do not say 2012-2018
but instead write 2012-2015, 2018
.
You can determine this by looking at the repository change history.
Where to record copyright information¶
Where you record copyright information depends on the license that the project is using. Some licenses, such as the MIT license, provide a place to record the copyright in the license file itself.
For licenses where it’s common to record copyrights in individual source files (such as GPL-3.0), Data Management uses a centralized COPYRIGHT instead. See the next section.
In some types of projects it’s natural to record copyrights in other places, such as READMEs, package metadata, and documentation configuration files.
If you do this, ensure that the extra copyright statements are always updated in step with the legally-binding copyright statement in the LICENSE
or COPYRIGHT
files.
For READMEs, it’s usually best to just link to the LICENSE
and COPYRIGHT
files instead of duplicating information.
The COPYRIGHT file¶
For projects whose license requires per-file license preambles (such as GPL-3.0), we record copyright information in a centralized COPYRIGHT
file, instead of in individual source files.
Stack packages use COPYRIGHT files.
How to implement COPYRIGHT files¶
The COPYRIGHT
is located at the root of the repository, just like LICENSE
.
Format the copyright statements as described above, with one line per copyright holder. For example:
Copyright 2012-2014 LSST Corporation
Copyright 2016, 2018 University of Washington
Copyright 2014-2018 Association of Universities for Research in Astronomy
The COPYRIGHT
file does not contain any other content.
A template for COPYRIGHT files is available.
Background¶
Using a COPYRIGHT
file allows us to maintain copyright information more effectively than in source code comments.
See also
See this article from the Software Freedom Law Center for background on this policy, which was proposed in RFC-45.
COPYRIGHT
files are designed to be robotically refreshed, though this automation does not currently exist.
In the meantime, copyright.py
is a script that may help maintain COPYRIGHT
files.
Automatically updating the files requires people committing to the repository to use their institutional email address.