Skip to content

Added EPICS license#235

Merged
kmpeters merged 6 commits intomasterfrom
issue222
Feb 13, 2026
Merged

Added EPICS license#235
kmpeters merged 6 commits intomasterfrom
issue222

Conversation

@kmpeters
Copy link
Member

Added EPICS license in a way that is technically compliant with version 3.3 of the REUSE specification.

Questionable decisions that were made deliberately:

  1. The REUSE.toml file is used to cover all the files in the repo, rather than add the license and copyright info to comments in each file. This was done because the reuse tool, which makes it easy to add license and copyright info to source files, doesn't allow ignoring files except for those in the .gitignore file (there is an open issue requesting that feature).
  2. The year was omitted from the copyright info. The REUSE FAQ outlines the four possible options for inlcuding the year, but omitting the year was the only option that made sense for a module that has existed for multiple decades without properly dated copyright info in files.

@kmpeters kmpeters mentioned this pull request Feb 11, 2026
REUSE.toml Outdated

[[annotations]]
path = "**"
SPDX-FileCopyrightText = "UChicago Argonne LLC."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this setting claiming that all copyrights in the module sources are owned by Argonne? I don't think that would be a good thing to imply, given that the Git history contains commits by many non-APS developers (and that's only for the changes since version 4-1 was imported into SVN):

Kato$ git shortlog -sn
  1227  Ron Sluiter
   823  MarkRivers
   194  kpetersn
   187  timmmooney
   149  Kevin Peterson
    64  kmpeters
    48  Mark Rivers
    47  jsullivan-anl
    45  mp49
    36  Peter Denison
    32  Torsten Bögershausen
    27  Keenan Lang
    20  sluiter
    18  rsluiter
    15  Jens Eden
    13  PI-SRau
    12  Pete R Jemian
    11  Kurt Goetze
     9  David Kline
     6  keenanlang
     5  Kurt A. Goetze
     5  Pete Jemian
     5  klang
     3  Benjamin Bradnick
     3  J. Lewis Muir
     3  JPHammonds
     3  Matthew Pearson
     3  NicholasRees
     3  jemian
     3  prjemian
     2  Jack Harper
     2  Marius Elvert
     2  Vintar Rok
     2  Wayne Lewis
     1  Ben Franksen
     1  Bruno Luvizotto
     1  Freddie Akeroyd
     1  Gabriel Fedel
     1  Henrique Dante de Almeida
     1  K Lauer
     1  Mitch D'Ewart
     1  Scott Stubbs
     1  StefanMathis
     1  Xiaoqiang Wang
     1  cvs2svn
     1  jkirchman
     1  justincslac

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but files in base that have been modified by people from other institutions have the same problem:

https://github.com/epics-base/epics-base/blob/419a704ad9c1c653d15a05c800b1e47aa5589e1f/modules/libcom/src/misc/epicsExport.h#L1-L9

I don't know the proper way to address this.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like many files in the linux kernel include license info, but not copyright info, despite being modified by many people:

https://github.com/torvalds/linux/blob/541c43310e85dbf35368b43b720c6724bc8ad8ec/sound/usb/format.c#L1

https://github.com/torvalds/linux/commits/master/sound/usb/format.c

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've always been happy for epics-base PRs to include additions to the Copyright notices of the files the authors are changing. It doesn't happen very often, but there are some examples, e.g. here.

The Argonne notice in our standard headers shows how contributors should add their own if they want to, but we don't push that. We used to require a legally signed Grant of License to cover all contributions before 2004 when we relicensed Base under the EPICS Open license, those papers allowed us to do the relicensing.

There are a couple of files in this module with a recent(ish) Copyright notice, Peter Denison included them in his MotorAsyn device & driver sources. You should try to avoid conflict with his notices. If the REUSE.toml setting is only a default that is supposed to apply to files missing anything more specific that's probably okay, as long as you adjust the older notices from the Universities of Chicago and California that don't explicitly mention the EPICS Open License. You may edit/remove those long headers and Modification Logs as long as you keep the Copyright line(s).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When a file has multiple copyright notices in it, each copyright holder has ownership rights to some parts of the file, but the only way we can see that is using "git blame."

Is there a way to check to see if a copyright holder's lines still exist in a file? I assume the copyright statement should be removed if all the lines that were contributed by the copyright holder are no longer present in the file.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to remove the REUSE.toml file tomorrow. I don't know what will happen to this conversation.

@kmpeters
Copy link
Member Author

kmpeters commented Feb 13, 2026

The REUSE.toml file was removed. This PR only adds the EPICS license, which addresses issue #222

@kmpeters kmpeters merged commit 7378022 into master Feb 13, 2026
3 checks passed
@kmpeters kmpeters deleted the issue222 branch February 13, 2026 15:46
@kmpeters kmpeters added this to the R7-4 milestone Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants