gbranden pushed a commit to branch master
in repository groff.
commit 261a360485fc040c8f22bce1eb65ef7a65d1448c
Author: G. Branden Robinson <[email protected]>
AuthorDate: Tue Feb 3 04:01:10 2026 -0600
HACKING: Expand "Updating copyright notices".
---
HACKING | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 97 insertions(+), 16 deletions(-)
diff --git a/HACKING b/HACKING
index a630ce574..790f4c440 100644
--- a/HACKING
+++ b/HACKING
@@ -1,4 +1,4 @@
- Copyright 2022-2024 G. Branden Robinson
+ Copyright 2022-2026 G. Branden Robinson
Copying and distribution of this file, with or without
modification, are permitted in any medium without royalty provided
@@ -109,9 +109,48 @@ their impact.
Updating copyright notices
--------------------------
-* The overall copyright notice for groff as a work of software is
- updated at release time. See the 'FOR-RELEASE' file in the Git
- repository.
+* A lay person's views and opinion follow; they are not legal advice.
+ If you require legal advice, consult a licensed attorney competent in
+ copyright law in your jurisdiction. The following discussion attempts
+ to establish a coherent basis from which to make consistent decisions
+ about the inclusion and maintenance of copyright notices in groff.
+
+* The purpose of a copyright notice is to record legal facts about a
+ work. It is not to express acknowledgement of, gratitude about, or
+ appreciation for the efforts of contributors, past or present, which
+ is better done in documentation--and with explicit expression!
+
+* Copyright protection extends to those portions of the work fixed in a
+ tangible medium in the years declared in the copyright notice, except
+ for those portions whose copyright durations have elapsed. But these
+ are so lengthy that, in the United States as of 2025, no work of
+ computer software or documentation has ever yet even _partially_ aged
+ into the public domain. (Some has been placed into the public domain
+ deliberately, and some never enjoyed copyright protection at all.)
+
+ Historically--decades ago, and before digital computing was commonly
+ undertaken in the home or even in small- to medium-scale
+ business--a copyright notice also asserted a legal claim. (It remains
+ useful to establish a basis for recovery of damages in U.S. civil
+ copyright infringement cases.) But copyright notices have not
+ constituted "assertions" of copyright for factual or criminal
+ infringement purposes (in the United States) for around 50 years as of
+ 2026. Removing a party's name from a copyright notice (as might
+ happen consequent to code deletion or wholesale rewriting of
+ documentation) is not a challenge or insult to that person or
+ organization, and does not deprive them of legitimate legal rights,
+ when and where doing so _makes the copyright notice more accurate_.
+
+ Software developers relying upon copyright protection are responsible
+ for maintaining accurate copyright notices. In the U.S., making a
+ claim of copyright fraudulently can be a criminal offense (17 USC
+ ยง506(c)). Making an overbroad claim of copyright, by naming parties
+ who don't legitimately have copyright in a work or by deliberately
+ overstating the recency of their efforts is, in the lay opinion of the
+ maintainer as of this writing, neglectful of responsibility.
+
+* Update the overall copyright notice for groff as a work of software
+ at release time. See the 'FOR-RELEASE' file in the Git repository.
* Update a _file_'s copyright notice in a year when committing a change
to it that is "original expression" and would thus merit copyright
@@ -120,8 +159,40 @@ Updating copyright notices
"bumping" the copyright notice when _no_ change has been made, or when
the alterations are trivial by another standard (code style changes
that don't require regression testing; editorial changes to text that
- are _invisible_ to the lay reader without technological
- assistance--like trailing tab/space removal) abuses the principle.
+ are _invisible_ to the lay reader without technological assistance--
+ like trailing tab/space removal) abuses the principle, as noted above.
+
+ The GNU Maintainers' Guide's threshold for a "legally significant"
+ change is 15 lines.
+
+ "A change of just a few lines (less than 15 or so) is not legally
+ significant for copyright."
+
+ https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html
+
+ Conversely, >= 15 lines would be. This guidance is vague, as it makes
+ no claim of an expected, typical, or mean line length, and different
+ file formats and stylistic practices in code and documentation
+ production exhibit different typical line lengths. Bearing in mind
+ that the 15 lines must constitute "original expression", and lacking
+ further guidance from that manual, in groff we ignore the issue of
+ line length and interpret "15 lines" as requiring a _net increase_ in
+ a file's line count of at least that magnitude, as calculated by
+ taking the output of "git diff --stat" on the file and subtracting
+ lines removed from lines added, a procedure that can result in a
+ nonpositive number. This rule has the advantage that it tends to
+ exclude voluminous but robotic changes, as one might make with "sed
+ -i", which seldom constitute "original expression".
+
+ Where a change produces a net increase of 15 lines or more but _still_
+ seems robotic or unoriginal, consider (1) applying the annotation
+ "Copyright-paperwork-exempt: yes" to the Git commit log message, and
+ (2) recording, in the corresponding commit log message, the robotic
+ procedure that produced the change.
+
+ Regarding "original expression", see section 308 of
+ <https://www.copyright.gov/comp3/chap300/
+ ch300-copyrightable-authorship.pdf>.
* If you forget the foregoing step, or contributions to a file seem to
accrete original status over time or a series of commits, it's fine to
@@ -131,18 +202,28 @@ Updating copyright notices
them in the commit message so that other people understand the basis
of your claim.
+* Similarly, it is also virtuous to correct existing copyright notices
+ that apply overbroad principles of update as described above. Doing
+ so demands careful study of a file's history, and one must be mindful
+ of file renames and relocations of content, neither of which have any
+ impact on copyright. When revising a copyright notice thus, document
+ your research procedure (for example, by recording in the commit log
+ the exact Git commands you used) so that anyone can reproduce it.
+
* It's okay to simply report a range of years in the copyright notice
- instead of a comma-separated list. As far as GBR knows there is no
- hard rule that such ranges are interpreted exhaustively, and unless
- someone has a chronological record of changes to the file, a broken
+ instead of a comma-separated list. As far as the current maintainer
+ knows, there is no hard rule that such ranges are interpreted
+ exhaustively, and unless someone has a chronological record of changes
+ to the file--which is present in groff's Git commit repository going
+ back to about 2014, but absent from distribution archives--a broken
sequence of copyright coverage years makes little difference.
- Copyright protection extends to those portions of the work fixed in a
- tangible medium in the years declared in the copyright notice, except
- for those portions whose copyright durations have elapsed. But these
- are so lengthy that, in the United States as of 2025, no work of
- computer software or documentation has ever yet even _partially_ aged
- into the public domain. (Some has been placed in the public domain
- deliberately, and some never enjoyed copyright protection at all.)
+
+ Prior to 2014, groff's Git history is coarser, being reconstructed
+ from CVS, and prior to February 2000, each commit is a snapshot of a
+ distribution archive.
+
+ https://lists.gnu.org/archive/html/groff/2013-12/msg00033.html
+ https://lists.gnu.org/archive/html/groff/2013-12/msg00005.html
Writing tests
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit