ADR Suggestion Standardizing SPDX License Headers
#65
Replies: 3 comments 4 replies
-
|
Many projects use {year_created}–{year_last_modified} or just update to the current year on modification. |
Beta Was this translation helpful? Give feedback.
-
|
If we get contributions from other facilities which hold copyright on their work, 'EasyScience contributors' may not be legally sufficient. |
Beta Was this translation helpful? Give feedback.
-
|
Are we going to automate this process or rely on CR to catch missing strings? Should we define explicitly which file types should have the header? Tests as well? Notebooks and example scripts? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
We already use the System Package Data Exchange (SPDX) header in our files to declare the license identifier and copyright text. I propose documenting the exact format and wording so that it is consistent across all EasyScience projects.
Additional specifications can be found here:
Based on these sources, as well as this article
https://liferay.dev/b/how-and-why-to-properly-write-copyright-statements-in-your-code,
I suggest using the following header format:
Proposed conventions
Year of file creation
A single
{year_of_file_creation}should be used, set when the file is first created and not modified afterwards.This approach is recommended in the article above and seems to also be used in Scipp.
Name of copyright holder
The Scipp organization uses a unified text Scipp contributors across all projects under the organization (e.g.
scipp,plopp,esslivedata,essreflectometry, etc.).I suggest adopting the same approach for all projects under the EasyScience organization by using:
Contact information
Scipp uses the GitHub organization URL as the contact reference:
I suggest using the equivalent URL for EasyScience:
Following the article mentioned above, the contact should be placed in angle brackets (< >).
Final unified header format
With these conventions, all source files under the EasyScience organization would use the following two-line header:
Python files (.py)
QML files (.qml)
No additional information would be required in the file header. This keeps the header simple and avoids the need to update it during development.
Individual contributions and authorship history can be tracked through the repository’s Git history.
Beta Was this translation helpful? Give feedback.
All reactions