standards: Preface

1 
1 1 About the GNU Coding Standards
1 ********************************
1 
1 The GNU Coding Standards were written by Richard Stallman and other GNU
1 Project volunteers.  Their purpose is to make the GNU system clean,
1 consistent, and easy to install.  This document can also be read as a
1 guide to writing portable, robust and reliable programs.  It focuses on
1 programs written in C, but many of the rules and principles are useful
1 even if you write in another programming language.  The rules often
1 state reasons for writing in a certain way.
1 
1    If you did not obtain this file directly from the GNU project and
1 recently, please check for a newer version.  You can get the GNU Coding
1 Standards from the GNU web server in many different formats, including
1 the Texinfo source, PDF, HTML, DVI, plain text, and more, at:
1 <http://www.gnu.org/prep/standards/>.
1 
1    If you are maintaining an official GNU package, in addition to this
11 document, please read and follow the GNU maintainer information (⇒
 Contents (maintain)Top.).
1 
1    If you want to receive diffs for every change to these GNU documents,
1 join the mailing list 'gnustandards-commit@gnu.org', via the web
1 interface at
1 <http://lists.gnu.org/mailman/listinfo/gnustandards-commit>.  Archives
1 are also available there.
1 
1    Please send corrections or suggestions for this document to
1 <bug-standards@gnu.org>.  If you make a suggestion, please include a
1 suggested new wording for it, to help us consider the suggestion
1 efficiently.  We prefer a context diff to the Texinfo source, but if
1 that's difficult for you, you can make a context diff for some other
1 version of this document, or propose it in any way that makes it clear.
1 The source repository for this document can be found at
1 <http://savannah.gnu.org/projects/gnustandards>.
1 
1    These standards cover the minimum of what is important when writing a
1 GNU package.  Likely, the need for additional standards will come up.
1 Sometimes, you might suggest that such standards be added to this
1 document.  If you think your standards would be generally useful, please
1 do suggest them.
1 
1    You should also set standards for your package on many questions not
1 addressed or not firmly specified here.  The most important point is to
1 be self-consistent--try to stick to the conventions you pick, and try to
1 document them as much as possible.  That way, your program will be more
1 maintainable by others.
1 
1    The GNU Hello program serves as an example of how to follow the GNU
1 coding standards for a trivial program.
1 <http://www.gnu.org/software/hello/hello.html>.
1 
1    This release of the GNU Coding Standards was last updated July 25,
1 2016.
1