autoupdate
[gnulib.git] / doc / maintain.texi
index fc7a006..0db3d35 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 March 21, 2008
+@set lastupdate November 8, 2008
 @c %**end of header
 
 @dircategory GNU organization
@@ -30,7 +30,7 @@ Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
 Texts.  A copy of the license is included in the section entitled
@@ -88,6 +88,9 @@ version for widespread distribution, we suggest you follow these
 guidelines; if you would like to be a GNU maintainer, then it is
 essential to follow these guidelines.
 
+In addition to this document, please read and follow the GNU Coding
+Standards (@pxref{Top, , Contents, standards, GNU Coding Standards}).
+
 Please send corrections or suggestions for this document to
 @email{maintainers@@gnu.org}.  If you make a suggestion, please include
 a suggested new wording for it, to help us consider the suggestion
@@ -96,6 +99,11 @@ but if you don't have that file, you can make a context diff for some
 other version of this document, or propose it in any way that makes it
 clear.
 
+If you have general questions or encounter a situation where it isn't
+clear what to do, you can ask @email{mentors@@gnu.org}, which is a
+list of a few other GNU contributor who have offered to answer
+questions for new maintainers.
+
 This document uses the gender-neutral third-person pronouns ``person'',
 ``per'', ``pers'' and ``perself'' which were promoted, and perhaps
 invented, by Marge Piercy in @cite{Woman on the Edge of Time}.  They are
@@ -106,10 +114,10 @@ work, and to enable per to feel person has done the right thing.''
 
 The directory @file{/gd/gnuorg} is found on the GNU file server,
 currently @code{fencepost.gnu.org}; if you are the maintainer of a GNU
