annotate doc/maintain.texi @ 17328:603aa5fbb298

autoupdate
author Karl Berry <karl@freefriends.org>
date Thu, 14 Feb 2013 09:43:22 -0800
parents 01978a889dad
children 8826dc2ee3ee
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1 \input texinfo.tex @c -*-texinfo-*-
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2 @c %**start of header
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
3 @setfilename maintain.info
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
4 @settitle Information for Maintainers of GNU Software
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
5 @c For double-sided printing, uncomment:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
6 @c @setchapternewpage odd
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
7 @c This date is automagically updated when you save this file:
17328
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
8 @set lastupdate February 13, 2013
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
9 @c %**end of header
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
10
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
11 @dircategory GNU organization
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
12 @direntry
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
13 * Maintaining: (maintain). Maintaining GNU software.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
14 @end direntry
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
15
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
16 @setchapternewpage off
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
17
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
18 @c Put everything in one index (arbitrarily chosen to be the concept index).
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
19 @syncodeindex fn cp
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
20 @syncodeindex pg cp
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
21
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
22 @copying
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
23 Information for maintainers of GNU software, last updated @value{lastupdate}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
24
7910
6fdc6bdf5e75 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7720
diff changeset
25 Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
26 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
17256
12cc1647eb5b autoupdate
Karl Berry <karl@freefriends.org>
parents: 17159
diff changeset
27 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
28
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
29 @quotation
9639
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
30 Permission is granted to copy, distribute and/or modify this document
10762
d67664a4e01c Change license to GFDLv1.3+.
Simon Josefsson <simon@josefsson.org>
parents: 10642
diff changeset
31 under the terms of the GNU Free Documentation License, Version 1.3 or
9639
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
32 any later version published by the Free Software Foundation; with no
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
33 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
34 Texts. A copy of the license is included in the section entitled
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
35 ``GNU Free Documentation License''.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
36 @end quotation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
37 @end copying
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
38
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
39 @titlepage
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
40 @title Information for Maintainers of GNU Software
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
41 @author Richard Stallman
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
42 @author last updated @value{lastupdate}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
43 @page
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
44 @vskip 0pt plus 1filll
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
45 @insertcopying
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
46 @end titlepage
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
47
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
48 @contents
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
49
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
50 @ifnottex
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
51 @node Top
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
52 @top Version
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
53
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
54 @insertcopying
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
55 @end ifnottex
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
56
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
57 @menu
6710
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
58 * Preface::
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
59 * Getting Help::
16279
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
60 * GNU Accounts and Resources::
6710
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
61 * Stepping Down::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
62 * Recruiting Developers::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
63 * Legal Matters::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
64 * Clean Ups::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
65 * Platforms::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
66 * Mail::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
67 * Old Versions::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
68 * Distributions::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
69 * Web Pages::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
70 * Ethical and Philosophical Consideration::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
71 * Terminology::
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
72 * Interviews and Speeches::
6710
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
73 * Hosting::
13857
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
74 * Donations::
6710
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
75 * Free Software Directory::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
76 * Using the Proofreaders List::
9639
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
77 * GNU Free Documentation License::
6710
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
78 * Index::
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
79 @end menu
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
80
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
81
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
82 @node Preface
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
83 @chapter About This Document
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
84
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
85 This file contains guidelines and advice for someone who is the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
86 maintainer of a GNU program on behalf of the GNU Project. Everyone is
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
87 entitled to change and redistribute GNU software; you need not pay
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
88 attention to this file to get permission. But if you want to maintain
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
89 a version for widespread distribution, we suggest you follow these
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
90 guidelines. If you are or would like to be a GNU maintainer, then it
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
91 is essential to follow these guidelines.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
92
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
93 In addition to this document, please read and follow the GNU Coding
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
94 Standards (@pxref{Top, , Contents, standards, GNU Coding Standards}).
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
95
13056
62e78871e746 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13049
diff changeset
96 @cindex @code{bug-standards@@gnu.org} email address
15518
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
97 @cindex Savannah repository for @code{gnustandards}
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
98 @cindex @code{gnustandards} project repository
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
99 Please send corrections or suggestions for this document to
12332
87377cb9705f autoupdate
Karl Berry <karl@freefriends.org>
parents: 11738
diff changeset
100 @email{bug-standards@@gnu.org}. If you make a suggestion, please
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
101 include suggested new wording if you can. We prefer a context diff to
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
102 the Texinfo source, but if that's difficult for you, you can make a
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
103 diff for some other version of this document, or propose it in any way
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
104 that makes it clear. The source repository for this document can be
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
105 found at @url{http://savannah.gnu.org/projects/gnustandards}.
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
106
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
107 @cindex @code{gnustandards-commit@@gnu.org} mailing list
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
108 If you want to receive diffs for every change to these GNU documents,
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
109 join the mailing list @code{gnustandards-commit@@gnu.org}, for
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
110 instance via the web interface at
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
111 @url{http://lists.gnu.org/mailman/listinfo/gnustandards-commit}.
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
112 Archives are also available there.
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
113
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
114 @cindex Piercy, Marge
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
115 This document uses the gender-neutral third-person pronouns ``person'',
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
116 ``per'', ``pers'' and ``perself'' which were promoted, and perhaps
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
117 invented, by Marge Piercy in @cite{Woman on the Edge of Time}. They are
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
118 used just like ``she'', ``her'', ``hers'' and ``herself'', except that
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
119 they apply equally to males and females. For example, ``Person placed
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
120 per new program under the GNU GPL, to let the public benefit from per
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
121 work, and to enable per to feel person has done the right thing.''
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
122
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
123 This release of the GNU Maintainer Information was last updated
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
124 @value{lastupdate}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
125
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
126
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
127 @node Getting Help
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
128 @chapter Getting Help
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
129 @cindex help, getting
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
130
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
131 @cindex @code{mentors@@gnu.org} mailing list
14719
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
132 If you have any general questions or encounter a situation where it
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
133 isn't clear how to get something done or who to ask, you (as a GNU
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
134 contributor) can always write to @email{mentors@@gnu.org}, which is a
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
135 list of a few experienced GNU folks who have volunteered to answer
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
136 questions. Any GNU-related question is fair game for the
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
137 @code{mentors} list.
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
138
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
139 @cindex advisory committee
13276
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
140 The GNU Advisory Committee helps to coordinate activities in the GNU
13786
750118044e06 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13455
diff changeset
141 project on behalf of RMS (Richard Stallman, the Chief GNUisance). If
750118044e06 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13455
diff changeset
142 you have any organizational questions or concerns you can contact the
750118044e06 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13455
diff changeset
143 committee at @email{gnu-advisory@@gnu.org}. See
750118044e06 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13455
diff changeset
144 @url{http://www.gnu.org/contact/gnu-advisory.html} for the current
750118044e06 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13455
diff changeset
145 committee members. Additional information is in
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
146 @file{/gd/gnuorg/advisory}.
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
147
14719
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
148 @cindex down, when GNU machines are
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
149 @cindex outage, of GNU machines
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
150 @cindex @url{http://identi.ca/group/fsfstatus}
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
151 If you find that any GNU computer systems (@code{fencepost.gnu.org},
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
152 @code{ftp.gnu.org}, @code{www.gnu.org}, @code{savannah.gnu.org},
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
153 @dots{}) seem to be down, you can check the current status at
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
154 @url{http://identi.ca/group/fsfstatus}. Most likely the problem, if
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
155 it can be alleviated at the FSF end, is already being worked on.
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
156
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
157 @cindex sysadmin, FSF
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
158 @cindex FSF system administrators
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
159 @cindex GNU system administrators
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
160 The FSF system administrators are responsible for the network and GNU
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
161 hardware. You can email them at @email{sysadmin@@fsf.org}, but please
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
162 try not to burden them unnecessarily.
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
163
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
164
16279
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
165 @node GNU Accounts and Resources
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
166 @chapter GNU Accounts and Resources
13276
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
167 @cindex shell account, on fencepost
16279
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
168 @cindex @code{fencepost.gnu.org} GNU login host
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
169 @cindex resources for GNU developers
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
170 @cindex development resources
13276
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
171
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
172 @c We want to repeat this text later, so define a macro.
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
173 @macro gdgnuorgtext
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
174 The directory @file{/gd/gnuorg} mentioned throughout this document is
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
175 available on the general GNU server, currently
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
176 @code{fencepost.gnu.org}. If you are the maintainer of a GNU package,
17328
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
177 you should have an account there. If you don't have one already, see
13276
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
178 @url{http://www.gnu.org/software/README.accounts.html}. You can also
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
179 ask for accounts for people who significantly help you in working on
17328
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
180 the package. Such GNU login accounts include email
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
181 (see @url{http://www.fsf.org/about/systems/sending-mail-via-fencepost}).
13276
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
182 @end macro
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
183
13440
e3aab631f7ad autoupdates
Karl Berry <karl@freefriends.org>
parents: 13380
diff changeset
184 @gdgnuorgtext{}
13276
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
185
16279
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
186 Other resources available to GNU maintainers are described at
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
187 @url{http://www.gnu.org/software/devel.html}, as well as throughout
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
188 this document. In brief:
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
189
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
190 @itemize @bullet
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
191 @item Login accounts (see above).
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
192
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
193 @item Version control (@pxref{Old Versions}).
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
194
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
195 @item Mailing lists (@pxref{Mail}).
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
196
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
197 @item Web pages (@pxref{Web Pages}).
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
198
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
199 @item Mirrored release areas (@pxref{Distributions}).
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
200
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
201 @cindex Hydra
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
202 @cindex @code{platform-testers} mailing list
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
203 @item Pre-release portability testing, both automated (via Hydra) and
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
204 on request (via volunteers).
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
205
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
206 @end itemize
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
207
13276
4c9bf78586ca autoupdate
Karl Berry <karl@freefriends.org>
parents: 13230
diff changeset
208
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
209 @node Stepping Down
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
210 @chapter Stepping Down
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
211 @cindex stepping down as maintainer
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
212 @cindex resigning as maintainer
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
213
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
214 With good fortune, you will continue maintaining your package for many
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
215 decades. But sometimes for various reasons maintainers decide to step
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
216 down.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
217
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
218 If you're the official maintainer of a GNU package and you decide to
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
219 step down, please inform the GNU Project (@email{maintainers@@gnu.org}).
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
220 We need to know that the package no longer has a maintainer, so we can
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
221 look for and appoint a new maintainer.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
222
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
223 @cindex @email{maintainers@@gnu.org}
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
224 If you have an idea for who should take over, please tell
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
225 @email{maintainers@@gnu.org} your suggestion. The appointment of a new
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
226 maintainer needs the GNU Project's confirmation, but your judgment that
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
227 a person is capable of doing the job will carry a lot of weight.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
228
15518
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
229 As your final act as maintainer, it would be helpful to set up or
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
230 update the package under @code{savannah.gnu.org} (@pxref{Old
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
231 Versions}). This will make it much easier for the new maintainer to
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
232 pick up where you left off and will ensure that the source tree is not
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
233 misplaced if it takes us a while to find a new maintainer.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
234
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
235
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
236 @node Recruiting Developers
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
237 @chapter Recruiting Developers
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
238
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
239 Unless your package is a fairly small, you probably won't do all the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
240 work on it yourself. Most maintainers recruit other developers to help.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
241
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
242 Sometimes people will offer to help. Some of them will be capable,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
243 while others will not. It's up to you to determine who provides useful
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
244 help, and encourage those people to participate more.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
245
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
246 Some of the people who offer to help will support the GNU Project, while
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
247 others may be interested for other reasons. Some will support the goals
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
248 of the Free Software Movement, but some may not. They are all welcome
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
249 to help with the work---we don't ask people's views or motivations
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
250 before they contribute to GNU packages.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
251
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
252 As a consequence, you cannot expect all contributors to support the GNU
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
253 Project, or to have a concern for its policies and standards. So part
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
254 of your job as maintainer is to exercise your authority on these points
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
255 when they arise. No matter how much of the work other people do, you
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
256 are in charge of what goes in the release. When a crucial point arises,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
257 you should calmly state your decision and stick to it.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
258
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
259 Sometimes a package has several co-maintainers who share the role of
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
260 maintainer. Unlike developers who help, co-maintainers have actually
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
261 been appointed jointly as the maintainers of the package, and they carry
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
262 out the maintainer's functions together. If you would like to propose
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
263 some of your developers as co-maintainers, please contact
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
264 @email{maintainers@@gnu.org}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
265
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
266 We're happy to acknowledge all major contributors to GNU packages on
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
267 the @url{http://www.gnu.org/people/people.html} web page. Please send
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
268 an entry for yourself to @email{webmasters@@gnu.org}, and feel free to
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
269 suggest it to other significant developers on your package.
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
270
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
271
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
272 @node Legal Matters
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
273 @chapter Legal Matters
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
274 @cindex legal matters
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
275
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
276 This chapter describes procedures you should follow for legal reasons
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
277 as you maintain the program, to avoid legal difficulties.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
278
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
279 @menu
6710
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
280 * Copyright Papers::
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
281 * Legally Significant::
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
282 * Recording Contributors::
7465
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
283 * Copying from Other Packages::
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
284 * Copyright Notices::
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
285 * License Notices::
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
286 * External Libraries::
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
287 @end menu
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
288
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
289 @node Copyright Papers
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
290 @section Copyright Papers
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
291 @cindex copyright papers
16773
5dcef83417dd autoupdate
Karl Berry <karl@freefriends.org>
parents: 16712
diff changeset
292 @cindex assignments, copyright
5dcef83417dd autoupdate
Karl Berry <karl@freefriends.org>
parents: 16712
diff changeset
293 @cindex disclaimers
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
294
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
295 If you maintain an FSF-copyrighted package
5495
5fe0551f4ec2 update from gnustandards
Karl Berry <karl@freefriends.org>
parents: 5325
diff changeset
296 certain legal procedures are required when incorporating legally significant
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
297 changes written by other people. This ensures that the FSF has the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
298 legal right to distribute the package, and the standing to defend its
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
299 GPL-covered status in court if necessary.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
300
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
301 @strong{Before} incorporating significant changes, make sure that the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
302 person who wrote the changes has signed copyright papers and that the
16782
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
303 Free Software Foundation has received and signed them. We may also
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
304 need an employer's disclaimer from the person's employer, which
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
305 confirms that the work was not part of the person's job and the
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
306 employer makes no claim on it. However, a copy of the person's
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
307 employment contract, showing that the employer can't claim any rights
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
308 to this work, is often sufficient.
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
309
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
310 If the employer does claim the work was part of the person's job, and
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
311 there is no clear basis to say that claim is invalid, then we have to
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
312 consider it valid. Then the person cannot assign copyright, but the
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
313 employer can. Many companies have done this. Please ask the
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
314 appropriate managers to contact @code{assign@@gnu.org}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
315
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
316 @cindex data base of GNU copyright assignments
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
317 To check whether papers have been received, look in
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
318 @file{/gd/gnuorg/copyright.list}. If you can't look there directly,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
319 @email{fsf-records@@gnu.org} can check for you. Our clerk can also
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
320 check for papers that are waiting to be entered and inform you when
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
321 expected papers arrive.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
322
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
323 @cindex @file{/gd/gnuorg} directory
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
324 @c This paragraph intentionally duplicates information given
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
325 @c near the beginning of the file--to make sure people don't miss it.
13440
e3aab631f7ad autoupdates
Karl Berry <karl@freefriends.org>
parents: 13380
diff changeset
326 @gdgnuorgtext{}
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
327
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
328 In order for the contributor to know person should sign papers, you need
9792
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
329 to ask per for the necessary papers. If you don't know per well, and you
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
330 don't know that person is used to our ways of handling copyright papers,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
331 then it might be a good idea to raise the subject with a message like
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
332 this:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
333
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
334 @quotation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
335 Would you be willing to assign the copyright to the Free Software
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
336 Foundation, so that we could install it in @var{package}?
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
337 @end quotation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
338
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
339 @noindent
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
340 or
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
341
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
342 @quotation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
343 Would you be willing to sign a copyright disclaimer to put this change
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
344 in the public domain, so that we can install it in @var{package}?
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
345 @end quotation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
346
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
347 If the contributor then wants more information, you can send per the file
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
348 @file{/gd/gnuorg/conditions.text}, which explains per options (assign
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
349 vs.@: disclaim) and their consequences.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
350
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
351 Once the conversation is under way and the contributor is ready for
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
352 more details, you should send one of the templates that are found in
6698
a6675f6285ee autoupdate
Karl Berry <karl@freefriends.org>
parents: 6503
diff changeset
353 the directory @file{/gd/gnuorg/Copyright/}; they are also available
a6675f6285ee autoupdate
Karl Berry <karl@freefriends.org>
parents: 6503
diff changeset
354 from the @file{doc/Copyright/} directory of the @code{gnulib} project
a6675f6285ee autoupdate
Karl Berry <karl@freefriends.org>
parents: 6503
diff changeset
355 at @url{http://savannah.gnu.org/projects/gnulib}. This section
a6675f6285ee autoupdate
Karl Berry <karl@freefriends.org>
parents: 6503
diff changeset
356 explains which templates you should use in which circumstances.
a6675f6285ee autoupdate
Karl Berry <karl@freefriends.org>
parents: 6503
diff changeset
357 @strong{Please don't use any of the templates except for those listed
a6675f6285ee autoupdate
Karl Berry <karl@freefriends.org>
parents: 6503
diff changeset
358 here, and please don't change the wording.}
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
359
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
360 Once the conversation is under way, you can send the contributor the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
361 precise wording and instructions by email. Before you do this, make
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
362 sure to get the current version of the template you will use! We change
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
363 these templates occasionally---don't keep using an old version.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
364
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
365 For large changes, ask the contributor for an assignment. Send per a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
366 copy of the file @file{request-assign.changes}. (Like all the
6698
a6675f6285ee autoupdate
Karl Berry <karl@freefriends.org>
parents: 6503
diff changeset
367 @samp{request-} files, it is in @file{/gd/gnuorg/Copyright} and in
a6675f6285ee autoupdate
Karl Berry <karl@freefriends.org>
parents: 6503
diff changeset
368 @code{gnulib}.)
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
369
9704
c0a42911e984 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9652
diff changeset
370 For medium to small changes, request a personal disclaimer by sending
c0a42911e984 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9652
diff changeset
371 per the file @file{request-disclaim.changes}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
372
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
373 If the contributor is likely to keep making changes, person might want
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
374 to sign an assignment for all per future changes to the program. So it
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
375 is useful to offer per that alternative. If person wants to do it that
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
376 way, send per the @file{request-assign.future}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
377
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
378 When you send a @file{request-} file, you don't need to fill in anything
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
379 before sending it. Just send the file verbatim to the contributor. The
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
380 file gives per instructions for how to ask the FSF to mail per the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
381 papers to sign. The @file{request-} file also raises the issue of
9704
c0a42911e984 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9652
diff changeset
382 getting an employer's disclaimer from the contributor's employer.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
383
15948
0098fa655711 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15793
diff changeset
384 When the contributor emails the form to the FSF, the FSF sends per an
16773
5dcef83417dd autoupdate
Karl Berry <karl@freefriends.org>
parents: 16712
diff changeset
385 electronic (usually PDF) copy of the assignment. This, or whatever
5dcef83417dd autoupdate
Karl Berry <karl@freefriends.org>
parents: 16712
diff changeset
386 response is required, should happen within five business days of the
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
387 initial request. If no reply from the FSF comes after that time,
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
388 please send a reminder. If you still get no response after an
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
389 additional week, please write to @email{maintainers@@gnu.org} about it.
16773
5dcef83417dd autoupdate
Karl Berry <karl@freefriends.org>
parents: 16712
diff changeset
390
5dcef83417dd autoupdate
Karl Berry <karl@freefriends.org>
parents: 16712
diff changeset
391 After receiving the necessary form, all contributors then print it and
17159
52e3cf91ff21 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17142
diff changeset
392 sign it. Contributors located in the USA or Germany can then email or
52e3cf91ff21 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17142
diff changeset
393 fax a scanned copy back to the FSF (or use postal mail, if they
52e3cf91ff21 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17142
diff changeset
394 prefer). Contributors residing outside the USA or Germany must mail
52e3cf91ff21 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17142
diff changeset
395 the signed form to the FSF via postal mail. To emphasize, the
52e3cf91ff21 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17142
diff changeset
396 necessary distinction is between residents and non-residents of these
52e3cf91ff21 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17142
diff changeset
397 countries; citizenship does not matter.
5568
1d93e5595f5c autoupdate
Karl Berry <karl@freefriends.org>
parents: 5495
diff changeset
398
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
399 For less common cases, we have template files you should send to the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
400 contributor. Be sure to fill in the name of the person and the name
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
401 of the program in these templates, where it says @samp{NAME OF PERSON}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
402 and @samp{NAME OF PROGRAM}, before sending; otherwise person might
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
403 sign without noticing them, and the papers would be useless. Note
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
404 that in some templates there is more than one place to put the name of
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
405 the program or the name of the person; be sure to change all of them.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
406 All the templates raise the issue of an employer's disclaimer as well.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
407
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
408 @cindex legal papers for changes in manuals
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
409 You do not need to ask for separate papers for a manual that is
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
410 distributed only in the software package it describes. But if we
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
411 sometimes distribute the manual separately (for instance, if we publish
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
412 it as a book), then we need separate legal papers for changes in the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
413 manual. For smaller changes, use
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
414 @file{disclaim.changes.manual}; for larger ones, use
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
415 @file{assign.changes.manual}. To cover both past and future
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
416 changes to a manual, you can use @file{assign.future.manual}.
5325
029ddd263b1f update from gnuorg
Karl Berry <karl@freefriends.org>
parents: 5236
diff changeset
417 For a translation of a manual, use @file{assign.translation.manual}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
418
9797
81d3cc04d969 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9792
diff changeset
419 For translations of program strings (as used by GNU Gettext, for
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
420 example; @pxref{Internationalization,,, standards, GNU Coding
9797
81d3cc04d969 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9792
diff changeset
421 Standards}), use @file{disclaim.translation}. If you make use of the
81d3cc04d969 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9792
diff changeset
422 Translation Project (@url{http://translationproject.org}) facilities,
81d3cc04d969 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9792
diff changeset
423 please check with the TP coordinators that they have sent the
81d3cc04d969 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9792
diff changeset
424 contributor the papers; if they haven't, then you should send the
81d3cc04d969 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9792
diff changeset
425 papers. In any case, you should wait for the confirmation from the
81d3cc04d969 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9792
diff changeset
426 FSF that the signed papers have been received and accepted before
81d3cc04d969 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9792
diff changeset
427 integrating the new contributor's material, as usual.
11480
43db6feede26 remove trailing whitespace to placate Jim, more license syncs
Karl Berry <karl@freefriends.org>
parents: 11396
diff changeset
428
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
429 If a contributor is reluctant to sign an assignment for a large change,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
430 and is willing to sign a disclaimer instead, that is acceptable, so you
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
431 should offer this alternative if it helps you reach agreement. We
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
432 prefer an assignment for a larger change, so that we can enforce the GNU
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
433 GPL for the new text, but a disclaimer is enough to let us use the text.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
434
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
435 If you maintain a collection of programs, occasionally someone will
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
436 contribute an entire separate program or manual that should be added to
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
437 the collection. Then you can use the files
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
438 @file{request-assign.program}, @file{disclaim.program},
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
439 @file{assign.manual}, and @file{disclaim.manual}. We very much prefer
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
440 an assignment for a new separate program or manual, unless it is quite
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
441 small, but a disclaimer is acceptable if the contributor insists on
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
442 handling the matter that way.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
443
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
444 If a contributor wants the FSF to publish only a pseudonym, that is
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
445 ok. The contributor should say this, and state the desired pseudonym,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
446 when answering the @file{request-} form. The actual legal papers will
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
447 use the real name, but the FSF will publish only the pseudonym. When
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
448 using one of the other forms, fill in the real name but ask the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
449 contributor to discuss the use of a pseudonym with
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
450 @email{assign@@gnu.org} before sending back the signed form.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
451
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
452 @strong{Although there are other templates besides the ones listed here,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
453 they are for special circumstances; please do not use them without
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
454 getting advice from @email{assign@@gnu.org}.}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
455
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
456 If you are not sure what to do, then please ask @email{assign@@gnu.org} for
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
457 advice; if the contributor asks you questions about the meaning and
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
458 consequences of the legal papers, and you don't know the answers, you
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
459 can forward them to @email{assign@@gnu.org} and we will answer.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
460
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
461 @strong{Please do not try changing the wording of a template yourself.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
462 If you think a change is needed, please talk with @email{assign@@gnu.org},
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
463 and we will work with a lawyer to decide what to do.}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
464
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
465 @node Legally Significant
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
466 @section Legally Significant Changes
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
467
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
468 If a person contributes more than around 15 lines of code and/or text
9792
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
469 that is legally significant for copyright purposes, we
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
470 need copyright papers for that contribution, as described above.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
471
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
472 A change of just a few lines (less than 15 or so) is not legally
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
473 significant for copyright. A regular series of repeated changes, such
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
474 as renaming a symbol, is not legally significant even if the symbol
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
475 has to be renamed in many places. Keep in mind, however, that a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
476 series of minor changes by the same person can add up to a significant
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
477 contribution. What counts is the total contribution of the person; it
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
478 is irrelevant which parts of it were contributed when.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
479
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
480 Copyright does not cover ideas. If someone contributes ideas but no
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
481 text, these ideas may be morally significant as contributions, and
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
482 worth giving credit for, but they are not significant for copyright
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
483 purposes. Likewise, bug reports do not count for copyright purposes.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
484
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
485 When giving credit to people whose contributions are not legally
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
486 significant for copyright purposes, be careful to make that fact
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
487 clear. The credit should clearly say they did not contribute
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
488 significant code or text.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
489
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
490 When people's contributions are not legally significant because they
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
491 did not write code, do this by stating clearly what their contribution
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
492 was. For instance, you could write this:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
493
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
494 @example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
495 /*
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
496 * Ideas by:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
497 * Richard Mlynarik <mly@@adoc.xerox.com> (1997)
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
498 * Masatake Yamato <masata-y@@is.aist-nara.ac.jp> (1999)
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
499 */
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
500 @end example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
501
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
502 @noindent
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
503 @code{Ideas by:} makes it clear that Mlynarik and Yamato here
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
504 contributed only ideas, not code. Without the @code{Ideas by:} note,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
505 several years from now we would find it hard to be sure whether they
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
506 had contributed code, and we might have to track them down and ask
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
507 them.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
508
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
509 When you record a small patch in a change log file, first search for
9554
3ab8c751bb32 update maintain.texi
Karl Berry <karl@freefriends.org>
parents: 9485
diff changeset
510 previous changes by the same person, and see if per past
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
511 contributions, plus the new one, add up to something legally
9554
3ab8c751bb32 update maintain.texi
Karl Berry <karl@freefriends.org>
parents: 9485
diff changeset
512 significant. If so, you should get copyright papers for all per
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
513 changes before you install the new change.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
514
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
515 If that is not so, you can install the small patch. Write @samp{(tiny
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
516 change)} after the patch author's name, like this:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
517
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
518 @example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
519 2002-11-04 Robert Fenk <Robert.Fenk@@gmx.de> (tiny change)
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
520 @end example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
521
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
522 @node Recording Contributors
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
523 @section Recording Contributors
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
524 @cindex recording contributors
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
525
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
526 @strong{Keep correct records of which portions were written by whom.}
9792
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
527 This is very important. These records should say which files or
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
528 parts of files were written by each person, and which files or
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
529 parts of files were revised by each person. This should include
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
530 installation scripts as well as manuals and documentation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
531 files---everything.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
532
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
533 These records don't need to be as detailed as a change log. They
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
534 don't need to distinguish work done at different times, only different
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
535 people. They don't need describe changes in more detail than which
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
536 files or parts of a file were changed. And they don't need to say
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
537 anything about the function or purpose of a file or change---the
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
538 Register of Copyrights doesn't care what the text does, just who wrote
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
539 or contributed to which parts.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
540
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
541 The list should also mention if certain files distributed in the same
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
542 package are really a separate program.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
543
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
544 Only the contributions that are legally significant for copyright
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
545 purposes (@pxref{Legally Significant}) need to be listed. Small
7465
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
546 contributions, bug reports, ideas, etc., can be omitted.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
547
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
548 For example, this would describe an early version of GAS:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
549
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
550 @display
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
551 Dean Elsner first version of all files except gdb-lines.c and m68k.c.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
552 Jay Fenlason entire files gdb-lines.c and m68k.c, most of app.c,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
553 plus extensive changes in messages.c, input-file.c, write.c
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
554 and revisions elsewhere.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
555
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
556 Note: GAS is distributed with the files obstack.c and obstack.h, but
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
557 they are considered a separate package, not part of GAS proper.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
558 @end display
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
559
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
560 @cindex @file{AUTHORS} file
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
561 Please keep these records in a file named @file{AUTHORS} in the source
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
562 directory for the program itself.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
563
7465
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
564 You can use the change log as the basis for these records, if you
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
565 wish. Just make sure to record the correct author for each change
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
566 (the person who wrote the change, @emph{not} the person who installed
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
567 it), and add @samp{(tiny change)} for those changes that are too
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
568 trivial to matter for copyright purposes. Later on you can update the
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
569 @file{AUTHORS} file from the change log. This can even be done
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
570 automatically, if you are careful about the formatting of the change
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
571 log entries.
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
572
16158
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
573 It is ok to include other email addresses, names, and program
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
574 information in @file{AUTHORS}, such as bug-reporting information.
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
575 @xref{Standard Mailing Lists}.
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
576
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
577
7465
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
578 @node Copying from Other Packages
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
579 @section Copying from Other Packages
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
580
16782
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
581 This section explains legal considerations when merging code from
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
582 other packages into your package. Using an entire module as a whole,
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
583 and maintaining its separate identity, is a different issue;
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
584 see @ref{External Libraries}.
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
585
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
586 @menu
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
587 * Non-FSF-Copyrighted Package::
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
588 * FSF-Copyrighted Package::
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
589 @end menu
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
590
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
591 @node Non-FSF-Copyrighted Package
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
592 @subsection Non-FSF-Copyrighted Package
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
593
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
594 Here we suppose that your package is not FSF-copyrighted.
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
595
7465
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
596 When you copy legally significant code from another free software
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
597 package with a GPL-compatible license, you should look in the
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
598 package's records to find out the authors of the part you are copying,
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
599 and list them as the contributors of the code that you copied. If all
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
600 you did was copy it, not write it, then for copyright purposes you are
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
601 @emph{not} one of the contributors of @emph{this} code.
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
602
16782
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
603 If the code is supposed to be in the public domain, make sure that is
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
604 really true: that all the authors of the code have disclaimed
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
605 copyright interest. Then, when copying the new files into your
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
606 project, add a brief note at the beginning of the files recording the
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
607 authors, the public domain status, and anything else relevant.
8867
453d0d81ea05 autoupdate
Karl Berry <karl@freefriends.org>
parents: 8398
diff changeset
608
453d0d81ea05 autoupdate
Karl Berry <karl@freefriends.org>
parents: 8398
diff changeset
609 On the other hand, when merging some public domain code into an
453d0d81ea05 autoupdate
Karl Berry <karl@freefriends.org>
parents: 8398
diff changeset
610 existing file covered by the GPL (or LGPL or other free software
453d0d81ea05 autoupdate
Karl Berry <karl@freefriends.org>
parents: 8398
diff changeset
611 license), there is no reason to indicate the pieces which are public
453d0d81ea05 autoupdate
Karl Berry <karl@freefriends.org>
parents: 8398
diff changeset
612 domain. The notice saying that the whole file is under the GPL (or
453d0d81ea05 autoupdate
Karl Berry <karl@freefriends.org>
parents: 8398
diff changeset
613 other license) is legally sufficient.
453d0d81ea05 autoupdate
Karl Berry <karl@freefriends.org>
parents: 8398
diff changeset
614
16782
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
615 Using code that is not in the public domain, but rather released under
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
616 a GPL-compatible free license, may require preserving copyright
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
617 notices or other steps. Of course, you should follow the requirements
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
618 stated.
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
619
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
620 @node FSF-Copyrighted Package
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
621 @subsection FSF-Copyrighted Package
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
622
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
623 If you are maintaining an FSF-copyrighted package, please don't copy
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
624 in any code without verifying first that we have suitable legal papers
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
625 for that code.
5bfb81a09948 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16773
diff changeset
626
7465
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
627 If you are copying from another FSF-copyrighted package, then we
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
628 presumably have papers for that package's own code, but you must check
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
629 whether the code you are copying is part of an external library; if
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
630 that is the case, we don't have papers for it, so you should not copy
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
631 it. It can't hurt in any case to double-check with the developer of
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
632 that package.
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
633
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
634 When you are copying code for which we do not already have papers, you
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
635 need to get papers for it. It may be difficult to get the papers if
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
636 the code was not written as a contribution to your package, but that
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
637 doesn't mean it is ok to do without them. If you cannot get papers
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
638 for the code, you can only use it as an external library
d92cc93118d2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7374
diff changeset
639 (@pxref{External Libraries}).
6470
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
640
8867
453d0d81ea05 autoupdate
Karl Berry <karl@freefriends.org>
parents: 8398
diff changeset
641
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
642 @node Copyright Notices
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
643 @section Copyright Notices
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
644 @cindex copyright notices in program files
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
645
6482
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
646 You should maintain a proper copyright notice and a license
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
647 notice in each nontrivial file in the package. (Any file more than ten
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
648 lines long is nontrivial for this purpose.) This includes header files
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
649 and interface definitions for
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
650 building or running the program, documentation files, and any supporting
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
651 files. If a file has been explicitly placed in the public domain, then
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
652 instead of a copyright notice, it should have a notice saying explicitly
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
653 that it is in the public domain.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
654
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
655 Even image files and sound files should contain copyright notices and
11605
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
656 license notices, if their format permits. Some formats do not have
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
657 room for textual annotations; for these files, state the copyright and
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
658 copying permissions in a @file{README} file in the same directory.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
659
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
660 Change log files should have a copyright notice and license notice at
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
661 the end, since new material is added at the beginning but the end
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
662 remains the end.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
663
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
664 When a file is automatically generated from some other file in the
6470
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
665 distribution, it is useful for the automatic procedure to copy the
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
666 copyright notice and permission notice of the file it is generated
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
667 from, if possible. Alternatively, put a notice at the beginning saying
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
668 which file it is generated from.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
669
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
670 A copyright notice looks like this:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
671
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
672 @example
12836
39251fa967fc autoupdate
Karl Berry <karl@freefriends.org>
parents: 12439
diff changeset
673 Copyright (C) @var{year1}, @var{year2}, @var{year3} @var{copyright-holder}
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
674 @end example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
675
12836
39251fa967fc autoupdate
Karl Berry <karl@freefriends.org>
parents: 12439
diff changeset
676 The word @samp{Copyright} must always be in English, by international
39251fa967fc autoupdate
Karl Berry <karl@freefriends.org>
parents: 12439
diff changeset
677 convention.
39251fa967fc autoupdate
Karl Berry <karl@freefriends.org>
parents: 12439
diff changeset
678
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
679 The @var{copyright-holder} may be the Free Software Foundation, Inc., or
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
680 someone else; you should know who is the copyright holder for your
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
681 package.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
682
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
683 Replace the @samp{(C)} with a C-in-a-circle symbol if it is available.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
684 For example, use @samp{@@copyright@{@}} in a Texinfo file. However,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
685 stick with parenthesized @samp{C} unless you know that C-in-a-circle
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
686 will work. For example, a program's standard @option{--version}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
687 message should use parenthesized @samp{C} by default, though message
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
688 translations may use C-in-a-circle in locales where that symbol is
12836
39251fa967fc autoupdate
Karl Berry <karl@freefriends.org>
parents: 12439
diff changeset
689 known to work. Alternatively, the @samp{(C)} or C-in-a-circle can be
39251fa967fc autoupdate
Karl Berry <karl@freefriends.org>
parents: 12439
diff changeset
690 omitted entirely; the word @samp{Copyright} suffices.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
691
6482
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
692 To update the list of year numbers, add each year in which you have
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
693 made nontrivial changes to the package. (Here we assume you're using
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
694 a publicly accessible revision control server, so that every revision
6503
d5376bee589e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6498
diff changeset
695 installed is also immediately and automatically published.) When you
9812
23c2f4de4b25 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9797
diff changeset
696 add the new year, it is not required to keep track of which files have
6503
d5376bee589e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6498
diff changeset
697 seen significant changes in the new year and which have not. It is
d5376bee589e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6498
diff changeset
698 recommended and simpler to add the new year to all files in the
d5376bee589e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6498
diff changeset
699 package, and be done with it for the rest of the year.
d5376bee589e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6498
diff changeset
700
9792
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
701 Don't delete old year numbers, though; they are significant since they
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
702 indicate when older versions might theoretically go into the public
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
703 domain, if the movie companies don't continue buying laws to further
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
704 extend copyright. If you copy a file into the package from some other
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
705 program, keep the copyright years that come with the file.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
706
13829
cc0108d43f4b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13786
diff changeset
707 You can use a range (@samp{2008-2010}) instead of listing individual
cc0108d43f4b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13786
diff changeset
708 years (@samp{2008, 2009, 2010}) if and only if: 1)@tie{}every year in
cc0108d43f4b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13786
diff changeset
709 the range, inclusive, really is a ``copyrightable'' year that would be
cc0108d43f4b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13786
diff changeset
710 listed individually; @emph{and} 2)@tie{}you make an explicit statement
cc0108d43f4b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13786
diff changeset
711 in a @file{README} file about this usage.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
712
9792
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
713 For files which are regularly copied from another project (such as
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
714 @samp{gnulib}), leave the copyright notice as it is in the original.
fe07e3d3be04 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9732
diff changeset
715
6498
03134e6d6a03 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6482
diff changeset
716 The copyright statement may be split across multiple lines, both in
03134e6d6a03 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6482
diff changeset
717 source files and in any generated output. This often happens for
03134e6d6a03 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6482
diff changeset
718 files with a long history, having many different years of
03134e6d6a03 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6482
diff changeset
719 publication.
03134e6d6a03 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6482
diff changeset
720
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
721 For an FSF-copyrighted package, if you have followed the procedures to
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
722 obtain legal papers, each file should have just one copyright holder:
5325
029ddd263b1f update from gnuorg
Karl Berry <karl@freefriends.org>
parents: 5236
diff changeset
723 the Free Software Foundation, Inc. You should edit the file's
029ddd263b1f update from gnuorg
Karl Berry <karl@freefriends.org>
parents: 5236
diff changeset
724 copyright notice to list that name and only that name.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
725
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
726 But if contributors are not all assigning their copyrights to a single
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
727 copyright holder, it can easily happen that one file has several
6470
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
728 copyright holders. Each contributor of nontrivial text is a copyright
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
729 holder.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
730
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
731 In that case, you should always include a copyright notice in the name
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
732 of main copyright holder of the file. You can also include copyright
6470
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
733 notices for other copyright holders as well, and this is a good idea
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
734 for those who have contributed a large amount and for those who
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
735 specifically ask for notices in their names. (Sometimes the license
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
736 on code that you copy in may require preserving certain copyright
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
737 notices.) But you don't have to include a notice for everyone who
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
738 contributed to the file (which would be rather inconvenient).
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
739
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
740 Sometimes a program has an overall copyright notice that refers to the
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
741 whole program. It might be in the @file{README} file, or it might be
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
742 displayed when the program starts up. This copyright notice should
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
743 mention the year of completion of the most recent major version; it
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
744 can mention years of completion of previous major versions, but that
6482
c5451290271b update notices in all files at once
Karl Berry <karl@freefriends.org>
parents: 6470
diff changeset
745 is optional.
6470
cfd1116d819e Copyright Notices simplification
Karl Berry <karl@freefriends.org>
parents: 5837
diff changeset
746
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
747
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
748 @node License Notices
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
749 @section License Notices
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
750 @cindex license notices in program files
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
751
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
752 Every nontrivial file needs a license notice as well as the copyright
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
753 notice. (Without a license notice giving permission to copy and
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
754 change the file, the file is non-free.)
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
755
10775
9c33dd084f78 autoupdate
Karl Berry <karl@freefriends.org>
parents: 10770
diff changeset
756 The package itself should contain a full copy of GPL in plain text
9c33dd084f78 autoupdate
Karl Berry <karl@freefriends.org>
parents: 10770
diff changeset
757 (conventionally in a file named @file{COPYING}) and the GNU Free
9c33dd084f78 autoupdate
Karl Berry <karl@freefriends.org>
parents: 10770
diff changeset
758 Documentation License (included within your documentation, so there is
9c33dd084f78 autoupdate
Karl Berry <karl@freefriends.org>
parents: 10770
diff changeset
759 no need for a separate plain text version). If the package contains
9c33dd084f78 autoupdate
Karl Berry <karl@freefriends.org>
parents: 10770
diff changeset
760 any files distributed under the Lesser GPL, it should contain a full
9c33dd084f78 autoupdate
Karl Berry <karl@freefriends.org>
parents: 10770
diff changeset
761 copy of its plain text version also (conventionally in a file named
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
762 @file{COPYING.LESSER}).
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
763
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
764 If you have questions about licensing issues for your GNU package,
9554
3ab8c751bb32 update maintain.texi
Karl Berry <karl@freefriends.org>
parents: 9485
diff changeset
765 please write @email{licensing@@gnu.org}.
3ab8c751bb32 update maintain.texi
Karl Berry <karl@freefriends.org>
parents: 9485
diff changeset
766
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
767 @menu
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
768 * Which: Licensing of GNU Packages.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
769 * Canonical: Canonical License Sources.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
770 * Code: License Notices for Code.
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
771 * Documentation: License Notices for Documentation.
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
772 * Other: License Notices for Other Files.
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
773 @end menu
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
774
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
775
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
776 @node Licensing of GNU Packages
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
777 @subsection Licensing of GNU Packages
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
778
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
779 Normally, GNU packages should use the latest version of the GNU GPL,
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
780 with the ``or any later version'' formulation. @xref{License Notices
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
781 for Code}, for the exact wording of the license notice.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
782
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
783 Occasionally, a GNU library may provide functionality which is already
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
784 widely available to proprietary programs through alternative
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
785 implementations; for example, the GNU C Library. In such cases, the
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
786 Lesser GPL should be used (again, for the notice wording,
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
787 @pxref{License Notices for Code}). If a GNU library provides unique
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
788 functionality, however, the GNU GPL should be used.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
789 @url{http://www.gnu.org/licenses/why-not-lgpl.html} discusses this
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
790 strategic choice.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
791
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
792 Some of these libraries need to work with programs released under
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
793 GPLv2-only; that is, which allow the GNU GPL version 2 but not later
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
794 versions. In this case, the GNU package should be released under a
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
795 dual license: GNU GPL version 2 (or any later version) and the GNU
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
796 Lesser GPL version 3 (or any later version). Here is the notice for
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
797 that case:
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
798
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
799 @smallexample
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
800 This file is part of GNU @var{package}.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
801
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
802 GNU @var{package} is free software: you can redistribute it and/or
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
803 modify it under the terms of either:
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
804
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
805 * the GNU Lesser General Public License as published by the Free
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
806 Software Foundation; either version 3 of the License, or (at your
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
807 option) any later version.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
808
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
809 or
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
810
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
811 * the GNU General Public License as published by the Free
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
812 Software Foundation; either version 2 of the License, or (at your
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
813 option) any later version.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
814
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
815 or both in parallel, as here.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
816
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
817 GNU @var{package} is distributed in the hope that it will be useful,
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
818 but WITHOUT ANY WARRANTY; without even the implied warranty of
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
819 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
820 General Public License for more details.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
821
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
822 You should have received copies of the GNU General Public License and
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
823 the GNU Lesser General Public License along with this program. If
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
824 not, see @url{http://www.gnu.org/licenses/}.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
825 @end smallexample
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
826
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
827 For small packages, you can use ``This program'' instead of ``GNU
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
828 @var{package}''.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
829
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
830
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
831 @node Canonical License Sources
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
832 @subsection Canonical License Sources
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
833
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
834 You can get the official versions of these files from several places.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
835 You can use whichever is the most convenient for you.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
836
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
837 @itemize @bullet
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
838 @item
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
839 @uref{http://www.gnu.org/licenses/}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
840
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
841 @item
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
842 The @code{gnulib} project on @code{savannah.gnu.org}, which you
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
843 can access via anonymous Git or CVS. See
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
844 @uref{http://savannah.gnu.org/projects/gnulib}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
845
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
846 @end itemize
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
847
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
848 The official Texinfo sources for the licenses are also available in
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
849 those same places, so you can include them in your documentation. A
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
850 GFDL-covered manual should include the GFDL in this way. @xref{GNU
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
851 Sample Texts,,, texinfo, Texinfo}, for a full example in a Texinfo
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
852 manual.
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
853
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
854
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
855 @node License Notices for Code
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
856 @subsection License Notices for Code
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
857
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
858 Typically the license notice for program files (including build scripts,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
859 configure files and makefiles) should cite the GPL, like this:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
860
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
861 @quotation
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
862 This file is part of GNU @var{package}.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
863
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
864 GNU @var{package} is free software: you can redistribute it and/or
9124
770eea366530 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9085
diff changeset
865 modify it under the terms of the GNU General Public License as
9125
07a7325ce912 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9124
diff changeset
866 published by the Free Software Foundation, either version 3 of the
9124
770eea366530 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9085
diff changeset
867 License, or (at your option) any later version.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
868
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
869 GNU @var{package} is distributed in the hope that it will be useful,
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
870 but WITHOUT ANY WARRANTY; without even the implied warranty of
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
871 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
872 GNU General Public License for more details.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
873
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
874 You should have received a copy of the GNU General Public License
9124
770eea366530 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9085
diff changeset
875 along with this program. If not, see @url{http://www.gnu.org/licenses/}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
876 @end quotation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
877
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
878 But in a small program which is just a few files, you can use
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
879 this instead:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
880
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
881 @quotation
9124
770eea366530 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9085
diff changeset
882 This program is free software: you can redistribute it and/or modify
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
883 it under the terms of the GNU General Public License as published by
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
884 the Free Software Foundation; either version 3 of the License, or
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
885 (at your option) any later version.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
886
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
887 This program is distributed in the hope that it will be useful,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
888 but WITHOUT ANY WARRANTY; without even the implied warranty of
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
889 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
890 GNU General Public License for more details.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
891
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
892 You should have received a copy of the GNU General Public License
9124
770eea366530 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9085
diff changeset
893 along with this program. If not, see @url{http://www.gnu.org/licenses/}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
894 @end quotation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
895
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
896 In either case, for those few packages which use the Lesser GPL
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
897 (@pxref{Licensing of GNU Packages}), insert the word ``Lesser'' before
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
898 ``General'' in @emph{all three} places.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
899 @url{http://@/www.gnu.org/@/licenses/@/gpl-howto.html} discusses application
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
900 the GPL in more detail.
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
901
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
902
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
903 @node License Notices for Documentation
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
904 @subsection License Notices for Documentation
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
905
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
906 Documentation files should have license notices also. Manuals should
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
907 use the GNU Free Documentation License. Following is an example of the
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
908 license notice to use after the copyright line(s) using all the
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
909 features of the GFDL.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
910
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
911 @smallexample
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
912 Permission is granted to copy, distribute and/or modify this document
10762
d67664a4e01c Change license to GFDLv1.3+.
Simon Josefsson <simon@josefsson.org>
parents: 10642
diff changeset
913 under the terms of the GNU Free Documentation License, Version 1.3 or
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
914 any later version published by the Free Software Foundation; with the
9077
5c082cf05c7d autoupdate
Karl Berry <karl@freefriends.org>
parents: 9019
diff changeset
915 Invariant Sections being ``GNU General Public License'', with the
9554
3ab8c751bb32 update maintain.texi
Karl Berry <karl@freefriends.org>
parents: 9485
diff changeset
916 Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
917 as in (a) below. A copy of the license is included in the section
9077
5c082cf05c7d autoupdate
Karl Berry <karl@freefriends.org>
parents: 9019
diff changeset
918 entitled ``GNU Free Documentation License''.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
919
9652
1cde04015fdf autoupdate
Karl Berry <karl@freefriends.org>
parents: 9639
diff changeset
920 (a) The FSF's Back-Cover Text is: ``You have the freedom to
1cde04015fdf autoupdate
Karl Berry <karl@freefriends.org>
parents: 9639
diff changeset
921 copy and modify this GNU manual. Buying copies from the FSF
1cde04015fdf autoupdate
Karl Berry <karl@freefriends.org>
parents: 9639
diff changeset
922 supports it in developing GNU and promoting software freedom.''
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
923 @end smallexample
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
924
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
925 If the FSF does not publish this manual on paper, then omit the last
6699
f4aef34b83a3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6698
diff changeset
926 sentence in (a) that talks about copies from GNU Press. If the FSF is
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
927 not the copyright holder, then replace @samp{FSF} with the appropriate
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
928 name.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
929
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
930 Please adjust the list of invariant sections as appropriate for your
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
931 manual. If there are none, then say ``with no Invariant Sections''.
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
932 If your manual is not published by the FSF, and under 400 pages, you
17328
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
933 can omit both cover texts. However, if it is copyright FSF, always
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
934 ask the FSF what to do.
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
935
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
936 @xref{GNU Sample Texts,,, texinfo, Texinfo}, for a full example in a
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
937 Texinfo manual, and see
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
938 @url{http://www.gnu.org/licenses/fdl-howto.html} for more advice about
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
939 how to use the GNU FDL.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
940
16186
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
941 If you write a manual that people might want to buy on paper, please
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
942 write to @email{maintainers@@gnu.org} to tell the FSF about it. We
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
943 might want to publish it.
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
944
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
945 If the manual is over 400 pages, or if the FSF thinks it might be a
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
946 good choice for publishing on paper, then please include the GNU GPL,
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
947 as in the notice above. Please also include our standard invariant
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
948 section which explains the importance of free documentation. Write to
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
949 @email{assign@@gnu.org} to get a copy of this section.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
950
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
951 When you distribute several manuals together in one software package,
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
952 their on-line forms can share a single copy of the GFDL (see
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
953 section@tie{}6). However, the printed (@samp{.dvi}, @samp{.pdf},
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
954 @dots{}) forms should each contain a copy of the GFDL, unless they are
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
955 set up to be printed and published only together. Therefore, it is
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
956 usually simplest to include the GFDL in each manual.
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
957
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
958
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
959 @node License Notices for Other Files
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
960 @subsection License Notices for Other Files
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
961
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
962 Small supporting files, short manuals (under 300 lines long) and rough
11605
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
963 documentation (@file{README} files, @file{INSTALL} files, etc.)@: can
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
964 use a simple all-permissive license like this one:
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
965
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
966 @smallexample
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
967 Copying and distribution of this file, with or without modification,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
968 are permitted in any medium without royalty provided the copyright
11524
cc55cbaf629a autoupdate
Karl Berry <karl@freefriends.org>
parents: 11480
diff changeset
969 notice and this notice are preserved. This file is offered as-is,
11605
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
970 without any warranty.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
971 @end smallexample
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
972
11605
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
973 Older versions of this license did not have the second sentence with
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
974 the express warranty disclaimer. There is no urgent need to update
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
975 existing files, but new files should use the new text.
e44545af8f70 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11524
diff changeset
976
5622
6cabcbf982ea propagate license change
Karl Berry <karl@freefriends.org>
parents: 5568
diff changeset
977 If your package distributes Autoconf macros that are intended to be
6cabcbf982ea propagate license change
Karl Berry <karl@freefriends.org>
parents: 5568
diff changeset
978 used (hence distributed) by third-party packages under possibly
6cabcbf982ea propagate license change
Karl Berry <karl@freefriends.org>
parents: 5568
diff changeset
979 incompatible licenses, you may also use the above all-permissive
6cabcbf982ea propagate license change
Karl Berry <karl@freefriends.org>
parents: 5568
diff changeset
980 license for these macros.
6cabcbf982ea propagate license change
Karl Berry <karl@freefriends.org>
parents: 5568
diff changeset
981
9085
60544cfb108e autoupdate
Karl Berry <karl@freefriends.org>
parents: 9077
diff changeset
982
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
983 @node External Libraries
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
984 @section External Libraries
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
985
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
986 When maintaining an FSF-copyrighted GNU package, you may occasionally
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
987 want to use a general-purpose free software module which offers a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
988 useful functionality, as a ``library'' facility (though the module is
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
989 not always packaged technically as a library).
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
990
16859
42fb5cba93e2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16856
diff changeset
991 Make sure the license of the module is compatible with current @emph{and
42fb5cba93e2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16856
diff changeset
992 future} GPL versions. ``GNU GPL version 3 or later'' is good, and
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
993 so is anything which includes permission for use under those GPL
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
994 versions (including ``GNU GPL version 2 or later'', ``LGPL version
16859
42fb5cba93e2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16856
diff changeset
995 @var{n} or later'', ``LGPL version 2.1'', ``GNU Affero GPL version 3
42fb5cba93e2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16856
diff changeset
996 or later''). Lax permissive licenses are ok too, since they are
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
997 compatible with all GPL versions.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
998
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
999 ``GPL version 2 only'' is obviously unacceptable because it is
17256
12cc1647eb5b autoupdate
Karl Berry <karl@freefriends.org>
parents: 17159
diff changeset
1000 incompatible with GPL version 3. ``GPL version 3 only'' and ``GPL
12cc1647eb5b autoupdate
Karl Berry <karl@freefriends.org>
parents: 17159
diff changeset
1001 version 2 or 3 only'' have a subtler problem: they would be incompatible
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1002 with GPL version 4, if we ever make one, so the module would become an
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1003 obstacle to upgrading your package's license to ``GPL version 4 or
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1004 later''.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1005
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1006 One package you need to avoid is @code{goffice}, since it allows only
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1007 GPL versions 2 and 3.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1008
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1009 It would be unreasonable to ask the author of the external module to
17256
12cc1647eb5b autoupdate
Karl Berry <karl@freefriends.org>
parents: 17159
diff changeset
1010 assign its copyright to the FSF. After all, person did not write
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1011 it specifically as a contribution to your package, so it would be
17256
12cc1647eb5b autoupdate
Karl Berry <karl@freefriends.org>
parents: 17159
diff changeset
1012 impertinent to ask, out of the blue, ``Please give the FSF your
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1013 copyright.''
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1014
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1015 So make your program use the module but without treating the module as
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1016 a part of your program. There are two reasonable methods of doing
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
1017 this:
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1018
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1019 @enumerate
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1020 @item
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1021 Assume the module is already installed on the system, and use it when
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1022 linking your program. This is only reasonable if the module really has
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1023 the form of a library.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1024
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1025 @item
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1026 Include the module in your package, putting the source in a separate
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1027 subdirectory whose @file{README} file says, ``This is not part of the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1028 GNU FOO program, but is used with GNU FOO.'' Then set up your makefiles
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1029 to build this module and link it into the executable.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1030
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1031 For this method, it is not necessary to treat the module as a library
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1032 and make a @samp{.a} file from it. You can link with the @samp{.o}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1033 files directly in the usual manner.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1034 @end enumerate
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1035
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1036 Both of these methods create an irregularity, and our lawyers have told
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1037 us to minimize the amount of such irregularity. So consider using these
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1038 methods only for general-purpose modules that were written for other
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1039 programs and released separately for general use. For anything that was
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1040 written as a contribution to your package, please get papers signed.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1041
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
1042
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1043 @node Clean Ups
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1044 @chapter Cleaning Up Changes
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1045 @cindex contributions, accepting
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1046 @cindex quality of changes suggested by others
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1047
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1048 Don't feel obligated to include every change that someone asks you to
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1049 include. You must judge which changes are improvements---partly based
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1050 on what you think the users will like, and partly based on your own
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1051 judgment of what is better. If you think a change is not good, you
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1052 should reject it.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1053
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1054 If someone sends you changes which are useful, but written in an ugly
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1055 way or hard to understand and maintain in the future, don't hesitate to
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1056 ask per to clean up their changes before you merge them. Since the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1057 amount of work we can do is limited, the more we convince others to help
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1058 us work efficiently, the faster GNU will advance.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1059
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1060 If the contributor will not or can not make the changes clean enough,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1061 then it is legitimate to say ``I can't install this in its present form;
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1062 I can only do so if you clean it up.'' Invite per to distribute per
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1063 changes another way, or to find other people to make them clean enough
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1064 for you to install and maintain.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1065
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1066 The only reason to do these cleanups yourself is if (1) it is easy, less
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1067 work than telling the author what to clean up, or (2) the change is an
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1068 important one, important enough to be worth the work of cleaning it up.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1069
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1070 The GNU Coding Standards are a good thing to send people when you ask
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1071 them to clean up changes (@pxref{Top, , Contents, standards, GNU Coding
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1072 Standards}). The Emacs Lisp manual contains an appendix that gives
10263
0c43a5e428db autoupdate
Karl Berry <karl@freefriends.org>
parents: 9969
diff changeset
1073 coding standards for Emacs Lisp programs; it is good to urge Lisp authors to
0c43a5e428db autoupdate
Karl Berry <karl@freefriends.org>
parents: 9969
diff changeset
1074 read it (@pxref{Tips, , Tips and Conventions, elisp, The GNU Emacs Lisp
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1075 Reference Manual}).
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1076
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
1077
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1078 @node Platforms
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1079 @chapter Platforms to Support
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1080
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1081 Most GNU packages run on a wide range of platforms. These platforms are
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1082 not equally important.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1083
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1084 The most important platforms for a GNU package to support are GNU and
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1085 GNU/Linux. Developing the GNU operating system is the whole point of
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1086 the GNU Project; a GNU package exists to make the whole GNU system more
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1087 powerful. So please keep that goal in mind and let it shape your work.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1088 For instance, every new feature you add should work on GNU, and
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1089 GNU/Linux if possible too. If a new feature only runs on GNU and
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1090 GNU/Linux, it could still be acceptable. However, a feature that runs
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1091 only on other systems and not on GNU or GNU/Linux makes no sense in a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1092 GNU package.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1093
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1094 You will naturally want to keep the program running on all the platforms
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1095 it supports. But you personally will not have access to most of these
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
1096 platforms---so how should you do it?
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1097
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1098 Don't worry about trying to get access to all of these platforms. Even
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1099 if you did have access to all the platforms, it would be inefficient for
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1100 you to test the program on each platform yourself. Instead, you should
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1101 test the program on a few platforms, including GNU or GNU/Linux, and let
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1102 the users test it on the other platforms. You can do this through a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1103 pretest phase before the real release; when there is no reason to expect
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1104 problems, in a package that is mostly portable, you can just make a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1105 release and let the users tell you if anything unportable was
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1106 introduced.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1107
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1108 It is important to test the program personally on GNU or GNU/Linux,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1109 because these are the most important platforms for a GNU package. If
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
1110 you don't have access to one of these platforms, as a GNU maintainer
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
1111 you can get access to the general GNU login machine; see
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
1112 @url{http://www.gnu.org/software/README.accounts.html}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1113
7374
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1114 Supporting other platforms is optional---we do it when that seems like
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1115 a good idea, but we don't consider it obligatory. If the users don't
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1116 take care of a certain platform, you may have to desupport it unless
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1117 and until users come forward to help. Conversely, if a user offers
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1118 changes to support an additional platform, you will probably want to
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1119 install them, but you don't have to. If you feel the changes are
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1120 complex and ugly, if you think that they will increase the burden of
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1121 future maintenance, you can and should reject them. This includes
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1122 both free or mainly-free platforms such as OpenBSD, FreeBSD, and
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1123 NetBSD, and non-free platforms such as Windows.
e0b334576760 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6946
diff changeset
1124
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1125
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1126 @node Mail
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1127 @chapter Dealing With Mail
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1128 @cindex email
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1129
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1130 This chapter describes setting up mailing lists for your package, and
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1131 gives advice on how to handle bug reports and random requests once you
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1132 have them.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1133
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1134 @menu
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1135 * Standard Mailing Lists:: @samp{bug-pkg@@gnu.org} and other standard names.
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1136 * Creating Mailing Lists:: The best way is to use Savannah.
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1137 * Replying to Mail:: Advice on replying to incoming mail.
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1138 @end menu
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1139
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1140
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1141 @node Standard Mailing Lists
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1142 @section Standard Mailing Lists
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1143
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1144 @cindex standard mailing lists
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1145 @cindex mailing lists, standard names of
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1146
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1147 @cindex mailing list for bug reports
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1148 Once a program is in use, you will get bug reports for it. Most GNU
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1149 programs have their own special lists for sending bug reports. The
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1150 advertised bug-reporting email address should always be
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1151 @samp{bug-@var{package}@@gnu.org}, to help show users that the program
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1152 is a GNU package, but it is ok to set up that list to forward to another
16158
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1153 site if you prefer.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1154
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1155 @cindex @email{bug-gnu-utils@@gnu.org}
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1156 We also have a catch-all list, @email{bug-gnu-utils@@gnu.org}, which is
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1157 used for all GNU programs that don't have their own specific lists. But
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1158 nowadays we want to give each program its own bug-reporting list and
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1159 move away from using @email{bug-gnu-utils}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1160
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1161 @xref{Replying to Mail}, for more about handling and tracking bug
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1162 reports.
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1163
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1164 @cindex help for users, mailing list for
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1165 Some GNU programs with many users have another mailing list,
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1166 @samp{help-@var{package}.org}, for people to ask other users for help.
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1167 If your program has many users, you should create such a list for it.
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1168 For a fairly new program, which doesn't have a large user base yet, it
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1169 is better not to bother with this.
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1170
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1171 @cindex announcements, mailing list for
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1172 If you wish, you can also have a mailing list
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1173 @samp{info-@var{package}} for announcements (@pxref{Announcements}).
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1174 Any other mailing lists you find useful can also be created.
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1175
16158
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1176 The package distribution should state the name of all the package's
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1177 mailing lists in a prominent place, and ask users to help us by
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1178 reporting bugs appropriately. The top-level @file{README} file and/or
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1179 @file{AUTHORS} file are good places. Mailing list information should
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1180 also be included in the manual and the package web pages (@pxref{Web
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1181 Pages}).
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1182
56080b94b075 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15948
diff changeset
1183
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1184
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1185 @node Creating Mailing Lists
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1186 @section Creating Mailing Lists
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
1187
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1188 @cindex creating mailing lists
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1189 @cindex mailing lists, creating
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
1190
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1191 Using the web interface on @code{savannah.gnu.org} is by far the
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1192 easiest way to create normal mailing lists, managed through Mailman on
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1193 the GNU mail server. Once you register your package on Savannah, you
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1194 can create (and remove) lists yourself through the `Mailing Lists'
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1195 menu, without needing to wait for intervention by anyone else.
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1196 Furthermore, lists created through Savannah will have a reasonable
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1197 default configuration for antispam purposes (see below).
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1198
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1199 To create and maintain simple aliases and unmanaged lists, you can
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1200 edit @file{/com/mailer/aliases} on the main GNU server. If you don't
13455
215879220d76 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13440
diff changeset
1201 have an account there, please read
16279
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
1202 @url{http://www.gnu.org/software/README.accounts.html} (@pxref{GNU
11a41c8839e3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16186
diff changeset
1203 Accounts and Resources}).
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1204
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1205 But if you don't want to learn how to do those things, you can
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1206 alternatively ask @email{alias-file@@gnu.org} to add you to the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1207 bug-reporting list for your program. To set up a new list, contact
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1208 @email{new-mailing-list@@gnu.org}. You can subscribe to a list managed
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1209 by Mailman by sending mail to the corresponding @samp{-request} address.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1210
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1211 @cindex spam prevention
5236
e004d4ef0700 autoupdate
Karl Berry <karl@freefriends.org>
parents: 5097
diff changeset
1212 You should moderate postings from non-subscribed addresses on your
e004d4ef0700 autoupdate
Karl Berry <karl@freefriends.org>
parents: 5097
diff changeset
1213 mailing lists, to prevent propagation of unwanted messages (``spam'')
e004d4ef0700 autoupdate
Karl Berry <karl@freefriends.org>
parents: 5097
diff changeset
1214 to subscribers and to the list archives. For lists controlled by
e004d4ef0700 autoupdate
Karl Berry <karl@freefriends.org>
parents: 5097
diff changeset
1215 Mailman, you can do this by setting @code{Privacy Options - Sender
e004d4ef0700 autoupdate
Karl Berry <karl@freefriends.org>
parents: 5097
diff changeset
1216 Filter - generic_nonmember_action} to @code{Hold}, and then
e004d4ef0700 autoupdate
Karl Berry <karl@freefriends.org>
parents: 5097
diff changeset
1217 periodically (daily is best) reviewing the held messages, accepting
e004d4ef0700 autoupdate
Karl Berry <karl@freefriends.org>
parents: 5097
diff changeset
1218 the real ones and discarding the junk.
e004d4ef0700 autoupdate
Karl Berry <karl@freefriends.org>
parents: 5097
diff changeset
1219
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1220 Lists created through Savannah will have this setting, and a number of
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1221 others, such that spam will be automatically deleted (after a short
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1222 delay). The Savannah mailing list page describes all the details.
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1223 You should still review the held messages in order to approve any that
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1224 are real.
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1225
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1226
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1227 @node Replying to Mail
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1228 @section Replying to Mail
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1229
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1230 @cindex responding to bug reports
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1231 @cindex bug reports, handling
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1232 @cindex help requests, handling
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1233
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1234 When you receive bug reports, keep in mind that bug reports are crucial
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1235 for your work. If you don't know about problems, you cannot fix them.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1236 So always thank each person who sends a bug report.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1237
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1238 You don't have an obligation to give more response than that, though.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1239 The main purpose of bug reports is to help you contribute to the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1240 community by improving the next version of the program. Many of the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1241 people who report bugs don't realize this---they think that the point is
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1242 for you to help them individually. Some will ask you to focus on that
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1243 @emph{instead of} on making the program better. If you comply with
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1244 their wishes, you will have been distracted from the job of maintaining
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1245 the program.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1246
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1247 For example, people sometimes report a bug in a vague (and therefore
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1248 useless) way, and when you ask for more information, they say, ``I just
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1249 wanted to see if you already knew the solution'' (in which case the bug
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1250 report would do nothing to help improve the program). When this
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1251 happens, you should explain to them the real purpose of bug reports. (A
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1252 canned explanation will make this more efficient.)
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1253
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1254 When people ask you to put your time into helping them use the program,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1255 it may seem ``helpful'' to do what they ask. But it is much @emph{less}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1256 helpful than improving the program, which is the maintainer's real job.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1257
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1258 By all means help individual users when you feel like it, if you feel
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1259 you have the time available. But be careful to limit the amount of time
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1260 you spend doing this---don't let it eat away the time you need to
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1261 maintain the program! Know how to say no; when you are pressed for
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1262 time, just ``thanks for the bug report---I will fix it'' is enough
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1263 response.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1264
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1265 Some GNU packages, such as Emacs and GCC, come with advice about how
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1266 to make bug reports useful. Copying and adapting that could be very
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1267 useful for your package.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1268
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1269 @cindex @url{http://bugs.gnu.org}
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1270 @cindex bug reports, email tracker for
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1271 @cindex bug reports, web tracker for
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1272 If you would like to use an email-based bug tracking system, see
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1273 @url{http://bugs.gnu.org}; this can be connected with the regular
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1274 bug-reporting address. Alternatively, if you would like to use a
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1275 web-based bug tracking system, Savannah supports this (@pxref{Old
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1276 Versions}), but please don't fail to accept bugs by regular email as
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1277 well---we don't want to put up unnecessary barriers against users
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1278 submitting reports.
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1279
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
1280
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1281 @node Old Versions
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1282 @chapter Recording Old Versions
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1283 @cindex version control
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1284
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1285 It is very important to keep backup files of all source files of GNU.
13921
5f7a4e03ec7a autoupdate
Karl Berry <karl@freefriends.org>
parents: 13894
diff changeset
1286 You can do this using a source control system (such as Bazaar, RCS,
15518
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
1287 CVS, Git, Subversion, @dots{}) if you like. An easy way to use
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
1288 many such systems is via the Version Control library in Emacs
14719
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
1289 (@pxref{Introduction to VC,, Introduction to Version Control, emacs,
88e9ac67f0a5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14242
diff changeset
1290 The GNU Emacs Manual}).
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1291
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1292 The history of previous revisions and log entries is very important for
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1293 future maintainers of the package, so even if you do not make it
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1294 publicly accessible, be careful not to put anything in the repository or
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1295 change log that you would not want to hand over to another maintainer
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1296 some day.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1297
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
1298 @cindex @code{savannah-hackers@@gnu.org}
15518
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
1299 The GNU Project provides a server that GNU packages can use
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
1300 for source control and other package needs: @code{savannah.gnu.org}.
13921
5f7a4e03ec7a autoupdate
Karl Berry <karl@freefriends.org>
parents: 13894
diff changeset
1301 Savannah is managed by @email{savannah-hackers@@gnu.org}. For more
5f7a4e03ec7a autoupdate
Karl Berry <karl@freefriends.org>
parents: 13894
diff changeset
1302 details on using and contributing to Savannah, see
5f7a4e03ec7a autoupdate
Karl Berry <karl@freefriends.org>
parents: 13894
diff changeset
1303 @url{http://savannah.gnu.org/maintenance}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1304
15518
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
1305 It's not an absolute requirement, but all GNU maintainers are strongly
13921
5f7a4e03ec7a autoupdate
Karl Berry <karl@freefriends.org>
parents: 13894
diff changeset
1306 encouraged to take advantage of Savannah, as sharing such a central
15518
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
1307 point can serve to foster a sense of community among GNU developers as
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
1308 well as help in keeping up with project management. Please don't mark
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
1309 Savannah projects for GNU packages as private; that defeats a large
72c48e34ac0a autoupdate
Karl Berry <karl@freefriends.org>
parents: 15335
diff changeset
1310 part of the purpose of using Savannah in the first place.
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
1311
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
1312 @cindex @code{savannah-announce@@gnu.org} mailing list
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
1313 If you do use Savannah, please subscribe to the
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
1314 @email{savannah-announce@@gnu.org} mailing list
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
1315 (@url{http://lists.gnu.org/mailman/listinfo/savannah-announce}). This
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
1316 is a very low-volume list to keep Savannah users informed of system
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
1317 upgrades, problems, and the like.
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
1318
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1319
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1320 @node Distributions
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1321 @chapter Distributions
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1322
16359
88cfbe84bd1b autoupdate
Karl Berry <karl@freefriends.org>
parents: 16279
diff changeset
1323 Please follow the GNU conventions when making GNU software
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1324 distributions.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1325
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1326 @menu
6710
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
1327 * Distribution tar Files::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
1328 * Distribution Patches::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
1329 * Distribution on ftp.gnu.org::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
1330 * Test Releases::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
1331 * Automated FTP Uploads::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
1332 * Announcements::
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1333 @end menu
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1334
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1335 @node Distribution tar Files
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1336 @section Distribution tar Files
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1337 @cindex distribution, tar files
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1338
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1339 The tar file for version @var{m}.@var{n} of program @code{foo} should be
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1340 named @file{foo-@var{m}.@var{n}.tar}. It should unpack into a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1341 subdirectory named @file{foo-@var{m}.@var{n}}. Tar files should not
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1342 unpack into files in the current directory, because this is inconvenient
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1343 if the user happens to unpack into a directory with other files in it.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1344
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1345 Here is how the @file{Makefile} for Bison creates the tar file.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1346 This method is good for other programs.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1347
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1348 @example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1349 dist: bison.info
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1350 echo bison-`sed -e '/version_string/!d' \
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1351 -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1352 -rm -rf `cat .fname`
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1353 mkdir `cat .fname`
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1354 dst=`cat .fname`; for f in $(DISTFILES); do \
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1355 ln $(srcdir)/$$f $$dst/$$f || @{ echo copying $$f; \
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1356 cp -p $(srcdir)/$$f $$dst/$$f ; @} \
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1357 done
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1358 tar --gzip -chf `cat .fname`.tar.gz `cat .fname`
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1359 -rm -rf `cat .fname` .fname
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1360 @end example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1361
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1362 Source files that are symbolic links to other file systems cannot be
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1363 installed in the temporary directory using @code{ln}, so use @code{cp}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1364 if @code{ln} fails.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1365
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1366 @pindex automake
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1367 Using Automake is a good way to take care of writing the @code{dist}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1368 target.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1369
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1370 @node Distribution Patches
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1371 @section Distribution Patches
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1372 @cindex patches, against previous releases
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1373
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1374 If the program is large, it is useful to make a set of diffs for each
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1375 release, against the previous important release.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1376
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1377 At the front of the set of diffs, put a short explanation of which
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1378 version this is for and which previous version it is relative to.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1379 Also explain what else people need to do to update the sources
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1380 properly (for example, delete or rename certain files before
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1381 installing the diffs).
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1382
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1383 The purpose of having diffs is that they are small. To keep them
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1384 small, exclude files that the user can easily update. For example,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1385 exclude info files, DVI files, tags tables, output files of Bison or
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1386 Flex. In Emacs diffs, we exclude compiled Lisp files, leaving it up
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1387 to the installer to recompile the patched sources.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1388
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1389 When you make the diffs, each version should be in a directory suitably
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1390 named---for example, @file{gcc-2.3.2} and @file{gcc-2.3.3}. This way,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1391 it will be very clear from the diffs themselves which version is which.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1392
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1393 @pindex diff
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1394 @pindex patch
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1395 @cindex time stamp in diffs
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1396 If you use GNU @code{diff} to make the patch, use the options
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1397 @samp{-rc2P}. That will put any new files into the output as ``entirely
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1398 different''. Also, the patch's context diff headers should have dates
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1399 and times in Universal Time using traditional Unix format, so that patch
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1400 recipients can use GNU @code{patch}'s @samp{-Z} option. For example,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1401 you could use the following Bourne shell command to create the patch:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1402
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1403 @example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1404 LC_ALL=C TZ=UTC0 diff -rc2P gcc-2.3.2 gcc-2.3.3 | \
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1405 gzip -9 >gcc-2.3.2-2.3.3.patch.gz
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1406 @end example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1407
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1408 If the distribution has subdirectories in it, then the diffs probably
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1409 include some files in the subdirectories. To help users install such
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1410 patches reliably, give them precise directions for how to run patch.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1411 For example, say this:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1412
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1413 @display
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1414 To apply these patches, cd to the main directory of the program
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1415 and then use `patch -p1'. `-p1' avoids guesswork in choosing
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1416 which subdirectory to find each file in.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1417 @end display
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1418
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1419 It's wise to test your patch by applying it to a copy of the old
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1420 version, and checking that the result exactly matches the new version.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1421
16712
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1422
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1423 @node Distribution on ftp.gnu.org
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1424 @section Distribution on @code{ftp.gnu.org}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1425 @cindex GNU ftp site
13355
e85e9a764086 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13340
diff changeset
1426 @cindex @code{ftp.gnu.org}, the GNU release site
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1427
16712
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1428 We strongly recommend using @code{ftp.gnu.org} to distribute official
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1429 releases. If you want to also distribute the package from a site of
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1430 your own, that is fine. To use some other site instead of
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1431 @code{ftp.gnu.org} is acceptable, provided it allows connections from
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1432 anyone anywhere.
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1433
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1434 @xref{Automated FTP Uploads}, for the procedural details of putting
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1435 new versions on @code{ftp.gnu.org}.
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1436
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1437
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1438 @node Test Releases
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1439 @section Test Releases
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1440 @cindex test releases
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1441 @cindex beta releases
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1442 @cindex pretest releases
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1443
13355
e85e9a764086 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13340
diff changeset
1444 @cindex @code{alpha.gnu.org}, test release site
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1445 When you release a greatly changed new major version of a program, you
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1446 might want to do so as a pretest. This means that you make a tar file,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1447 but send it only to a group of volunteers that you have recruited. (Use
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1448 a suitable GNU mailing list/newsgroup to recruit them.)
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1449
13355
e85e9a764086 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13340
diff changeset
1450 We normally use the server @code{alpha.gnu.org} for pretests and
16712
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1451 prerelease versions. @xref{Automated FTP Uploads}, for the procedural
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1452 details of putting new versions on @code{alpha.gnu.org}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1453
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1454 Once a program gets to be widely used and people expect it to work
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1455 solidly, it is a good idea to do pretest releases before each ``real''
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1456 release.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1457
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1458 There are two ways of handling version numbers for pretest versions.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1459 One method is to treat them as versions preceding the release you are going
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1460 to make.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1461
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1462 In this method, if you are about to release version 4.6 but you want
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1463 to do a pretest first, call it 4.5.90. If you need a second pretest,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1464 call it 4.5.91, and so on. If you are really unlucky and ten pretests
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1465 are not enough, after 4.5.99 you could advance to 4.5.990 and so on.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1466 (You could also use 4.5.100, but 990 has the advantage of sorting in
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1467 the right order.)
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1468
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1469 The other method is to attach a date to the release number that is
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1470 coming. For a pretest for version 4.6, made on Dec 10, 2002, this
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1471 would be 4.6.20021210. A second pretest made the same day could be
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1472 4.6.20021210.1.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1473
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1474 For development snapshots that are not formal pretests, using just
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1475 the date without the version numbers is ok too.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1476
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1477 One thing that you should never do is to release a pretest with the same
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1478 version number as the planned real release. Many people will look only
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1479 at the version number (in the tar file name, in the directory name that
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1480 it unpacks into, or wherever they can find it) to determine whether a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1481 tar file is the latest version. People might look at the test release
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1482 in this way and mistake it for the real release. Therefore, always
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1483 change the number when you release changed code.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1484
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1485
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1486 @node Automated FTP Uploads
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1487 @section Automated FTP Uploads
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1488
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1489 @cindex ftp uploads, automated
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1490 In order to upload new releases to @code{ftp.gnu.org} or
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1491 @code{alpha.gnu.org}, you first need to register the necessary
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1492 information. Then, you can perform uploads yourself, with no
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1493 intervention needed by the system administrators.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1494
16359
88cfbe84bd1b autoupdate
Karl Berry <karl@freefriends.org>
parents: 16279
diff changeset
1495 The general idea is that releases should be cryptographically signed
9573
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1496 before they are made publicly available.
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1497
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1498 @menu
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1499 * Automated Upload Registration::
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1500 * Automated Upload Procedure::
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1501 * FTP Upload Release File Triplet::
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1502 * FTP Upload Directive File::
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1503 * FTP Upload Directory Trees::
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1504 * FTP Upload File Replacement::
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1505 * FTP Upload Standalone Directives::
6943
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1506 * FTP Upload Directive File - v1.1::
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1507 * FTP Upload Directive File - v1.0::
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1508 @end menu
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1509
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1510
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1511 @node Automated Upload Registration
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1512 @subsection Automated Upload Registration
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1513
10306
6159f58358fa autoupdate
Karl Berry <karl@freefriends.org>
parents: 10299
diff changeset
1514 @cindex registration for uploads
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1515 @cindex uploads, registration for
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1516
9573
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1517 Here is how to register your information so you can perform uploads
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1518 for your GNU package:
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1519
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1520 @enumerate
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1521 @item
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1522 Create an account for yourself at @url{http://savannah.gnu.org}, if
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1523 you don't already have one. By the way, this is also needed to
13300
6aeb740648c5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13289
diff changeset
1524 maintain the web pages at @url{http://www.gnu.org} for your project
9732
e2d451509019 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9704
diff changeset
1525 (@pxref{Web Pages}).
9573
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1526
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1527 @item
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1528 In the @samp{My Account Conf} page on @code{savannah}, upload the GPG
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1529 key you will use to sign your packages. If you haven't created one
14242
75e682a9ca23 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14172
diff changeset
1530 before, you can do so with the command @code{gpg --gen-key} (you can
16910
73aa5aacb5f3 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16866
diff changeset
1531 accept and/or confirm the default answers to its questions).
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1532
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1533 Optional but recommended: Send your key to a GPG public key server:
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1534 @code{gpg --keyserver keys.gnupg.net --send-keys @var{keyid}}, where
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1535 @var{keyid} is the eight hex digits reported by @code{gpg
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1536 --list-public-keys} on the @code{pub} line before the date. For full
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1537 information about GPG, see @url{http://www.gnu.org/software/gpg}.
9573
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1538
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1539 @item
11116
4132ab46c21f autoupdate
Karl Berry <karl@freefriends.org>
parents: 10991
diff changeset
1540 Compose a message with the following items in some @var{msgfile}.
4132ab46c21f autoupdate
Karl Berry <karl@freefriends.org>
parents: 10991
diff changeset
1541 Then GPG-sign it by running @code{gpg --clearsign @var{msgfile}}, and
15948
0098fa655711 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15793
diff changeset
1542 finally email the resulting @file{@var{msgfile}.asc} to
11116
4132ab46c21f autoupdate
Karl Berry <karl@freefriends.org>
parents: 10991
diff changeset
1543 @email{ftp-upload@@gnu.org}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1544
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1545 @enumerate
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1546 @item
15335
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
1547 Name of package(s) that you are the maintainer for, your
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
1548 preferred email address, and your Savannah username.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1549
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1550 @item
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1551 An ASCII armored copy of your GPG key, as an attachment. (@samp{gpg
9573
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1552 --export -a @var{your_key_id} >mykey.asc} should give you this.)
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1553
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1554 @item
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1555 A list of names and preferred email addresses of other individuals you
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1556 authorize to make releases for which packages, if any (in the case that you
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1557 don't make all releases yourself).
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1558
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1559 @item
14172
6545767c5c6d autoupdate
Karl Berry <karl@freefriends.org>
parents: 13921
diff changeset
1560 ASCII armored copies of GPG keys for any individuals listed in (3).
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1561 @end enumerate
9573
3030cd0663b2 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9554
diff changeset
1562 @end enumerate
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1563
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1564 The administrators will acknowledge your message when they have added
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1565 the proper GPG keys as authorized to upload files for the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1566 corresponding packages.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1567
11116
4132ab46c21f autoupdate
Karl Berry <karl@freefriends.org>
parents: 10991
diff changeset
1568 The upload system will email receipts to the given email addresses
4132ab46c21f autoupdate
Karl Berry <karl@freefriends.org>
parents: 10991
diff changeset
1569 when an upload is made, either successfully or unsuccessfully.
4132ab46c21f autoupdate
Karl Berry <karl@freefriends.org>
parents: 10991
diff changeset
1570
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1571
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1572 @node Automated Upload Procedure
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1573 @subsection Automated Upload Procedure
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1574
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1575 @cindex uploads
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1576
10817
0d90a8966c3f autoupdate
Karl Berry <karl@freefriends.org>
parents: 10775
diff changeset
1577 Once you have registered your information as described in the previous
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1578 section, you can and should do ftp uploads for your package. There
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1579 are two basic kinds of uploads (details in the following sections):
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1580
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1581 @enumerate
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1582 @item
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1583 Three related files (a ``triplet'') to upload a file destined for
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1584 @code{ftp.gnu.org} or @code{alpha.gnu.org}: @pxref{FTP Upload Release
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1585 File Triplet}.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1586
17275
72b197d90b18 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17274
diff changeset
1587 @item
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1588 A single (signed) standalone ``directive file'' to perform operations
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1589 on the server: @pxref{FTP Upload Standalone Directives}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1590 @end enumerate
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1591
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1592 In either case, you upload the file(s) via anonymous ftp to the host
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1593 @code{ftp-upload.gnu.org}. If the upload is destined for
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1594 @code{ftp.gnu.org}, place the file(s) in the directory
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1595 @file{/incoming/ftp}. If the upload is destined for
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1596 @code{alpha.gnu.org}, place the file(s) in the directory
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1597 @file{/incoming/alpha}.
6943
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1598
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
1599 Uploads are processed every five minutes. Uploads that are in
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
1600 progress while the upload processing script is running are handled
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1601 properly, so do not worry about the timing of your upload. Spurious
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1602 and stale uploaded files are deleted automatically after 24 hours.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1603
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1604 Your designated upload email addresses (@pxref{Automated Upload
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1605 Registration}) are sent a message if there are problems processing an
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1606 upload for your package. You also receive a message when an upload
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1607 has been successfully processed.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1608
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1609 One programmatic way to create and transfer the necessary files is to
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1610 use the @code{gnupload} script, which is available from the
10306
6159f58358fa autoupdate
Karl Berry <karl@freefriends.org>
parents: 10299
diff changeset
1611 @file{build-aux/} directory of the @code{gnulib} project at
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1612 @url{http://savannah.gnu.org/projects/gnulib}. Run
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1613 @code{gnupload@tie{}--help} for a description and examples.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1614
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1615 @code{gnupload} invokes the program @code{ncftpput} to do the actual
10306
6159f58358fa autoupdate
Karl Berry <karl@freefriends.org>
parents: 10299
diff changeset
1616 transfers; if you don't happen to have the @code{ncftp} package
10817
0d90a8966c3f autoupdate
Karl Berry <karl@freefriends.org>
parents: 10775
diff changeset
1617 installed, the @code{ncftpput-ftp} script in the @file{build-aux/}
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1618 directory of @code{gnulib} can serve as a replacement. It uses the
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1619 plain command line @code{ftp} program.
10306
6159f58358fa autoupdate
Karl Berry <karl@freefriends.org>
parents: 10299
diff changeset
1620
12439
29670982b798 autoupdate
Karl Berry <karl@freefriends.org>
parents: 12332
diff changeset
1621 If you have difficulties with an upload, email
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1622 @email{ftp-upload@@gnu.org}. You can check the archive of uploads
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1623 processed at
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
1624 @url{https://lists.gnu.org/archive/html/ftp-upload-report}.
6943
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1625
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1626
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1627 @node FTP Upload Release File Triplet
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1628 @subsection FTP Upload Release File Triplet
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1629
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1630 @cindex FTP uploads, of release files
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1631
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1632 Ordinarily, the goal is to upload a new release of your package, let's
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1633 say, the source archive @file{foo-1.0.tar.gz}. To do this, you
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1634 simultaneously upload three files:
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1635
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1636 @enumerate
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1637 @item
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1638 The file to be distributed; in our example, @file{foo-1.0.tar.gz}.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1639
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1640 @item
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1641 Detached GPG binary signature file for (1); for example,
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1642 @file{foo-1.0.tar.gz.sig}. Make this with @samp{gpg -b foo-1.0.tar.gz}.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1643
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1644 @item
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1645 A clearsigned @dfn{directive file}; for example,
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1646 @file{foo-1.0.tar.gz.directive.asc}, created with @samp{gpg
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1647 --clearsign foo-1.0.tar.gz.directive}. Its contents are described in
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1648 the next section.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1649 @end enumerate
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1650
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1651 The names of the files are important. The signature file must have
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1652 the same name as the file to be distributed, with an additional
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1653 @file{.sig} extension. The directive file must have the same name as
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1654 the file to be distributed, with an additional @file{.directive.asc}
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1655 extension. If you do not follow this naming convention, the upload
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1656 @emph{will not be processed}.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1657
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1658
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1659 @node FTP Upload Directive File
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1660 @subsection FTP Upload Directive File
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1661
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1662 @cindex directive file, for FTP uploads
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1663
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1664 To repeat, a (signed) @dfn{directive file} must be part of every
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1665 upload. The unsigned original is just a plain text file you can
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1666 create with any text editor. Its name must be, e.g.,
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1667 @file{foo-1.0.tar.gz.directive} for accompanying an upload of
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1668 @file{foo-1.0.tar.gz}.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1669
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1670 After creating the file, run @samp{gpg --clearsign
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1671 foo-1.0.tar.gz.directive}, which will create
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1672 @file{foo-1.0.tar.gz.directive.asc}; this is the file to be uploaded.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1673
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1674 When part of a triplet for uploading a release file, the directive
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1675 file must always contain the directives @code{version},
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1676 @code{filename} and @code{directory}. In addition, a @code{comment}
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1677 directive is optional. These directives can be given in any order.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1678
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1679 Continuing our example of uploading @file{foo-1.0.tar.gz} for a
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1680 package named @code{foo} to @code{ftp.gnu.org}, the values would be as
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1681 follows:
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1682
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1683 @table @code
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1684 @item version
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1685 must be the value @samp{1.2} (the current version, as of May@tie{}2012):@*
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1686 @t{version: 1.2}
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1687
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1688 @item filename
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1689 must be the name of the file to be distributed:@*
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1690 @t{filename: foo-1.0.tar.gz}
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1691
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1692 @item directory
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1693 specifies the final destination directory where the uploaded file and
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1694 its @file{.sig} companion are to be placed. Here we will put our file
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1695 in the top level directory of the package, as is the most common
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1696 practice:@*
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1697 @t{directory: foo}
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1698
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1699 @item comment
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1700 is optional, and ignored if present:@*
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1701 @t{comment: let's hope this works!}
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1702 @end table
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1703
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1704 Putting the above together, the complete contents of the directive
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1705 file @file{foo-1.0.tar.gz.directive} for our example would be:
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1706
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1707 @example
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1708 version: 1.2
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1709 directory: foo
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1710 filename: foo-1.0.tar.gz
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1711 comment: let's hope this works!
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1712 @end example
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1713
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1714 Then you @samp{gpg --clearsign} the file as given above, and upload
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1715 (using anonymous ftp) the three files:
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1716
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1717 @table @file
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1718 @item foo-1.0.tar.gz
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1719 @item foo-1.0.tar.gz.sig
17278
01978a889dad autoupdate
Karl Berry <karl@freefriends.org>
parents: 17275
diff changeset
1720 @item foo-1.0.tar.gz.directive.asc
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1721 @end table
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1722
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1723 @noindent to the host @file{ftp-upload.gnu.org}, directory
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1724 @file{/incoming/ftp} (for official releases), or the directory
17275
72b197d90b18 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17274
diff changeset
1725 @file{/incoming/alpha} (for test releases).
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1726
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1727 After the system authenticates the signatures, the files
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1728 @file{foo-1.0.tar.gz} and @file{foo-1.0.tar.gz.sig} are placed in
17275
72b197d90b18 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17274
diff changeset
1729 the directory @file{gnu/foo/} on @code{ftp.gnu.org}. That is, we'll
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1730 have made our release available at
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1731 @indicateurl{http://ftp.gnu.org/gnu/foo/foo-1.0.tar.gz} (and then from
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1732 our many mirrors via
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1733 @indicateurl{http://ftpmirror.gnu.org/foo/foo-1.0.tar.gz}). Whew.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1734
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1735 A common reason for the upload not succeeding is your GPG signature
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1736 not being registered with the upload system. There is nothing that
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1737 makes this happen automatically. You must email the system
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1738 administrators as described above (@pxref{Automated Upload
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1739 Registration}).
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1740
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1741
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1742 @node FTP Upload Directory Trees
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1743 @subsection FTP Upload Directory Trees
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1744
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1745 @cindex directory trees, in ftp uploads
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1746 @cindex hierarchy, under ftp upload directory
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1747 @cindex uploads, directory trees in
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1748
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1749 You can make any directory hierarchy you like under your package
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1750 directory. The system automatically creates any intermediate
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1751 directories you specify in the @code{directory} directive.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1752
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1753 Slightly modifying the example above, the following directive file:
16866
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1754
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1755 @example
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1756 version: 1.2
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1757 directory: foo/foo-1.0
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1758 filename: foo-1.0.tar.gz
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1759 comment: creates per-version subdirectory as needed
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1760 @end example
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1761
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1762 @noindent
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1763 would put the tar file in the @file{foo-1.0/} subdirectory of the
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1764 package @code{foo}, thus ending up at
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1765 @indicateurl{ftp.gnu.org:gnu/foo/foo-1.0/foo-1.0.tar.gz}.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1766
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1767 However, to keep things simpler for users, we recommend not using
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1768 subdirectories, unless perhaps each release of your package consists
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1769 of many separate files.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1770
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1771
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1772 @node FTP Upload File Replacement
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1773 @subsection FTP Upload File Replacement
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1774
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1775 @cindex replacing uploaded files
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1776 @cindex uploads, replacing
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1777
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1778 You can replace existing files that have already been uploaded by
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1779 including a directive line @code{replace:@tie{}true}. For example,
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1780 you might like to provide a README file in the release directory and
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1781 update it from time to time. The full directive file for that would
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1782 look like this:
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1783
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1784 @example
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1785 replace: true
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1786 version: 1.2
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1787 directory: foo
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1788 filename: README
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1789 comment: replaces an existing README
16866
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1790 @end example
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1791
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1792 It is ok if the file to be replaced doesn't already exist; then the
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1793 new file is simply added, i.e., the @file{replace} directive has no
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1794 effect.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1795
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1796 When an existing file is replaced, the original is archived to a
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1797 private location. There is no automated or public access to such
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1798 archived files; if you want to retrieve or view them, please email
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1799 @email{sysadmin@@fsf.org}.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1800
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1801 We very strongly discourage replacing an actual software release file,
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1802 such as @file{foo-1.0.tar.gz}. Releases should be unique, and
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1803 forever. If you need to make fixes, make another release. If you
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1804 have an exigent reason for a particular release file to no longer be
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1805 available, it can be explicitly archived, as described in the next
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1806 section.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1807
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1808 If you want to make the current release available under a generic
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1809 name, such as @code{foo-latest.tar.gz}, that is better done with
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1810 symlinks, also as described in the next section.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1811
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1812
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1813 @node FTP Upload Standalone Directives
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1814 @subsection FTP Upload Standalone Directives
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1815
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1816 @cindex standalone directives, for ftp uploads
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1817 @cindex directives for ftp uploads, standalone
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1818
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1819 The previous sections describe how to upload a file to be publicly
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1820 released. It's also possible to upload a directive file by itself to
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1821 perform a few operations on the upload directory. The supported
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1822 directives are:
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1823
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1824 @table @code
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1825 @item symlink
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1826 creates a symlink.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1827
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1828 @item rmsymlink
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1829 removes a symlink.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1830
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1831 @item archive
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1832 takes a file or directory offline.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1833 @end table
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1834
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1835 As for the directives described above, the @code{directory} and
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1836 @code{version} directives are still required, the @code{comment}
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1837 directive remains optional, and the @code{filename} directive is not
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1838 allowed.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1839
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1840 When uploaded by itself, the name of the directive file is not
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1841 important. But it must be still be signed, using @samp{gpg
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1842 --clearsign}; the resulting @file{.asc} file is what should be
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1843 uploaded.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1844
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1845 Here's an example of the full directive file to create a
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1846 @file{foo-latest.tar.gz} symlink:
16866
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1847
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1848 @example
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1849 version: 1.2
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1850 directory: foo
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1851 symlink: foo-1.1.tar.gz foo-latest.tar.gz
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1852 comment: create a symlink
16866
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1853 @end example
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1854
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1855 If you include more than one directive in a standalone upload, the
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1856 directives are executed in the sequence they are specified in. If a
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1857 directive results in an error, further execution of the upload is
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1858 aborted.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1859
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1860 Removing a symbolic link (with @code{rmsymlink}) which does not exist
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1861 results in an error. On the other hand, attempting to create a
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1862 symbolic link that already exists (with @code{symlink}) is not an
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1863 error. In this case @code{symlink} behaves like the command
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1864 @command{ln -s -f}: any existing symlink is removed before creating
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1865 the link. (But an existing regular file or directory is not replaced.)
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1866
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1867 Here's an example of removing a symlink, e.g., if you decide not to
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1868 maintain a @file{foo-latest} link any more:
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1869
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1870 @example
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1871 version: 1.2
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1872 directory: foo
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1873 rmsymlink: foo-latest.tar.gz
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1874 comment: remove a symlink
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1875 @end example
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1876
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1877 @noindent
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1878 And here's an example of archiving a file, e.g., an unintended upload:
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1879
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1880 @example
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1881 version: 1.2
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1882 directory: foo
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1883 archive: foo-1.1x.tar.gz
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1884 comment: archive an old file; it will not be
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1885 comment: publicly available any more.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1886 @end example
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1887
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1888 The @code{archive} directive causes the specified items to become
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1889 inaccessible. This should only be used when it is actively bad for
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1890 them to be available, e.g., you uploaded something by mistake.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1891
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1892 If all you want to do is reduce how much stuff is in your release
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1893 directory, an alternative is to email @email{sysadmin@@fsf.org} and
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1894 ask them to move old items to the @file{http://ftp.gnu.org/old-gnu/}
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1895 directory; then they will still be available. In general, however, we
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1896 recommend leaving all official releases in the main release directory.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1897
16866
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1898
6943
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1899 @node FTP Upload Directive File - v1.1
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1900 @subsection FTP Upload Directive File - v1.1
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1901
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1902 The v1.1 protocol for uploads lacked the @code{replace} directive;
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1903 instead, file replacements were done automatically and silently
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1904 (clearly undesirable). This is the only difference between v1.2 and
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1905 v1.1.
6943
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1906
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1907
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1908 @node FTP Upload Directive File - v1.0
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1909 @subsection FTP Upload Directive File - v1.0
64f144ace584 Sync from upstream.
Paul Eggert <eggert@cs.ucla.edu>
parents: 6710
diff changeset
1910
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1911 Support for v1.0 uploads was discontinued in May 2012; please upgrade
16866
51af75f2ff31 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16859
diff changeset
1912 to@tie{}v1.2.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1913
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1914 In v1.0, the directive file contained one line, excluding the
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1915 clearsigned data GPG that inserts, which specifies the final
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1916 destination directory where items (1) and (2) are to be placed.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1917
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1918 For example, the @file{foo-1.0.tar.gz.directive.asc} file might contain the
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1919 single line:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1920
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1921 @example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1922 directory: bar/v1
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1923 @end example
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1924
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1925 This directory line indicates that @file{foo-1.0.tar.gz} and
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1926 @file{foo-1.0.tar.gz.sig} are part of package @code{bar}. If you were to
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1927 upload the triplet to @file{/incoming/ftp}, and the system can
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1928 positively authenticate the signatures, then the files
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1929 @file{foo-1.0.tar.gz} and @file{foo-1.0.tar.gz.sig} will be placed in the
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1930 directory @file{gnu/bar/v1} of the @code{ftp.gnu.org} site.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1931
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1932 The directive file can be used to create currently non-existent
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1933 directory trees, as long as they are under the package directory for
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1934 your package (in the example above, that is @code{bar}).
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1935
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1936
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1937 @node Announcements
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1938 @section Announcing Releases
10642
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1939 @cindex announcements
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1940
10642
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1941 @cindex @code{info-gnu} mailing list
9639
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
1942 When you have a new release, please make an announcement. For
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
1943 official new releases, including those made just to fix bugs, we
10642
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1944 strongly recommend using the (moderated) general GNU announcements
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1945 list, @email{info-gnu@@gnu.org}. Doing so makes it easier for users
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1946 and developers to find the latest GNU releases. On the other hand,
11396
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1947 please do not announce test releases on @code{info-gnu} unless it's a
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1948 highly unusual situation.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1949
10642
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1950 @cindex @url{http://planet.gnu.org}
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1951 @cindex Savannah, news area
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1952 Please also post release announcements in the news section of your
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1953 Savannah project site. Here, it is fine to also write news entries
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1954 for test releases and any other newsworthy events. The news feeds
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1955 from all GNU projects at savannah are aggregated at
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1956 @url{http://planet.gnu.org} (GNU Planet). You can also post items
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1957 directly, or arrange for feeds from other locations; see information
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1958 on the GNU Planet web page.
10642
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1959
fad67b0c9edf autoupdate
Karl Berry <karl@freefriends.org>
parents: 10306
diff changeset
1960 @cindex announcement mailing list, project-specific
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
1961 You can maintain your own mailing list (typically
16712
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1962 @indicateurl{info-@var{package}@@gnu.org}) for announcements as well if you
11396
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1963 like. For your own list, of course you decide as you see fit what
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1964 events are worth announcing. (@xref{Mail}, for setting this up, and
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
1965 more suggestions on handling mail for your package.)
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1966
11396
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1967 @cindex contents of announcements
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1968 When writing an announcement, please include the following:
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1969
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1970 @itemize @bullet
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1971 @item
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1972 A very brief description (a few sentences at most) of the general
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1973 purpose of your package.
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1974
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1975 @item
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1976 Your package's web page (normally
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1977 @indicateurl{http://www.gnu.org/software/@var{package}/}).
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1978
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1979 @item
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1980 Your package's download location (normally
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1981 @indicateurl{http://ftp.gnu.org/gnu/@var{package}/}). It is also
13355
e85e9a764086 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13340
diff changeset
1982 useful to mention the mirror list at
11396
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1983 @url{http://www.gnu.org/order/ftp.html}, and that
16712
6ba94155d867 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16359
diff changeset
1984 @indicateurl{http://ftpmirror.gnu.org/@var{package/}} will automatically
11396
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1985 redirect to a nearby mirror.
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1986
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1987 @item
14242
75e682a9ca23 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14172
diff changeset
1988 The @t{NEWS} (@pxref{NEWS File,,, standards, GNU Coding Standards}) for
11396
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1989 the present release.
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1990 @end itemize
5f341b3ec7e5 autoupdate
Karl Berry <karl@freefriends.org>
parents: 11116
diff changeset
1991
17274
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1992 You may find the @file{announce-gen} script useful for creating
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1993 announcements, which is available from the @file{build-aux/} directory
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1994 of the @code{gnulib} project at
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1995 @url{http://savannah.gnu.org/projects/gnulib}.
cdb531992a1a autoupdate
Karl Berry <karl@freefriends.org>
parents: 17256
diff changeset
1996
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
1997
7720
cc5d9ac781c7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7504
diff changeset
1998 @node Web Pages
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1999 @chapter Web Pages
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2000 @cindex web pages
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2001
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2002 Please write web pages about your package, and install them on
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2003 @code{www.gnu.org}. They should follow our usual standards for web
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2004 pages (see @url{http://www.gnu.org/server/@/fsf-html-style-sheet.html}).
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2005 The overall goals are to support a wide variety of browsers, to focus
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2006 on information rather than flashy eye candy, and to keep the site
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2007 simple and uniform.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2008
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
2009 We encourage you to use the standard @code{www.gnu.org} template as
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
2010 the basis for your pages:
13380
6f654cc21888 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13355
diff changeset
2011 @url{http://www.gnu.org/server/@/standards/@/boilerplate-source.html}.
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
2012
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2013 Some GNU packages have just simple web pages, but the more information
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2014 you provide, the better. So please write as much as you usefully can,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2015 and put all of it on @code{www.gnu.org}. However, pages that access
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
2016 databases (including mail archives and bug tracking) are an exception;
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
2017 set them up on whatever site is convenient for you, and make the pages
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
2018 on @code{www.gnu.org} link to that site.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2019
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2020 @menu
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2021 * Hosting for Web Pages::
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2022 * Freedom for Web Pages::
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2023 * Manuals on Web Pages::
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2024 * CVS Keywords in Web Pages::
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2025 @end menu
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2026
13289
c94ce13bafaf autoupdate
Karl Berry <karl@freefriends.org>
parents: 13276
diff changeset
2027
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2028 @node Hosting for Web Pages
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2029 @section Hosting for Web Pages
17142
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2030 @cindex web pages, hosting for
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2031
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2032 The best way to maintain the web pages for your project is to register
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2033 the project on @code{savannah.gnu.org}. Then you can edit the pages
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2034 using CVS, using the separate ``web repository'' available on
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2035 Savannah, which corresponds to
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2036 @indicateurl{http://www.gnu.org/software/@var{package}/}. You can
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2037 keep your source files there too (using any of a variety of version
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2038 control systems), but you can use @code{savannah.gnu.org} only for
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2039 your gnu.org web pages if you wish; simply register a ``web-only''
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2040 project.
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2041
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2042 If you don't want to use that method, please talk with
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2043 @email{webmasters@@gnu.org} about other possible methods. For
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2044 instance, you can mail them pages to install, if necessary. But that
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2045 is more work for them, so please use Savannah if you can.
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2046
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2047 If you use Savannah, you can use a special file named @file{.symlinks}
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2048 in order to create symbolic links, which are not supported in CVS.
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2049 For details, see
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2050 @url{http://www.gnu.org/server/standards/README.webmastering.html#symlinks}.
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2051
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2052
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2053 @node Freedom for Web Pages
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2054 @section Freedom for Web Pages
17142
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2055 @cindex web pages, freedom for
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2056
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2057 If you use a site other than @code{www.gnu.org}, please make sure that
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2058 the site runs on free software alone. (It is ok if the site uses
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2059 unreleased custom software, since that is free in a trivial sense:
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2060 there's only one user and it has the four freedoms.) If the web site
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2061 for a GNU package runs on non-free software, the public will see this,
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2062 and it will have the effect of granting legitimacy to the non-free
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2063 program.
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2064
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2065 If you use multiple sites, they should all follow that criterion.
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2066 Please don't link to a site that is about your package, which the
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2067 public might perceive as connected with it and reflecting the position
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2068 of its developers, unless it follows that criterion.
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2069
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2070 Historically, web pages for GNU packages did not include GIF images,
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2071 because of patent problems (@pxref{Ethical and Philosophical
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2072 Consideration}). Although the GIF patents expired in 2006, using GIF
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2073 images is still not recommended, as the PNG and JPEG formats are
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2074 generally superior. See @url{http://www.gnu.org/philosophy/gif.html}.
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2075
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2076
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2077 @node Manuals on Web Pages
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2078 @section Manuals on Web Pages
17142
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2079 @cindex web pages, including manuals on
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2080 @cindex formats for documentation, desired
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2081
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2082 The web pages for the package should include its manuals, in HTML,
17142
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2083 DVI, Info, PDF, plain ASCII, and the source Texinfo. All of these can
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2084 be generated automatically from Texinfo using Makeinfo and other
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2085 programs. If the Texinfo itself is generated from some other source
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2086 format, include that too.
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2087
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2088 When there is only one manual, put it in a subdirectory called
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2089 @file{manual}; the file @file{manual/index.html} should have a link to
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2090 the manual in each of its forms.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2091
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2092 If the package has more than one manual, put each one in a
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2093 subdirectory of @file{manual}, set up @file{index.html} in each
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2094 subdirectory to link to that manual in all its forms, and make
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2095 @file{manual/index.html} link to each manual through its subdirectory.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2096
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2097 See the section below for details on a script to make the job of
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2098 creating all these different formats and index pages easier.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2099
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2100 We would like to list all GNU manuals on the page
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2101 @url{http://www.gnu.org/manual}, so if yours isn't there, please send
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2102 mail to @code{webmasters@@gnu.org}, asking them to add yours, and they
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2103 will do so based on the contents of your @file{manual} directory.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2104
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2105 @menu
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2106 * Invoking gendocs.sh::
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2107 @end menu
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2108
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2109
7720
cc5d9ac781c7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7504
diff changeset
2110 @node Invoking gendocs.sh
11738
4c3c845a79ee -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 11605
diff changeset
2111 @subsection Invoking @command{gendocs.sh}
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2112 @pindex gendocs.sh
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2113 @cindex generating documentation output
17142
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2114 @cindex documentation output, generating
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2115
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2116 The script @command{gendocs.sh} eases the task of generating the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2117 Texinfo documentation output for your web pages
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2118 section above. It has a companion template file, used as the basis
6946
440215b69978 autoupdate
Karl Berry <karl@freefriends.org>
parents: 6943
diff changeset
2119 for the HTML index pages. Both are available from the Texinfo CVS
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2120 sources:
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2121
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2122 @smallformat
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2123 @uref{http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh}
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2124 @uref{http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template}
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2125 @end smallformat
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2126
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2127 There is also a minimalistic template, available from:
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2128
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2129 @smallformat
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2130 @uref{http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template_min}
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2131 @end smallformat
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2132
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2133 Invoke the script like this, in the directory containing the Texinfo
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2134 source:
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2135
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2136 @smallexample
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2137 gendocs.sh --email @var{yourbuglist} @var{yourmanual} "GNU @var{yourmanual} manual"
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2138 @end smallexample
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2139
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2140 @noindent where @var{yourmanual} is the short name for your package
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2141 and @var{yourbuglist} is the email address for bug reports (which
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2142 should be @code{bug-@var{package}@@gnu.org}). The script processes
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2143 the file @file{@var{yourmanual}.texinfo} (or @file{.texi} or
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2144 @file{.txi}). For example:
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2145
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2146 @smallexample
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2147 cd .../texinfo/doc
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2148 # download gendocs.sh and gendocs_template
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2149 gendocs.sh --email bug-texinfo@@gnu.org texinfo "GNU Texinfo manual"
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2150 @end smallexample
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2151
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2152 @command{gendocs.sh} creates a subdirectory @file{manual/} containing
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2153 the manual generated in all the standard output formats: Info, HTML,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2154 DVI, and so on, as well as the Texinfo source. You then need to move
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2155 all those files, retaining the subdirectories, into the web pages for
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2156 your package.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2157
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2158 You can specify the option @option{-o @var{outdir}} to override the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2159 name @file{manual}. Any previous contents of @var{outdir} will be deleted.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2160
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2161 The second argument, with the description, is included as part of the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2162 HTML @code{<title>} of the overall @file{manual/index.html} file. It
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2163 should include the name of the package being documented, as shown.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2164 @file{manual/index.html} is created by substitution from the file
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2165 @file{gendocs_template}. (Feel free to modify the generic template
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2166 for your own purposes.)
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2167
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2168 If you have several manuals, you'll need to run this script several
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2169 times with different arguments, specifying a different output
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2170 directory with @option{-o} each time, and moving all the output to
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2171 your web page. Then write (by hand) an overall index.html with links
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2172 to them all. For example:
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2173
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2174 @smallexample
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2175 cd .../texinfo/doc
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2176 gendocs.sh --email bug-texinfo@@gnu.org -o texinfo texinfo "GNU Texinfo manual"
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2177 gendocs.sh --email bug-texinfo@@gnu.org -o info info "GNU Info manual"
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2178 gendocs.sh --email bug-texinfo@@gnu.org -o info-stnd info-stnd "GNU info-stnd manual"
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2179 @end smallexample
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2180
17064
8af8ee2e4c13 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16910
diff changeset
2181 By default, the script uses @command{makeinfo} for generating HTML
8af8ee2e4c13 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16910
diff changeset
2182 output. If you prefer to use @command{texi2html}, use the
8af8ee2e4c13 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16910
diff changeset
2183 @option{--texi2html} command line option, e.g.:
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2184
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2185 @smallexample
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2186 gendocs --texi2html -o texinfo texinfo "GNU Texinfo manual"
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2187 @end smallexample
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2188
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2189 The template files will automatically produce entries for additional
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2190 HTML output generated by @command{texi2html} (i.e., split by sections
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2191 and chapters).
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2192
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2193 You can set the environment variables @env{MAKEINFO}, @env{TEXI2DVI},
17142
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2194 etc., to control the programs that get executed, and
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2195 @env{GENDOCS_TEMPLATE_DIR} to control where the
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2196 @file{gendocs_template} file is found.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2197
10991
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2198 As usual, run @samp{gendocs.sh --help} for a description of all the
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2199 options, environment variables, and more information.
6a44f8868a74 autoupdate (for gendocs.sh accepting --email)
Karl Berry <karl@freefriends.org>
parents: 10817
diff changeset
2200
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2201 Please email bug reports, enhancement requests, or other
17142
7bfb45962070 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17064
diff changeset
2202 correspondence about @command{gendocs} to @email{bug-texinfo@@gnu.org}.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2203
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2204
5011
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2205 @node CVS Keywords in Web Pages
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2206 @section CVS Keywords in Web Pages
11480
43db6feede26 remove trailing whitespace to placate Jim, more license syncs
Karl Berry <karl@freefriends.org>
parents: 11396
diff changeset
2207 @cindex CVS keywords in web pages
43db6feede26 remove trailing whitespace to placate Jim, more license syncs
Karl Berry <karl@freefriends.org>
parents: 11396
diff changeset
2208 @cindex RCS keywords in web pages
5011
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2209 @cindex $ keywords in web pages
11480
43db6feede26 remove trailing whitespace to placate Jim, more license syncs
Karl Berry <karl@freefriends.org>
parents: 11396
diff changeset
2210 @cindex web pages, and CVS keywords
5011
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2211
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2212 Since @code{www.gnu.org} works through CVS, CVS keywords in your
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2213 manual, such as @code{@w{$}Log$}, need special treatment (even if you
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2214 don't happen to maintain your manual in CVS).
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2215
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2216 If these keywords end up in the generated output as literal strings,
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2217 they will be expanded. The most robust way to handle this is to turn
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2218 off keyword expansion for such generated files. For existing files,
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2219 this is done with:
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2220
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2221 @example
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2222 cvs admin -ko @var{file1} @var{file2} ...
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2223 @end example
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2224
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2225 @noindent
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2226 For new files:
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2227
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2228 @example
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2229 cvs add -ko @var{file1} @var{file2} ...
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2230 @end example
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2231
13440
e3aab631f7ad autoupdates
Karl Berry <karl@freefriends.org>
parents: 13380
diff changeset
2232 @c The CVS manual is now built with numeric references and no nonsplit
e3aab631f7ad autoupdates
Karl Berry <karl@freefriends.org>
parents: 13380
diff changeset
2233 @c form, so it's not worth trying to give a direct link.
e3aab631f7ad autoupdates
Karl Berry <karl@freefriends.org>
parents: 13380
diff changeset
2234 See the ``Keyword Substitution'' section in the CVS manual, available
e3aab631f7ad autoupdates
Karl Berry <karl@freefriends.org>
parents: 13380
diff changeset
2235 at @url{http://ximbiot.com/cvs/manual}.
5011
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2236
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2237 In Texinfo source, the recommended way to literally specify a
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2238 ``dollar'' keyword is:
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2239
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2240 @example
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2241 @@w@{$@}Log$
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2242 @end example
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2243
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2244 The @code{@@w} prevents keyword expansion in the Texinfo source
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2245 itself. Also, @code{makeinfo} notices the @code{@@w} and generates
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2246 output avoiding the literal keyword string.
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2247
Karl Berry <karl@freefriends.org>
parents: 5001
diff changeset
2248
7720
cc5d9ac781c7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7504
diff changeset
2249 @node Ethical and Philosophical Consideration
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2250 @chapter Ethical and Philosophical Consideration
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2251 @cindex ethics
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2252 @cindex philosophy
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2253
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2254 The GNU project takes a strong stand for software freedom. Many
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2255 times, this means you'll need to avoid certain technologies when their
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2256 use would conflict with our long-term goals.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2257
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2258 Software patents threaten the advancement of free software and freedom
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2259 to program. There are so many software patents in the US that any
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2260 large program probably implements hundreds of patented techniques,
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2261 unknown to the program's developers. It would be futile and
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2262 self-defeating to try to find and avoid all these patents. But there
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2263 are some patents which we know are likely to be used to threaten free
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2264 software, so we make an effort to avoid the patented techniques. If
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2265 you are concerned about the danger of a patent and would like advice,
13230
073a6b804253 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13057
diff changeset
2266 write to @email{licensing@@gnu.org}, and we will try to help you get
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2267 advice from a lawyer.
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2268
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2269 Sometimes the GNU project takes a strong stand against a particular
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2270 patented technology in order to encourage society to reject it.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2271
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2272 For example, the MP3 audio format is covered by a software patent in
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2273 the USA and some other countries. A patent holder has threatened
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2274 lawsuits against the developers of free programs (these are not GNU
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2275 programs) to produce and play MP3, and some GNU/Linux distributors are
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2276 afraid to include them. Development of the programs continues, but we
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2277 campaign for the rejection of MP3 format in favor of Ogg Vorbis format.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2278
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2279 A GNU package should not recommend use of any non-free program, nor
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2280 should it require a non-free program (such as a non-free compiler or
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2281 IDE) to build. Thus, a GNU package cannot be written in a programming
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2282 language that does not have a free software implementation. Now that
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2283 GNU/Linux systems are widely available, all GNU packages should
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2284 provide full functionality on a 100% free GNU/Linux system, and should
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2285 not require any non-free software to build or function.
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2286 The GNU Coding Standards say a lot more about this issue.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2287
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2288 A GNU package should not refer the user to any non-free documentation
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2289 for free software. The need for free documentation to come with free
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2290 software is now a major focus of the GNU project; to show that we are
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2291 serious about the need for free documentation, we must not contradict
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2292 our position by recommending use of documentation that isn't free.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2293
17328
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2294 Please don't host discussions about your package in a service that
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2295 requires nonfree software. For instance, Google+ ``communities''
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2296 require running a nonfree Javascript program to post a message, so
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2297 they can't be used in the Free World. To host discussions there would
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2298 be excluding people who live by free software principles.
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2299
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2300 Of course, you can't order people not to use such services to talk
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2301 with each other. What you can do is not legitimize them, and use your
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2302 influence to lead people away from them. For instance, where you say
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2303 where to have discussions related to the program, don't list such a
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2304 place.
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2305
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2306 Finally, new issues concerning the ethics of software freedom come up
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2307 frequently. We ask that GNU maintainers, at least on matters that
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2308 pertain specifically to their package, stand with the rest of the GNU
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2309 project when such issues come up.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2310
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2311
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2312 @node Terminology
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2313 @chapter Terminology Issues
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2314 @cindex terminology
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2315
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2316 This chapter explains a couple of issues of terminology which are
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2317 important for correcting two widespread and important misunderstandings
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2318 about GNU.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2319
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2320 @menu
6710
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
2321 * Free Software and Open Source::
94afcc705b8e autoupdate
Karl Berry <karl@freefriends.org>
parents: 6699
diff changeset
2322 * GNU and Linux::
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2323 @end menu
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2324
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2325 @node Free Software and Open Source
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2326 @section Free Software and Open Source
15335
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2327 @cindex free software movement
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2328 @cindex open source
15335
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2329 @cindex movement, free software
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2330 @cindex development method, open source
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2331
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2332 The terms ``free software'' and ``open source'', while describing
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2333 almost the same category of software, stand for views based on
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2334 fundamentally different values. The free software movement is
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2335 idealistic, and raises issues of freedom, ethics, principle and what
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2336 makes for a good society. The term open source, initiated in 1998, is
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2337 associated with a philosophy which studiously avoids such questions.
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2338 For a detailed explanation, see
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2339 @url{http://www.gnu.org/philosophy/open-source-misses-the-point.html}.
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2340
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2341 The GNU Project is aligned with the free software movement. This
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2342 doesn't mean that all GNU contributors and maintainers have to agree;
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2343 your views on these issues are up to you, and you're entitled to express
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2344 them when speaking for yourself.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2345
15335
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2346 However, due to the much greater publicity that the term ``open source''
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2347 receives, the GNU Project needs to overcome a widespread
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2348 mistaken impression that GNU is @emph{and always was} an ``open
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2349 source'' activity. For this reason, please use the term ``free
9554
3ab8c751bb32 update maintain.texi
Karl Berry <karl@freefriends.org>
parents: 9485
diff changeset
2350 software'', not ``open source'', in GNU software releases, GNU
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2351 documentation, and announcements and articles that you publish in your
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2352 role as the maintainer of a GNU package. A reference to the URL given
5097
49061d551948 gnuorg update
Karl Berry <karl@freefriends.org>
parents: 5091
diff changeset
2353 above, to explain the difference, is a useful thing to include as
49061d551948 gnuorg update
Karl Berry <karl@freefriends.org>
parents: 5091
diff changeset
2354 well.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2355
15335
a14c39b78516 autoupdate
Karl Berry <karl@freefriends.org>
parents: 14719
diff changeset
2356
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2357 @node GNU and Linux
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2358 @section GNU and Linux
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2359 @cindex Linux
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2360 @cindex GNU/Linux
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2361
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2362 The GNU Project was formed to develop a free Unix-like operating system,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2363 GNU. The existence of this system is our major accomplishment.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2364 However, the widely used version of the GNU system, in which Linux is
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2365 used as the kernel, is often called simply ``Linux''. As a result, most
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2366 users don't know about the GNU Project's major accomplishment---or more
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2367 precisely, they know about it, but don't realize it is the GNU Project's
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2368 accomplishment and reason for existence. Even people who believe they
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2369 know the real history often believe that the goal of GNU was to develop
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2370 ``tools'' or ``utilities''.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2371
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2372 To correct this confusion, we have made a years-long effort to
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2373 distinguish between Linux, the kernel that Linus Torvalds wrote, and
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2374 GNU/Linux, the operating system that is the combination of GNU and
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2375 Linux. The resulting increased awareness of what the GNU Project has
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2376 already done helps every activity of the GNU Project recruit more
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2377 support and contributors.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2378
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2379 Please make this distinction consistently in GNU software releases, GNU
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2380 documentation, and announcements and articles that you publish in your
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2381 role as the maintainer of a GNU package. If you want to explain the
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2382 terminology and its reasons, you can refer to the URL
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2383 @url{http://www.gnu.org/gnu/linux-and-gnu.html}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2384
16186
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2385 To make it clear that Linux is a kernel, not an operating system,
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2386 please take care to avoid using the term ``Linux system'' in those
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2387 materials. If you want to have occasion to make a statement about
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2388 systems in which the kernel is Linux, write ``systems in which the
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2389 kernel is Linux'' or ``systems with Linux as the kernel.'' That
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2390 explicitly contrasts the system and the kernel, and will help readers
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2391 understand the difference between the two. Please avoid simplified
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2392 forms such as ``Linux-based systems'' because those fail to highlight
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2393 the difference between the kernel and the system, and could encourage
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2394 readers to overlook the distinction.
7a476ef3b9c8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16158
diff changeset
2395
9554
3ab8c751bb32 update maintain.texi
Karl Berry <karl@freefriends.org>
parents: 9485
diff changeset
2396 To contrast the GNU system properly with respect to GNU/Linux, you can
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2397 call it ``GNU/Hurd'' or ``the GNU/Hurd system''. However, when that
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2398 contrast is not specifically the focus, please call it just ``GNU'' or
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2399 ``the GNU system''.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2400
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2401 When referring to the collection of servers that is the higher level
15793
4e6468fa3ee8 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15579
diff changeset
2402 of the GNU kernel, please call it ``the Hurd'' or ``the GNU Hurd''.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2403 Note that this uses a space, not a slash.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2404
16856
dcfd2442bac9 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16853
diff changeset
2405
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2406 @node Interviews and Speeches
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2407 @chapter Interviews and Speeches
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2408
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2409 Interviews and speeches about your package are an important channel
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2410 for informing the public about the GNU system and the ideas of the
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2411 free software movement. Please avoid saying ``open source'' and avoid
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2412 calling the GNU system ``Linux'', just as you would in the package
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2413 itself (@pxref{Terminology}). Likewise, avoid promoting nonfree
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2414 programs (@pxref{References,,, standards, GNU Coding
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2415 Standards}) as you would in the package itself.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2416
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2417 Many GNU users have erroneous ideas about GNU. Outside of our
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2418 community, most people think it is Linux. Please use your opportunity
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2419 to set them straight. Start the presentation with the answers to
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2420 these basic questions:
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2421
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2422 @itemize @bullet
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2423 @item
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2424 What GNU is (an operating system developed to be Unix-like and totally
16856
dcfd2442bac9 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16853
diff changeset
2425 free software). It is good to mention @url{http://www.gnu.org}.
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2426
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2427 @item
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2428 What free software is (the users control it, so it doesn't control
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2429 them). It is good to state the four freedoms and/or refer to
16856
dcfd2442bac9 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16853
diff changeset
2430 @url{http://www.gnu.org/philosophy/free-sw.html}.
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2431
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2432 @item
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2433 What GNU/Linux is (Linux filled the last gap in GNU). It is useful to
16856
dcfd2442bac9 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16853
diff changeset
2434 refer to @url{http://www.gnu.org/gnu/linux-and-gnu.html}.
16853
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2435
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2436 @item
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2437 What the GNU Project is (the project to develop GNU).
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2438
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2439 @item
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2440 How your package fits in (it's part of GNU, and the work is part of
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2441 the GNU Project).
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2442 @end itemize
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2443
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2444 If you feel a social pressure not to say these things, you may be
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2445 coming in contact with some who would prefer that these things not be
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2446 said. That's precisely when we need your support most.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2447
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2448 Please don't include advertisements or plugs for any company, product
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2449 or service. Even if the product would meet the standards for the FSF
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2450 to endorse it, an ad for it is out of place in a presentation about a
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2451 GNU package. Likewise, please don't include company slogans. Mention
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2452 a company only when called for by the subject matter.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2453
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2454 A few GNU packages are actually business activities of a particular
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2455 company. In that case, it is ok to say so at the start. Otherwise,
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2456 please show that this is a project of the GNU Project, and avoid
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2457 suggesting it is any company's project.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2458
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2459 If you are paid by a company to work on the GNU package, it is
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2460 appropriate to thank the company in a discreet way, but please don't
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2461 go beyond that.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2462
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2463 Before you do a speech or interview, please contact the GNU Project
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2464 leadership. We can give you advice on how to deal with various
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2465 eventualities.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2466
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2467 When your interviews and speech recordings or transcript are posted,
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2468 please tell us about them. Then we can publicize them.
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2469
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2470 Please post them in formats that are friendly to free software: not in
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2471 Doc or Docx format, not with Flash, not with QuickTime, not with MP3,
cbe016b280f4 autoupdate
Karl Berry <karl@freefriends.org>
parents: 16782
diff changeset
2472 MPEG2 or MPEG4. Plain text, HTML and PDF are good.
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2473
7720
cc5d9ac781c7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 7504
diff changeset
2474 @node Hosting
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2475 @chapter Hosting
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2476 @cindex CVS repository
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2477 @cindex repository
9639
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2478 @cindex source repository
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2479 @cindex version control system
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2480 @cindex FTP site
13355
e85e9a764086 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13340
diff changeset
2481 @cindex release site
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2482 @cindex hosting
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2483
9639
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2484 We recommend using @code{savannah.gnu.org} for the source code
13340
e8fdc08ffb6b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13300
diff changeset
2485 repository for your package, but that's not required. @xref{Old
e8fdc08ffb6b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13300
diff changeset
2486 Versions}, for more information about Savannah.
9639
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2487
13355
e85e9a764086 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13340
diff changeset
2488 We strongly urge you to use @code{ftp.gnu.org} as the standard
15579
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2489 distribution site for releases. Doing so makes it easier for
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2490 developers and users to find the latest GNU releases. However, it is
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2491 ok to use another server if you wish, provided it allows access from
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2492 the general public without limitation (for instance, without excluding
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2493 any country).
13340
e8fdc08ffb6b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13300
diff changeset
2494
e8fdc08ffb6b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13300
diff changeset
2495 If you use a company's machine to hold the repository for your
15579
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2496 program, or as its release distribution site, please put this
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2497 statement in a prominent place on the site, so as to prevent people
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2498 from getting the wrong idea about the relationship between the package
3ed34b03fca0 autoupdate
Karl Berry <karl@freefriends.org>
parents: 15518
diff changeset
2499 and the company:
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2500
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2501 @smallexample
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2502 The programs <list of them> hosted here are free software packages
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2503 of the GNU Project, not products of <company name>. We call them
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2504 "free software" because you are free to copy and redistribute them,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2505 following the rules stated in the license of each package. For more
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2506 information, see http://www.gnu.org/philosophy/free-sw.html.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2507
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2508 If you are looking for service or support for GNU software, see
13829
cc0108d43f4b autoupdate
Karl Berry <karl@freefriends.org>
parents: 13786
diff changeset
2509 http://www.gnu.org/gethelp/ for suggestions of where to ask.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2510
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2511 If you would like to contribute to the development of one of these
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2512 packages, contact the package maintainer or the bug-reporting address
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2513 of the package (which should be listed in the package itself), or look
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2514 on www.gnu.org for more information on how to contribute.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2515 @end smallexample
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2516
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2517
13857
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2518 @node Donations
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2519 @chapter Donations
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2520 @cindex Donations, for packages
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2521 @cindex Money, donated to packages
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2522
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2523 As a maintainer, you might want to accept donations for your work,
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2524 especially if you pay for any of your own hosting/development
13894
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2525 infrastructure. Following is some text you can adapt to your own
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2526 situation, and use on your package's web site, @file{README}, or
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2527 in wherever way you find it useful:
13857
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2528
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2529 @smallexample
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2530 We appreciate contributions of any size -- donations enable us to spend
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2531 more time working on the project, and help cover our infrastructure
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2532 expenses.
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2533
13894
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2534 If you'd like to make a small donation, please visit @var{url1} and do
13873
a6de2bd905fe autoupdate
Karl Berry <karl@freefriends.org>
parents: 13857
diff changeset
2535 it through @var{payment-service}. Since our project isn't a
a6de2bd905fe autoupdate
Karl Berry <karl@freefriends.org>
parents: 13857
diff changeset
2536 tax-exempt organization, we can't offer you a tax deduction, but for
13894
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2537 all donations over @var{amount1}, we'd be happy to recognize your
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2538 contribution on @var{url2}.
13857
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2539
13894
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2540 We are also happy to consider making particular improvements or
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2541 changes, or giving specific technical assistance, in return for a
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2542 substantial donation over @var{amount2}. If you would like to discuss
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2543 this possibility, write to us at @var{address}.
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2544
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2545 Another possibility is to pay a software maintenance fee. Again,
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2546 write to us about this at @var{address} to discuss how much you want
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2547 to pay and how much maintenance we can offer in return. If you pay
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2548 more than @var{amount1}, we can give you a document for your records.
13857
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2549
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2550 Thanks for your support!
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2551 @end smallexample
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2552
13873
a6de2bd905fe autoupdate
Karl Berry <karl@freefriends.org>
parents: 13857
diff changeset
2553 We don't recommend any specific payment service. However, GNU
a6de2bd905fe autoupdate
Karl Berry <karl@freefriends.org>
parents: 13857
diff changeset
2554 developers should not use a service that requires them to sign a
a6de2bd905fe autoupdate
Karl Berry <karl@freefriends.org>
parents: 13857
diff changeset
2555 proprietary software license, such as Google's payment service.
a6de2bd905fe autoupdate
Karl Berry <karl@freefriends.org>
parents: 13857
diff changeset
2556
17328
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2557 The FSF can collect donations for a limited number of projects; if you
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2558 want to propose that for your project, write to
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2559 @email{maintainers@@gnu.org}. The FSF is required to supervise the
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2560 spending of these funds.
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2561
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2562 Of course, it is also good to encourage people to join the FSF
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2563 (@url{http://www.fsf.org}) or make a general donation, either instead
603aa5fbb298 autoupdate
Karl Berry <karl@freefriends.org>
parents: 17278
diff changeset
2564 of or as well as package-specific donations.
13894
9e50fbc43e85 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13873
diff changeset
2565
13857
7dd89a91e8f7 autoupdate
Karl Berry <karl@freefriends.org>
parents: 13829
diff changeset
2566
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2567 @node Free Software Directory
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2568 @chapter Free Software Directory
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2569 @cindex Free Software Directory
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2570 @cindex Directory, Free Software
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2571
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2572 The Free Software Directory aims to be a complete list of free
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2573 software packages, within certain criteria. Every GNU package should
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2574 be listed there, so please see
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2575 @url{http://www.gnu.org/help/directory.html#adding-entries} for
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2576 information on how to write an entry for your package. Contact
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2577 @email{bug-directory@@gnu.org} with any questions or suggestions for
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2578 the Free Software Directory.
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2579
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2580
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2581 @node Using the Proofreaders List
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2582 @chapter Using the Proofreaders List
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2583 @cindex proofreading
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2584
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2585 If you want help finding errors in documentation,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2586 or help improving the quality of writing,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2587 or if you are not a native speaker of English
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2588 and want help producing good English documentation,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2589 you can use the GNU proofreaders mailing list:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2590 @email{proofreaders@@gnu.org}.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2591
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2592 But be careful when you use the list,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2593 because there are over 200 people on it.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2594 If you simply ask everyone on the list to read your work,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2595 there will probably be tremendous duplication of effort
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2596 by the proofreaders,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2597 and you will probably get the same errors reported 100 times.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2598 This must be avoided.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2599
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2600 Also, the people on the list do not want to get
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2601 a large amount of mail from it.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2602 So do not ever ask people on the list to send mail to the list!
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2603
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2604 Here are a few methods that seem reasonable to use:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2605
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2606 @itemize @bullet
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2607 @item
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2608 For something small, mail it to the list,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2609 and ask people to pick a random number from 1 to 20,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2610 and read it if the number comes out as 10.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2611 This way, assuming 50% response, some 5 people will read the piece.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2612
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2613 @item
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2614 For a larger work, divide your work into around 20 equal-sized parts,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2615 tell people where to get it,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2616 and ask each person to pick randomly which part to read.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2617
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2618 Be sure to specify the random choice procedure;
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2619 otherwise people will probably use a mental procedure
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2620 that is not really random,
9077
5c082cf05c7d autoupdate
Karl Berry <karl@freefriends.org>
parents: 9019
diff changeset
2621 such as ``pick a part near the middle'',
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2622 and you will not get even coverage.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2623
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2624 You can either divide up the work physically, into 20 separate files,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2625 or describe a virtual division, such as by sections
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2626 (if your work has approximately 20 sections).
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2627 If you do the latter, be sure to be precise about it---for example,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2628 do you want the material before the first section heading
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2629 to count as a section, or not?
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2630
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2631 @item
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2632 For a job needing special skills, send an explanation of it,
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2633 and ask people to send you mail if they volunteer for the job.
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2634 When you get enough volunteers, send another message to the list saying
9077
5c082cf05c7d autoupdate
Karl Berry <karl@freefriends.org>
parents: 9019
diff changeset
2635 ``I have enough volunteers, no more please.''
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2636 @end itemize
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2637
9485
4e0536363af3 * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 9125
diff changeset
2638
9639
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2639 @node GNU Free Documentation License
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2640 @appendix GNU Free Documentation License
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2641
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2642 @cindex FDL, GNU Free Documentation License
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2643 @include fdl.texi
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2644
100b861b2ab1 autoupdate
Karl Berry <karl@freefriends.org>
parents: 9573
diff changeset
2645
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2646 @node Index
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2647 @unnumbered Index
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2648 @printindex cp
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2649
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2650 @bye
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2651
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2652 Local variables:
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2653 eval: (add-hook 'write-file-hooks 'time-stamp)
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2654 time-stamp-start: "@set lastupdate "
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2655 time-stamp-start: "@set lastupdate "
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2656 time-stamp-end: "$"
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2657 time-stamp-format: "%:b %:d, %:y"
10299
a738aa757f71 -mautoupdate
Karl Berry <karl@freefriends.org>
parents: 10263
diff changeset
2658 compile-command: "make -C work.m"
4958
93b3f9c4c71e add maintain/standards docs
Karl Berry <karl@freefriends.org>
parents:
diff changeset
2659 End: