]> Savannah Git Hosting - gnulib.git/commitdiff
Add info for maintainers and contributors.
authorBruno Haible <bruno@clisp.org>
Thu, 1 Jun 2023 13:11:35 +0000 (15:11 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 1 Jun 2023 13:12:04 +0000 (15:12 +0200)
* HACKING: New file.

ChangeLog
HACKING [new file with mode: 0644]

index 474c899b2351c8b660c9a0fb3366fecb9116d666..a945a0ed1693fadea596a2f36a21c86b63b52cce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2023-06-01  Bruno Haible  <bruno@clisp.org>
+
+       Add info for maintainers and contributors.
+       * HACKING: New file.
+
 2023-05-30  Nick Bowler  <nbowler@draconx.ca>
 
        readline: fix memory leak in replacement readline.
diff --git a/HACKING b/HACKING
new file mode 100644 (file)
index 0000000..db81c81
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,50 @@
+Information for GNU Gnulib maintainers and contributors
+*******************************************************
+
+Using git
+=========
+
+* We don't use topic branches.  Changes are usually small enough that
+  they can be committed directly to the master branch, after appropriate
+  testing.
+
+* We maintain stable branches, though, as described in the documentation:
+  https://www.gnu.org/software/gnulib/manual/html_node/Stable-Branches.html
+  When backporting a commit to a stable branch of the last year, be sure
+  to update the copyright year of each modified file (since we don't run
+  "make update-copyright" on the stable branches).
+
+* We update the ChangeLog by hand.  The commit message is usually identical
+  to the ChangeLog entry, with the date and author line removed, with
+  the leading tabs removed, and with a blank line after the commit's
+  summary line.
+
+* When you commit a contributor's patch, please
+  - add a reasonable ChangeLog entry in the usual style (meaningful
+    summary line and detailed change list),
+  - if the contribution is so small that it does not require a
+    copyright assignment (cf.
+    https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html )
+    add a line:
+    Copyright-paperwork-exempt: Yes
+  - use the 'git commit' option --author="Contributor Name <email@address>"
+
+License Notices
+===============
+
+In *.m4 files, use a notice like this:
+  dnl Copyright (C) YEARS Free Software Foundation, Inc.
+  dnl This file is free software; the Free Software Foundation
+  dnl gives unlimited permission to copy and/or distribute it,
+  dnl with or without modifications, as long as this notice is preserved.
+
+In lib/, tests/, build-aux/ files, except those that are shared with glibc,
+use the license notices from etc/license-notices/ . This avoids gratuitous
+differences in wording, as well misunderstandings when a license notice
+would say "This program ...".
+
+Test Suite
+==========
+
+When adding a module, add a unit test module as well.  This is our best
+chance to catch portability problems.