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