strtod: Restore errno when successfully parsing Infinity or NaN.
[gnulib.git] / doc / maintain.texi
index 7f241a1..7d4f582 100644 (file)
@@ -5,7 +5,7 @@
 @c For double-sided printing, uncomment:
 @c @setchapternewpage odd
 @c This date is automagically updated when you save this file:
-@set lastupdate April 29, 2010
+@set lastupdate December 9, 2010
 @c %**end of header
 
 @dircategory GNU organization
@@ -70,6 +70,7 @@ Texts.  A copy of the license is included in the section entitled
 * Ethical and Philosophical Consideration::
 * Terminology::
 * Hosting::
+* Donations::
 * Free Software Directory::
 * Using the Proofreaders List::
 * GNU Free Documentation License::
@@ -134,12 +135,11 @@ questions for new maintainers.
 
 @cindex advisory committee
 The GNU Advisory Committee helps to coordinate activities in the GNU
-project on behalf of RMS.  If you have any organizational questions or
-concerns you can contact the committee at
-@email{gnu-advisory@@gnu.org}.  The committee holds a regular monthly
-meeting to discuss any issues that have been raised.  The minutes of
-the meeting are sent to the @code{gnu-prog} list, and can also be
-found, along with additional information, in
+project on behalf of RMS (Richard Stallman, the Chief GNUisance).  If
+you have any organizational questions or concerns you can contact the
+committee at @email{gnu-advisory@@gnu.org}.  See
+@url{http://www.gnu.org/contact/gnu-advisory.html} for the current
+committee members.  Additional information is in
 @file{/gd/gnuorg/advisory}.
 
 
@@ -160,11 +160,11 @@ ask for accounts for people who significantly help you in working on
 the package.
 @end macro
 
-@gdgnuorgtext
+@gdgnuorgtext{}
 
 @cindex down, when GNU machines are
 @cindex outage, of GNU machines
-@cindex @url{identi.ca/group/fsfstatus}
+@cindex @url{http://identi.ca/group/fsfstatus}
 If you find that any GNU computer systems (@code{fencepost.gnu.org},
 @code{ftp.gnu.org}, @code{www.gnu.org}, @code{savannah.gnu.org},
 @dots{}) seem to be down, you can check the current status at
@@ -278,7 +278,7 @@ expected papers arrive.
 @cindex @file{/gd/gnuorg} directory
 @c This paragraph intentionally duplicates information given
 @c near the beginning of the file--to make sure people don't miss it.
-@gdgnuorgtext
+@gdgnuorgtext{}
 
 In order for the contributor to know person should sign papers, you need
 to ask per for the necessary papers.  If you don't know per well, and you
@@ -625,8 +625,11 @@ domain, if the movie companies don't continue buying laws to further
 extend copyright.  If you copy a file into the package from some other
 program, keep the copyright years that come with the file.
 
-Do not abbreviate the year list using a range; for instance, do not
-write @samp{1996--1998}; instead, write @samp{1996, 1997, 1998}.
+You can use a range (@samp{2008-2010}) instead of listing individual
+years (@samp{2008, 2009, 2010}) if and only if: 1)@tie{}every year in
+the range, inclusive, really is a ``copyrightable'' year that would be
+listed individually; @emph{and} 2)@tie{}you make an explicit statement
+in a @file{README} file about this usage.
 
 For files which are regularly copied from another project (such as
 @samp{gnulib}), leave the copyright notice as it is in the original.
@@ -1022,7 +1025,7 @@ default configuration for antispam purposes (see below).
 
 To create and maintain simple aliases and unmanaged lists, you can
 edit @file{/com/mailer/aliases} on the main GNU server.  If you don't
-have an account there,
+have an account there, please read
 @url{http://www.gnu.org/software/README.accounts.html} (@pxref{Getting
 a GNU Account}).
 
@@ -1096,10 +1099,10 @@ useful for your package.
 @cindex version control
 
 It is very important to keep backup files of all source files of GNU.
-You can do this using a source control system (such as RCS, CVS, Git,
-@dots{}) if you like.  The easiest way to use RCS or CVS is via the
-Version Control library in Emacs (@pxref{VC Concepts,, Concepts of
-Version Control, emacs, The GNU Emacs Manual}).
+You can do this using a source control system (such as Bazaar, RCS,
+CVS, Git, Subversion, @dots{}) if you like.  The easiest way to use
+RCS or CVS is via the Version Control library in Emacs (@pxref{VC
+Concepts,, Concepts of Version Control, emacs, The GNU Emacs Manual}).
 
 The history of previous revisions and log entries is very important for
 future maintainers of the package, so even if you do not make it
