Update to GPLv2 or later.
[bpt/emacs.git] / admin / notes / copyright
CommitLineData
b05db979 1Copyright (C) 2007 Free Software Foundation, Inc.
e3e14128 2See the end of the file for license conditions.
b05db979
GM
3
4
571975c0
GM
5NOTES ON COPYRIGHTS AND LICENSES
6
7Some terminology:
8
9A "copyright notice" consists of one or a few lines of this format:
10"Copyright (C) 2006, 2007 Free Software Foundation, Inc."
11
12A "license notice" is a statement of permissions, and is usually much
13longer, eg the text "GNU Emacs is free software...".
14
15
71428fe7
GM
16Summary for the impatient:
17
181. Don't add a file to Emacs written by someone other than yourself
19without thinking about the legal aspect (make sure they have an
b83813ec
GM
20assignment, adjust the copyright statements in the file). NB the
21ChangeLog entry should be in the name of the author of the code, not
22the person who installs it.
71428fe7
GM
23
242. With images, add the legal info to a README file in the directory
25containing the image.
26
273. If you add a lot of text to a previously trivial file that had no
28legal notices, consider if you should add a copyright statement.
29
f199f76c
GM
304. Please don't just add an FSF copyright without checking that is the
31right thing to do.
32
71428fe7 33
571975c0
GM
34Every non-trivial file distributed through the Emacs CVS should be
35self-explanatory in terms of copyright and license. This includes
36files that are not distributed in Emacs releases (for example, the
37admin/ directory), because the whole Emacs CVS is publicly
38available.
39
40The definition of triviality is a little vague, but a rule of thumb is
41that any file with less than 15 lines of actual content is trivial. If
42a file is auto-generated (eg ldefs-boot.el) from another one in the
43CVS, then it does not really matter about adding a copyright statement
44to the generated file.
45
d502a3da
GM
46Legal advice says that we could, if we wished, put a license notice
47even in trivial files, because copyright law in general looks at the
48overall work as a whole. It is not _necessary_ to do so, and rms
49prefers that we do not. This means one needs to take care that trivial
50files do not grow and become non-trivial without having a license
51added. NB consequently, if you add a lot of text to a small file,
52consider whether your changes have made the file worthy of a copyright
53notice, and if so, please add one.
c320d3b8 54
571975c0
GM
55The years in the copyright notice should be updated every year (see
56file "years" in this directory). The PS versions of refcards etc
57should display copyright notices (an exception to the rule about
58"generated" files), but these can just display the latest year. The
59full list of years should be kept in comments in the source file. If
60these are distributed in CVS, check in a regenerated version when the
61tex files are updated.
62
63Copyright changes should be propagated to any associated repositories
64(eg Gnus, MH-E), but I think in every case this happens automatically
65(?).
66
e3e14128
GM
67All README (and other such text files) that are non-trivial should
68contain copyright statements and GPL license notices, exactly as .el
bf5e9393 69files do (see e.g. README in the top-level directory). Before 2007,
e3e14128
GM
70we used a simple, short statement permitting copying and modification
71provided legal notices were retained. In Feb 2007 we switched to the
bf5e9393
GM
72standard GPL text, on legal advice. Some older text files in etc/
73should, however, keep their current licenses (see below for list).
571975c0 74
e3e14128
GM
75For image files, the copyright and license details should be recorded
76in a README file in each directory with images. (Legal advice says
77that we need not add notices to each image file individually, if they
5aa27cc9
GM
78allow for that.). It is recommended to use the word "convert" to
79describe the automatic process of changing an image from one format to
80another (http://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00618.html).
81
571975c0
GM
82
83When installing a file with an "unusual" license (after checking first
84it is ok), put a copy of the copyright and license in the file (if
85possible. It's ok if this makes the file incompatible with its
86original format, if it can still be used by Emacs), or in a README
87file in the relevant directory.
88
89The vast majority of files are copyright FSF and distributed under the
90GPL. A few files (mainly related to language and charset support) are
91copyright AIST alone, or both AIST and FSF. (Contact Kenichi Handa
92with questions about legal issues in such files.) In all these cases,
93the copyright years in each file should be updated each year.
94
95There are some exceptions to the points in the previous paragraph, and
96these are listed below for reference, together with any files where
97the copyright needs to be updated in "unusual" ways.
98
99If you find any other such cases, please consult to check they are ok,
100and note them in this file. This includes missing copyright notices,
101and "odd" copyright holders. In most cases, individual authors should
102not appear in copyright statements. Either the copyright has been
103assigned (check copyright.list) to the FSF (in which case the original
104author should be removed and the year(s) transferred to the FSF); or
105else it is possible the file should not be in Emacs at all (please
106report!).
107
c14dd816
GM
108Note that it seems painfully clear that one cannot rely on CVS logs,
109or even ChangeLogs, for older changes. People often installed changes
110from others, without recording the true authorship.
111
571975c0
GM
112[For reference, most of these points were established via email with
113rms, 2007/1, "Copyright years".]
114
115
b05db979
GM
116lib-src/etags.c # print_version
117lib-src/rcs2log # Copyright
118lisp/calc/calc-help.el # calc-full-help
119lisp/startup.el # fancy-splash-tail
120mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings
121mac/src/Emacs.r # resource 'vers'
122src/emacs.c
123 - remember to change the latest copyright year in the --version output.
124 [Post-release, will automate this like set-version does for version.]
125
571975c0
GM
126<top-level>/install-sh
127lispintro/install-sh
128 - this file is copyright MIT, which is OK. Leave the copyright alone.
129
c320d3b8 130src/m/news-r6.h
5aa27cc9
GM
131 public domain, leave alone.
132
571975c0
GM
133etc/edt-user.doc
134 - update BOTH notices in this file
135
d502a3da
GM
136etc/emacs.csh
137 - keep simple license for this simple file
138
5aa27cc9 139etc/letter.pbm,letter.xpm
c14dd816 140 - trivial, no notice needed.
5aa27cc9
GM
141<http://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00324.html>
142
c320d3b8
GM
143etc/FTP, ORDERS
144 - trivial (at time of writing), no license needed
145
5aa27cc9
GM
146etc/GNU, INTERVIEW, LINUX-GNU, MOTIVATION, SERVICE, THE-GNU-PROJECT,
147WHY-FREE
148 rms: "These are statements of opinion or testimony. Their licenses
149 should permit verbatim copying only. Please don't change the
150 licenses that they have. They are distributed with Emacs but they
151 are not part of Emacs."
152
153etc/MAILINGLISTS
154 rms: simple license is fine for this file
c14dd816 155
d4c2a0cc
GM
156leim/CXTERM-DIC/4Corner.tit, ARRAY30.tit, CCDOSPY.tit, ECDICT.tit,
157ETZY.tit, PY-b5.tit, Punct-b5.tit, Punct.tit, QJ-b5.tit, QJ.tit,
158SW.tit, TONEPY.tit, ZOZY.tit
571975c0
GM
159 - leave the copyrights alone.
160
161leim/MISC-DIC/CTLau-b5.html, CTLau.html, cangjie-table.b5, cangjie-table.cns,
d4c2a0cc 162pinyin.map, ziranma.cin
571975c0
GM
163 - leave the copyright alone.
164
165leim/SKK-DIC/SKK-JISYO.L
166ja-dic/ja-dic.el
167 (the latter is auto-generated from the former). Leave the copyright alone.
168
169lib-src/etags.c
f199f76c
GM
170 Copyright information is duplicated in etc/ETAGS.README. Update that
171 file too.
172
173 Until 2007 etags.c was described as being copyright FSF and Ken Arnold.
174 After some investigation in Feb 2007, then to the best of our
175 knowledge we believe that the original 1984 Emacs version was based
176 on the version in BSD4.2. See for example this 1985 post from Ken Arnold:
177 <http://groups.google.com/group/mod.sources/browse_thread/thread/ffe5c55845a640a9>
178 I have received enough requests for the current source to ctags
179 to post it. Here is the latest version (what will go out with
180 4.3, modulo any bugs fixed during the beta period). It is the
181 4.2 ctags with recognition of yacc and lex tags added.
182
183 See also a 1984 version of ctags (no copyright) posted to net.sources:
184 <http://groups.google.com/group/net.sources/msg/a21b6c21be12a98d>
185 Version of etags.c in emacs-16.56 duplicates comment typos.
186
187 Accordingly, in Feb 2007 we added a 1984 copyright for the
188 University of California and a revised BSD license. The terms of
189 this require that the full license details be available in binary
190 distributions - hence the file etc/ETAGS.README.
571975c0
GM
191
192lib-src/getopt1.c, getopt_int.h
193 - these are from the GNU C library. Leave the copyrights alone.
194
1fbfb0b5
GM
195lisp/play/tetris.el
196 - no special rules about the copyright. We note here that we believe
197 (2007/1) there is no problem with our use of the name "tetris" or
198 the concept.
199 rms: "My understanding is that game rules as such are not copyrightable."
200 <http://lists.gnu.org/archive/html/emacs-devel/2007-01/msg00960.html>
201
571975c0
GM
202lispref/doclicense.texi
203man/doclicense.texi
204 - leave the copyright alone in this imported file.
205
206lisp/net/tramp.el
207 - there are also copyrights in the body of the file. Update these too.
208
f199f76c 209
59098cd6
GM
210lwlib/
211rms (2007/02/17): "lwlib is not assigned to the FSF; we don't consider
212it part of Emacs. [...] Therefore non-FSF copyrights are ok in lwlib."
213
f199f76c
GM
214FSF copyrights should only appear in files which have undergone
215non-trivial cumulative changes from the original versions in the Lucid
216Widget Library. NB this means that if you make non-trivial changes to
217a file with no FSF copyright, you should add one. Also, if changes are
218reverted to the extent that a file becomes basically the same as the
219original version, the FSF copyright should be removed.
220
221In my (rgm) opinion, as of Feb 2007, all the non-trivial files differ
222significantly from the original versions, with the exception of
223lwlib-Xm.h. Most of the changes that were made to this file have
224subsequently been reverted. Therefore I removed the FSF copyright from
225this file (which is arguably too trivial to merit a notice anyway). I
226added FSF copyright to the following files which did not have them
227already: Makefile.in, lwlib-Xaw.c, lwlib-int.h (borderline),
228lwlib-utils.c (borderline), lwlib.c, lwlib.h.
229
230Copyright years before the advent of public CVS in 2001 were those
231when I judged (from the CVS logs) that non-trivial amounts of change
232had taken place. I also adjusted the existing FSF years in xlwmenu.c,
233xlwmenu.h, and xlwmenuP.h on the same basis.
234
235Note that until Feb 2007, the following files in lwlib were lacking
236notices: lwlib-int.h, lwlib.h, lwlib-Xaw.h, lwlib-Xlw.h, lwlib-utils.h
237
238The following files did not list a Lucid copyright: xlwmenu.h,
239xlwmenuP.h.
240
241To the best of our knowledge, all the code files in lwlib were
242originally part of the Lucid Widget Library, even if they did not say
243so explicitly. For example, they were all present in Lucid Emacs 19.1
244in 1992. The exceptions are the two Xaw files, which did not appear
245till Lucid Emacs 19.9 in 1994. The file lwlib-Xaw.h is too trivial to
246merit a copyright notice, but would presumably have the same one as
247lwlib-Xaw.c. We have been unable to find a true standalone version of
248LWL, if there was such a thing, to check definitively.
249
250To clarify the situation, in Feb 2007 we added Lucid copyrights and
251GPL notices to those files lacking either that were non-trivial,
252namely: lwlib-int.h, lwlib.h, xlwmenu.h, xlwmenuP.h. This represents
253our best understanding of the legal status of these files. We also
254clarified the notices in Makefile.in, which was originally the
255Makefile auto-generated from Lucid's Imakefile.
256
257As of Feb 2007, the following files are considered too trivial for
258notices: lwlib-Xaw.h, lwlib-Xlw.h, lwlib-utils.h.
259
260
571975c0
GM
261msdos/is_exec.c, sigaction.c
262 - these files are copyright DJ Delorie. Leave the copyrights alone.
e496f32f
GM
263 Leave the Eli Zaretskii copyright in is_exec.c alone. See the
264 msdos/README file for the legal history of these files.
571975c0 265
f199f76c
GM
266
267oldXMenu/
268 Keep the "copyright.h" method used by X11, rather than moving the
269 licenses into the files. Note that the original X10.h did not use
270 copyright.h, but had an explicit notice, which we retain.
271
272If you make non-trivial changes to a file which does not have an FSF
273notice, add one and a GPL notice (as per Activate.c). If changes to a
274file are reverted such that it becomes essentially the same as the
275original X11 version, remove the FSF notice and GPL.
276
277Only the files which differ significantly from the original X11
278versions should have FSF copyright and GPL notices. At time of writing
279(Feb 2007), this is: Activate.c, Create.c, Internal.c. I (rgm)
280established this by diff'ing the current files against those in X11R1,
281and when I found significant differences looking in the ChangeLog for
282the years they originated (the CVS logs are truncated before 1999). I
283therefore removed the FSF notices (added in 200x) from the other
284files. There are some borderline cases IMO: AddSel.c, InsSel.c,
285XMakeAssoc.c, XMenu.h. For these I erred on the side of NOT adding FSF
286notices.
287
288With regards to whether the files we have changed should have GPL
289added or not, rms says (2007-02-25, "oldXmenu issues"):
290
291 It does not make much difference, because oldXmenu is obsolete
292 except for use in Emacs (and it is not normally used in Emacs any
293 more either).
294
295 So, to make things simple, please put our changes under the GPL.
296
297insque.c had no copyright notice until 2005. The version of insque.c
298added to Emacs 1992-01-27 is essentially the same as insremque.c added
299to glic three days later by Roland McGrath, with an FSF copyright and
300GPL, but no ChangeLog entry:
301<http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/misc/insremque.c?\
302rev=1.1&cvsroot=glibc>
303To the best of his recollection, McGrath (who has a copyright
304assignment) was the author of this file (email from roland at frob.com
305to rms, 2007-02-23, "Where did insque.c come from?"). The FSF
306copyright and GPL in this file are therefore correct as far as we
307understand it.
308
309Imakefile had no legal info in Feb 2007, but was obviously based on
310the X11 version (which also had no explicit legal info). As it was
311unused, I removed it. It would have the same MIT copyright as
312Makefile.in does now.
313
314
571975c0 315src/gmalloc.c
d4c2a0cc
GM
316 - contains numerous copyrights from the GNU C library. Leave them alone.
317
448adfb9 318src/acldef.h, chpdef.h, ndir.h
f5f4e20d
GM
319 - see comments below. These files are OK to be released with Emacs
320 22, but we may want to revisit them afterwards.
321
42285fc4 322[src/unexhp9k800.c - removed 2007/1/27]
d4c2a0cc
GM
323[src/m/sr2k.h - removed 2007/1/27]
324 - First file removed due to legal uncertainties; second file removed
325 due to dependency on first. Note that src/m/hp800.h is still needed on
326 hp800 arch.
d881944f
GM
327 NB we would like to re-add this file if we can. Please let us know
328 if you can clarify its legal status.
571975c0 329
571975c0 330
c320d3b8
GM
331** Some notes on resolved issues, for historical information only
332
bf5e9393
GM
333lisp/term/README
334 - had no copyright notice till Feb 2007. ChangeLog.3 suggests it was
335 written by Eric Raymond. When asked by rms on 14 Feb 2007 he said:
336
337 I don't remember writing it, but it reads like my prose and I believe
338 I wrote the feature(s) it's describing. So I would have been the
339 likeliest person to write it.
340
341 Odds are that I did, but I'm not certain.
342
343 Accordingly, FSF copyright was added.
344
c320d3b8 345
1354eff6
GM
346** Issues that are "fixed" for the release of Emacs 22, but we may
347 wish to revisit later in more detail
348
349
474d2d60
GM
350admin/check-doc-strings
351 File says it's in the public domain, but that might not make it so.
352
353
b83813ec 354etc/e/eterm-color.ti
1354eff6
GM
355src/acldef.h, chpdef.h, ndir.h
356 On legal advice from Matt Norwood, the following comment was added
357 to these files in Feb 2007:
358
359 The code here is forced by the interface, and is not subject to
360 copyright, constituting the only possible expression of the
361 algorithm in this format.
362
363 With the addition of this notice, these files are OK for the
364 upcoming Emacs-22 release. Post-release, we can revisit this issue
365 and possibly add a list of all authors who have changed these files.
366 (details in email from Matt Norwood to rms, 2007/02/03).
367
368
369src/m/mips4.h, news-risc.h, pmax.h
370src/s/aix3-2.h, bsd386.h, hpux8.h, hpux9.h, irix4-0.h, irix5-0.h,
371isc2-2.h, netbsd.h, osf1.h, sol2-3.h, sunos4-0.h, usg5-4-2.h
372 - all these (not obviously trivial) files were missing copyrights
373 till Feb 2007, when FSF copyright was added. Matt Norwood advised:
374
375 For now, I think the best policy is to assume that we do have
376 assignments from the authors (I recall many of these header files
377 as having been originally written by rms), and to attach an FSF
378 copyright with GPL notice. We can amend this if and when we
379 complete the code audit. Any additions to these files by
380 non-assigned authors are arguably "de minimis" contributions to
381 Emacs: small changes or suggestions to a work that are subsumed in
382 the main authors' copyright in the entire work.
383
384Here is my (rgm) take on the details of the above files:
385
386mips4.h
387 might be trivial? started trivial, been added to in tiny changes by
388 those with FSF assignment, often result of email suggestions by others.
389
390news-risc.h
391 started trivial. Grown by tiny additions, plus chunk
392 from mips.h, which was and is Copyright FSF
393
394pmax.h
395 started trivial. grown in tiny changes, except for maybe Jim Wilson's
396 comment.
397
398? irix4-0.h
399 I would say started non-trivial (1992, rms). only tiny changes since
400 installed.
401
402? irix5-0.h
403 I would say started non-trivial (1993, jimb, heavily based
404 on irix4-0.h). A few borderline non-tiny changes since.
405
406? isc2-2.h
407 started trivial. 2 non-tiny change, in 1993. looks to
408 be made up of several small tweaks from various sources. maybe
409 non-tiny total changes from Karl Berry (no emacs assignment).
410
411osf1.h
412 started trivial. grown in tiny changes (one borderline tiny change
413 by fx in 2000, but most code was later removed). non-tiny addition
414 in 2002 from m/alpha.h, but that was and is copyright FSF.
415
416usg5-4-2.h
417 started non-trivial, but was heavily based on usg5-4.h, which was and is
418 copyright FSF. only tiny changes since installed.
419
420sol2-3.h
421 started trivial. only non-tiny change (1994) incorporated code from
422 usg5-4.h, which was and is copyright FSF.
423
424aix3-2.h, bsd386.h, hpux8.h, hpux9.h, netbsd.h, sunos4-0.h
425 started trivial, grown in tiny changes.
426
d502a3da
GM
427netbsd.h:
428Roland McGrath said to rms (2007/02/17): "I don't really remember
429anything about it. If I put it in without other comment, then probably
430I wrote it myself."
431
1354eff6 432
6ce26337
GM
433Someone might want to tweak the copyright years (for dates before
4342001) that I used in all these files.
435
436Note: erring on the side of caution, I also added notices to some
437files I thought might be considered non-trivial (if one includes
438comment) in s/:
439 aix4-1.h hiuxmpp.h hiuxwe2.h hpux10.h irix6-0.h irix6-5.h isc3-0.h
440 ptx4.h sol2.h sunos4-0.h
441
442(everything with > 30 non-blank lines, which at least is _some_ kind of
443system)
444
445
f5f4e20d
GM
446*** These are copyright issues that need not be fixed until after
447 Emacs 22 is released (though if they can be fixed before, that is
448 obviously good):
05630abe 449
f199f76c
GM
450Maybe some relevant comments here?
451<http://groups.google.com/group/linux.debian.legal/browse_thread/thread/123547ea95437a1f>
452
05630abe 453
d4c2a0cc
GM
454Is it OK to just `cvs remove' a file for legal reasons, or is
455something more drastic needed? A removed file is still available from
f5f4e20d
GM
456CVS, if suitable options are applied. (This CVS issue obviously does
457not affect a release).
42285fc4 458 rms: will ask lawyer
d4c2a0cc
GM
459
460
5aa27cc9
GM
461Make sure that all files with non-standard copyrights or licenses are
462noted in this file.
463
464
c320d3b8
GM
465etc/BABYL
466 File says it was written in 1983 by Eugene Ciccarelli, who has no
467 assignment. RMS: "The lawyer said we can keep BABYL."
468
469
0971f887
GM
470REMOVED etc/gnu.xpm, nt/icons/emacs21.ico, nt/icons/sink.ico
471 - Restore if find legal info. emacs21.ico is not due to Davenport.
474d2d60
GM
472 Voelker could not immediately recall anything, but will check and
473 let us know if he finds anything.
474
0971f887 475
c14dd816
GM
476etc/images
477 Image files from GTK, Gnome are under GPLv2 (no "or later"?). RMS will
478 contact image authors in regards to future switch to v3.
479
f5f4e20d 480
f5f4e20d
GM
481REMOVED src/unexhp9k800.c
482 - we would like to re-add this file if possible. Please let us know
483 if you can clarify its legal status.
484 http://lists.gnu.org/archive/html/emacs-devel/2007-02/msg00138.html
485
f5f4e20d
GM
486
487*** These are copyright issues still to be addressed:
488
c320d3b8
GM
489NB apart from switching the TUTORIALs to GPL, I think there is nothing
490here that anyone can work on without further input from rms.
491
f5f4e20d 492
5aa27cc9
GM
493etc/gnus-logo.eps, gnus-booklet.ps, gnus-refcard.ps
494 just to be safe, papers are on the way for the "Gnus logo", even
495 though it is very similar to the already-assigned "Emacs logo".
496
497
571975c0 498etc/ms-kermit - no copyright, but ms-7bkermit has one
571975c0 499
571975c0 500
c14693e3
GM
501etc/TUTORIAL* (translations)
502 switch to GPL (see english TUTORIAL)
503 rms: "We can leave the TUTORIAL translations alone until their
504 maintainers update them."
0971f887 505 Can adapt short license text from end of GPL translations at:
dafb4070 506 http://www.gnu.org/licenses/translations.html
0971f887
GM
507 Only a few sentences around the license notice need changing from
508 previous version.
509Done: TUTORIAL.eo
5aa27cc9 510
571975c0 511
e3e14128
GM
512\f
513This file is part of GNU Emacs.
514
515GNU Emacs is free software; you can redistribute it and/or modify
516it under the terms of the GNU General Public License as published by
517the Free Software Foundation; either version 2, or (at your option)
518any later version.
519
520GNU Emacs is distributed in the hope that it will be useful,
521but WITHOUT ANY WARRANTY; without even the implied warranty of
522MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
523GNU General Public License for more details.
524
525You should have received a copy of the GNU General Public License
526along with GNU Emacs; see the file COPYING. If not, write to the
527Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
528Boston, MA 02110-1301, USA.