summaryrefslogtreecommitdiff
path: root/admin/notes/years
blob: 113e6608d3f0207b8525aab7e79f1639508adbd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
HOW TO MAINTAIN COPYRIGHT YEARS FOR GNU EMACS

Maintaining copyright years is now very simple: every time a new year
rolls around, add that year to every FSF (and AIST) copyright notice.
Do this by running the 'admin/update-copyright' script on a fresh repo
checkout, redirecting its output to a file, so that you could later
examine the files that don't have copyright notices.  Inspect the
results for plausibility, then commit them.

A few known problems with the build-aux/update-copyright script:

  . it doesn't update config.bat, msdos/depfiles.bat,
    nt/configure.bat, etc/tutorials/TUTORIAL.cn,
    etc/tutorials/TUTORIAL.el_GR, and etc/tutorials/TUTORIAL.he
    because the "Copyright" statement begins in these files
    after a prefix that is more than 5 characters long
  . it doesn't update etc/tutorials/TUTORIAL.nl and
    etc/tutorials/TUTORIAL.ro for some reason
  . it doesn't update the second Copyright notice, the one that gets
    output into PDF and PS, in etc/refcards/ru-refcard.tex
  . it doesn't update etc/refcards/gnus-refcard.tex and
    doc/misc/org.org because their Copyright statements have a
    non-standard format
  . several README and XPM files under etc/images/, and also
    etc/refcards/README, msdos/README, and nt/icons/README aren't
    updated either

These files need to be updated by hand.

Next, run "M-x set-copyright" from admin.el, which updates several
copyright notices in the Emacs sources.

You should also run the etags test suite in test/manual/etags/.  It
will most probably fail because the contents of the test files changes
due to copyright years update, so you need to move each ETAGS and
CTAGS file produced by the test runs into the corresponding
ETAGS.good* and CTAGS.good files, and then commit the new test files.

There's no need to worry about whether an individual file has changed
in a given year - it's sufficient that Emacs as a whole has changed.

Therefore the years are updated en-masse near the start of each year,
so basically there is no need for most people to do any updating of them.

The current (in 2011) version of "Information for Maintainers of GNU
Software" (see that document for more details) says that it is OK to use
ranges in copyright years, so in early 2011 the years were changed to use
ranges, which occupy less space and do not grow in length every year.

For more detailed information on maintaining copyright, see the file
"copyright" in this directory.

The previous policy was more complex, but is now only of historical
interest (see versions of this file from before 2009).

The refcards in etc/refcards can print only the latest copyright year,
but should keep the full list in a comment in the source.


"Our lawyer says it is ok if we add, to each file that has been in Emacs
 since Emacs 21 came out in 2001, all the subsequent years[1].  We don't
 need to check whether *that file* was changed in those years.
 It's sufficient that *Emacs* was changed in those years (and it was!).

 For those files that have been added since then, we should add
 the year it was added to Emacs, and all subsequent years."

 --RMS, 2005-07-13

[1] Note that this includes 2001 - see
<https://lists.gnu.org/r/emacs-pretest-bug/2006-12/msg00119.html>