@@ -1110,15 +1113,14 @@ some day.
 @cindex @code{savannah-hackers@@gnu.org}
 The GNU Project provides a server that GNU software packages can use
 for source control and other package needs: @code{savannah.gnu.org}.
-You don't have to use this repository, but if you plan to allow public
-read-only access to your development sources, it is convenient for
-people to be able to find various GNU packages in a central place.
-Savannah is managed by @email{savannah-hackers@@gnu.org}.
+Savannah is managed by @email{savannah-hackers@@gnu.org}.  For more
+details on using and contributing to Savannah, see
+@url{http://savannah.gnu.org/maintenance}.
 
-All GNU maintainers are strongly encouraged to take advantage of
-Savannah, as sharing such a central point can serve to foster a sense
-of community among GNU developers and help in keeping up with project
-management.
+It's not a requirement, but all GNU maintainers are strongly
+encouraged to take advantage of Savannah, as sharing such a central
+point can serve to foster a sense of community among GNU developers
+and help in keeping up with project management.
 
 @cindex @code{savannah-announce@@gnu.org} mailing list
 If you do use Savannah, please subscribe to the
@@ -1233,12 +1235,12 @@ version, and checking that the result exactly matches the new version.
 @node Distribution on ftp.gnu.org
 @section Distribution on @code{ftp.gnu.org}
 @cindex GNU ftp site
-@cindex @code{ftp.gnu.org}, the GNU ftp site
+@cindex @code{ftp.gnu.org}, the GNU release site
 
-GNU packages are distributed through directory @file{/gnu} on
-@code{ftp.gnu.org}.  Each package should have a subdirectory
-named after the package, and all the distribution files for the package
-should go in that subdirectory.
+GNU packages are distributed through the directory @file{/gnu} on
+@code{ftp.gnu.org}, via both HTTP and FTP.  Each package should have a
+subdirectory named after the package, and all the distribution files
+for the package should go in that subdirectory.
 
 @c If you have an interest in seeing the monthly download logs from the FTP
 @c site at @code{ftp.gnu.org} for your program, that is something that
@@ -1254,13 +1256,13 @@ versions on @code{ftp.gnu.org}.
 @cindex beta releases
 @cindex pretest releases
 
-@cindex @code{alpha.gnu.org}, ftp site for test releases
+@cindex @code{alpha.gnu.org}, test release site
 When you release a greatly changed new major version of a program, you
 might want to do so as a pretest.  This means that you make a tar file,
 but send it only to a group of volunteers that you have recruited.  (Use
 a suitable GNU mailing list/newsgroup to recruit them.)
 
-We normally use the FTP server @code{alpha.gnu.org} for pretests and
+We normally use the server @code{alpha.gnu.org} for pretests and
 prerelease versions.  @xref{Automated FTP Uploads}, for procedural details
 of putting new versions on @code{alpha.gnu.org}.
 
@@ -1330,7 +1332,7 @@ for your GNU package:
 @item
 Create an account for yourself at @url{http://savannah.gnu.org}, if
 you don't already have one.  By the way, this is also needed to
-maintain the web pages at @url{www.gnu.org} for your project
+maintain the web pages at @url{http://www.gnu.org} for your project
 (@pxref{Web Pages}).
 
 @item
@@ -1342,7 +1344,7 @@ good to also send your key to the GPG public key server: @code{gpg
 --keyserver keys.gnupg.net --send-keys @var{keyid}}, where @var{keyid}
 is the eight hex digits reported by @code{gpg --list-public-keys} on
 the @code{pub} line before the date.  For full information about GPG,
-see @url{http://www.gnu.org/software/gpg})
+see @url{http://www.gnu.org/software/gpg}.
 
 @item
 Compose a message with the following items in some @var{msgfile}.
@@ -1645,7 +1647,7 @@ Your package's web page (normally
 @item
 Your package's download location (normally
 @indicateurl{http://ftp.gnu.org/gnu/@var{package}/}).  It is also
-useful to mention the FTP mirror list at
+useful to mention the mirror list at
 @url{http://www.gnu.org/order/ftp.html}, and that
 @url{http://ftpmirror.gnu.org/@var{package/}} will automatically
 redirect to a nearby mirror.
@@ -1669,7 +1671,7 @@ simple and uniform.
 
 We encourage you to use the standard @code{www.gnu.org} template as
 the basis for your pages:
-@url{http://www.gnu.org/server/@/standards@/boilerplate-source.html}.
+@url{http://www.gnu.org/server/@/standards/@/boilerplate-source.html}.
 
 Some GNU packages have just simple web pages, but the more information
 you provide, the better.  So please write as much as you usefully can,
@@ -1884,7 +1886,10 @@ For new files:
 cvs add -ko @var{file1} @var{file2} ...
 @end example
 
-@xref{Keyword substitution,,,cvs,Version Management with CVS}.
+@c The CVS manual is now built with numeric references and no nonsplit
+@c form, so it's not worth trying to give a direct link.
+See the ``Keyword Substitution'' section in the CVS manual, available
+at @url{http://ximbiot.com/cvs/manual}.
 
 In Texinfo source, the recommended way to literally specify a
 ``dollar'' keyword is:
@@ -2035,19 +2040,23 @@ Note that this uses a space, not a slash.
 @cindex source repository
 @cindex version control system
 @cindex FTP site
+@cindex release site
 @cindex hosting
 
 We recommend using @code{savannah.gnu.org} for the source code
-repository for your package, and, even more so, using
-@code{ftp.gnu.org} as the standard distribution site.  Doing so makes
-it easier for developers and users to find the latest GNU releases.
-@xref{Old Versions}, for more information about Savannah.
+repository for your package, but that's not required.  @xref{Old
+Versions}, for more information about Savannah.
 
-However, it is ok to use other machines if you wish.  If you use a
-company's machine to hold the repository for your program, or as its
-ftp site, please put this statement in a prominent place on the site,
-so as to prevent people from getting the wrong idea about the
-relationship between the package and the company:
+We strongly urge you to use @code{ftp.gnu.org} as the standard
+distribution site.  Doing so makes it easier for developers and users
+to find the latest GNU releases.  However, it is ok to use another
+server if you wish, provided it allows access from the general public
+without limitation (for instance, without excluding any country).
+
+If you use a company's machine to hold the repository for your
+program, or as its ftp site, please put this statement in a prominent
+place on the site, so as to prevent people from getting the wrong idea
+about the relationship between the package and the company:
 
 @smallexample
 The programs <list of them> hosted here are free software packages
@@ -2057,7 +2066,7 @@ following the rules stated in the license of each package.  For more
 information, see http://www.gnu.org/philosophy/free-sw.html.
 
 If you are looking for service or support for GNU software, see
-http://www.gnu.org/help/gethelp.html for suggestions of where to ask.
+http://www.gnu.org/gethelp/ for suggestions of where to ask.
 
 If you would like to contribute to the development of one of these
 packages, contact the package maintainer or the bug-reporting address
@@ -2066,6 +2075,50 @@ on www.gnu.org for more information on how to contribute.
 @end smallexample
 
 
+@node Donations
+@chapter Donations
+@cindex Donations, for packages
+@cindex Money, donated to packages
+
+As a maintainer, you might want to accept donations for your work,
+especially if you pay for any of your own hosting/development
+infrastructure.  Following is some text you can adapt to your own
+situation, and use on your package's web site, @file{README}, or
+in wherever way you find it useful:
+
+@smallexample
+We appreciate contributions of any size -- donations enable us to spend
+more time working on the project, and help cover our infrastructure
+expenses.
+
+If you'd like to make a small donation, please visit @var{url1} and do
+it through @var{payment-service}.  Since our project isn't a
+tax-exempt organization, we can't offer you a tax deduction, but for
+all donations over @var{amount1}, we'd be happy to recognize your
+contribution on @var{url2}.
+
+We are also happy to consider making particular improvements or
+changes, or giving specific technical assistance, in return for a
+substantial donation over @var{amount2}.  If you would like to discuss
+this possibility, write to us at @var{address}.
+
+Another possibility is to pay a software maintenance fee.  Again,
+write to us about this at @var{address} to discuss how much you want
+to pay and how much maintenance we can offer in return.  If you pay
+more than @var{amount1}, we can give you a document for your records.
+
+Thanks for your support!
+@end smallexample
+
+We don't recommend any specific payment service.  However, GNU
+developers should not use a service that requires them to sign a
+proprietary software license, such as Google's payment service.
+
+Of course, it is also good to encourage people to join or contribute
+to the FSF (@url{http://www.fsf.org}), either instead of or as well as
+package-specific donations.
+
+
 @node Free Software Directory
 @chapter Free Software Directory
 @cindex Free Software Directory