-package, you should have an account there.  Contact
-@email{accounts@@gnu.org} if you don't have one.  (You can also ask
-for accounts for people who help you a large amount in working on the
-package.)
+package, you should have an account there.  See
+@url{http://www.gnu.org/software/README.accounts.html} if you don't
+have one.  (You can also ask for accounts for people who help you a
+large amount in working on the package.)
 
 This release of the GNU Maintenance Instructions was last updated
 @value{lastupdate}.
@@ -169,6 +177,11 @@ out the maintainer's functions together.  If you would like to propose
 some of your developers as co-maintainers, please contact
 @email{maintainers@@gnu.org}.
 
+We're happy to acknowledge all major contributors to GNU packages on
+the @url{http://www.gnu.org/people/people.html} web page.  Please send
+an entry for yourself to @email{webmasters@@gnu.org}, and feel free to
+suggest it to other significant developers on your package.
+
 
 @node Legal Matters
 @chapter Legal Matters
@@ -606,11 +619,12 @@ Every nontrivial file needs a license notice as well as the copyright
 notice.  (Without a license notice giving permission to copy and
 change the file, the file is non-free.)
 
-The package itself should contain a full copy of GPL (conventionally
-in a file named @file{COPYING}) and the GNU Free Documentation License
-(included within your documentation).  If the package contains any
-files distributed under the Lesser GPL, it should contain a full copy
-of that as well (conventionally in a file named
+The package itself should contain a full copy of GPL in plain text
+(conventionally in a file named @file{COPYING}) and the GNU Free
+Documentation License (included within your documentation, so there is
+no need for a separate plain text version).  If the package contains
+any files distributed under the Lesser GPL, it should contain a full
+copy of its plain text version also (conventionally in a file named
 @file{COPYING.LESSER}).
 
 If you have questions about license issues for your GNU package,
@@ -700,7 +714,7 @@ features of the GFDL.
 
 @smallexample
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with the
 Invariant Sections being ``GNU General Public License'', with the
 Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover Texts
@@ -831,8 +845,8 @@ important one, important enough to be worth the work of cleaning it up.
 The GNU Coding Standards are a good thing to send people when you ask
 them to clean up changes (@pxref{Top, , Contents, standards, GNU Coding
 Standards}).  The Emacs Lisp manual contains an appendix that gives
-coding standards for Emacs Lisp programs; it is good to urge authors to
-read it (@pxref{Tips, , Tips and Standards, elisp, The GNU Emacs Lisp
+coding standards for Emacs Lisp programs; it is good to urge Lisp authors to
+read it (@pxref{Tips, , Tips and Conventions, elisp, The GNU Emacs Lisp
 Reference Manual}).
 
 
@@ -903,13 +917,26 @@ used for all GNU programs that don't have their own specific lists.  But
 nowadays we want to give each program its own bug-reporting list and
 move away from using @email{bug-gnu-utils}.
 
+If you wish, you can also have mailing lists such as
+@samp{info-@var{program}} for announcements (@pxref{Announcements}),
+@samp{help-@var{program}} for general help and discussion (see below),
+or any others you find useful.
+
+By far the easiest way to create mailing lists is through
+@code{savannah.gnu.org}.  Once you register your program, you can do
+this yourself through the `Mailing Lists' menu, without needing
+intervention by anyone else.  Furthermore, lists created through
+Savannah will have a reasonable default configuration for antispam
+purposes (see below).
+
 If you are the maintainer of a GNU package, you should have an account
-on the GNU servers; contact @email{accounts@@gnu.org} if you don't have
-one.  (You can also ask for accounts for people who help you a large
-amount in working on the package.)  With this account, you can edit
-@file{/com/mailer/aliases} to create a new unmanaged list or add
-yourself to an existing unmanaged list.  A comment near the beginning of
-that file explains how to create a Mailman-managed mailing list.
+on the GNU servers; contact
+@url{http://www.gnu.org/software/README.accounts.html} if you don't
+have one.  (You can also ask for accounts for people who help you a
+large amount in working on the package.)  With this account, you can
+edit @file{/com/mailer/aliases} to create a new unmanaged list or add
+yourself to an existing unmanaged list.  A comment near the beginning
+of that file explains how to create a Mailman-managed mailing list.
 
 But if you don't want to learn how to do those things, you can
 alternatively ask @email{alias-file@@gnu.org} to add you to the
@@ -1181,7 +1208,7 @@ before they are made publicly available.
 @node Automated Upload Registration
 @subsection Automated Upload Registration
 
-@cindex registration
+@cindex registration for uploads
 @cindex uploads, registration for
 
 Here is how to register your information so you can perform uploads
@@ -1284,6 +1311,18 @@ are sent a message if there are any problems processing an upload for your
 package. You also receive a message when your upload has been successfully
 processed.
 
+One relatively easy way to create and transfer the necessary files is
+to use the @code{gnupload} script, which is available from the
+@file{build-aux/} directory of the @code{gnulib} project at
+@url{http://savannah.gnu.org/projects/gnulib}.  Run @code{gnupload
+--help} for a description and examples.
+
+@code{gnupload} uses the @code{ncftpput} program to do the actual
+transfers; if you don't happen to have the @code{ncftp} package
+installed, you can use the @code{ncftpput-ftp} script as a
+replacement, which uses plain command line @code{ftp}.  It's also
+available from the @file{build-aux/} directory of @code{gnulib}.
+
 If you have difficulties processing an upload, email
 @email{ftp-upload@@gnu.org}.
 
@@ -1428,16 +1467,32 @@ your package (in the example above, that is @code{bar}).
 
 @node Announcements
 @section Announcing Releases
+@cindex announcements
 
+@cindex @code{info-gnu} mailing list
 When you have a new release, please make an announcement.  For
 official new releases, including those made just to fix bugs, we
-recommend using the (moderated) general GNU announcements list,
-@email{info-gnu@@gnu.org}.  Doing so makes it easier for users and
-developers to find the latest GNU releases.
-
-You can maintain your own mailing list for announcements as well if
-you like.  For your own list, you can decide as you see fit what
-events are worth announcing.
+strongly recommend using the (moderated) general GNU announcements
+list, @email{info-gnu@@gnu.org}.  Doing so makes it easier for users
+and developers to find the latest GNU releases.  On the other hand,
+please do not announce test releases on @code{info-gnu} unless it's an
+unusual situation.
+
+@cindex @url{http://planet.gnu.org}
+@cindex Savannah, news area
+Please also post release announcements in the news section of your
+Savannah project site.  It is fine to also write news entries for test
+releases and any other newsworthy events.  The news feeds from all GNU
+projects at savannah are aggregated at @url{http://planet.gnu.org}.
+(You can also post items directly, or arrange for feeds from other
+locations; see contact information on the GNU Planet web page.) 
+
+@cindex announcement mailing list, project-specific
+You can maintain your own mailing list (typically
+@email{info-@var{program}@@gnu.org}) for announcements as well if you
+like.  For your own list, of course you can decide as you see fit what
+events are worth announcing.  (@xref{Mail}, for more suggestions on
+handling mail for your package.)
 
 
 @node Web Pages
@@ -1446,9 +1501,10 @@ events are worth announcing.
 
 Please write web pages about your package for installation on
 @code{www.gnu.org}.  They should follow our usual standards for web
-pages (see @url{http://www.gnu.org/server}); we chose them in order to
-support a wide variety of browsers, to focus on information rather
-than flashy eye candy, and to keep the site simple and uniform.
+pages (see @url{http://www.gnu.org/server/fsf-html-style-sheet.html}).
+The overall goals are to support a wide variety of browsers, to focus
+on information rather than flashy eye candy, and to keep the site
+simple and uniform.
 
 The simplest way to maintain the web pages for your project is to
 register the project on @code{savannah.gnu.org}.  Then you can edit
@@ -1717,7 +1773,7 @@ different movements which differ in their basic philosophy.  The Free
 Software Movement is idealistic, and raises issues of freedom, ethics,
 principle and what makes for a good society.  The Open Source Movement,
 founded in 1998, studiously avoids such questions.  For more explanation,
-see @url{http://www.gnu.org/philosophy/free-software-for-freedom.html}.
+see @url{http://www.gnu.org/philosophy/open-source-misses-the-point.html}.
 
 The GNU Project is aligned with the Free Software Movement.  This
 doesn't mean that all GNU contributors and maintainers have to agree;
@@ -1814,10 +1870,13 @@ on www.gnu.org for more information on how to contribute.
 @cindex Free Software Directory
 @cindex Directory, Free Software
 
-The Free Software Directory aims to be a complete list of free software
-packages, within certain criteria.  Every GNU package should be listed
-there, so please contact @email{bug-directory@@gnu.org} to ask for
-information on how to write an entry for your package.
+The Free Software Directory aims to be a complete list of free
+software packages, within certain criteria.  Every GNU package should
+be listed there, so please see
+@url{http://www.gnu.org/help/directory.html#adding-entries} for
+information on how to write an entry for your package.  Contact
+@email{bug-directory@@gnu.org} with any questions or suggestions for
+the Free Software Directory.
 
 
 @node Using the Proofreaders List
@@ -1897,5 +1956,5 @@ time-stamp-start: "@set lastupdate "
 time-stamp-start: "@set lastupdate "
 time-stamp-end: "$"
 time-stamp-format: "%:b %:d, %:y"
-compile-command: "make just-maintain"
+compile-command: "make -C work.m"
 End: