summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/DCO29
-rw-r--r--doc/HACKING102
-rw-r--r--doc/Makefile.am2
3 files changed, 108 insertions, 25 deletions
diff --git a/doc/DCO b/doc/DCO
new file mode 100644
index 00000000..ee460f6b
--- /dev/null
+++ b/doc/DCO
@@ -0,0 +1,29 @@
+Libgcrypt Developer's Certificate of Origin. Version 1.0
+=========================================================
+
+By making a contribution to the Libgcrypt project, I certify that:
+
+(a) The contribution was created in whole or in part by me and I
+ have the right to submit it under the free software license
+ indicated in the file; or
+
+(b) The contribution is based upon previous work that, to the
+ best of my knowledge, is covered under an appropriate free
+ software license and I have the right under that license to
+ submit that work with modifications, whether created in whole
+ or in part by me, under the same free software license
+ (unless I am permitted to submit under a different license),
+ as indicated in the file; or
+
+(c) The contribution was provided directly to me by some other
+ person who certified (a), (b) or (c) and I have not modified
+ it.
+
+(d) I understand and agree that this project and the contribution
+ are public and that a record of the contribution (including
+ all personal information I submit with it, including my
+ sign-off) is maintained indefinitely and may be redistributed
+ consistent with this project or the free software license(s)
+ involved.
+
+Signed-off-by: [Your name and mail address]
diff --git a/doc/HACKING b/doc/HACKING
index 4e0405d1..0cb8d560 100644
--- a/doc/HACKING
+++ b/doc/HACKING
@@ -1,33 +1,86 @@
- Various hacking notes -*- text -*-
- =======================
+# HACKING -*- org -*-
+#+TITLE: Hacking notes for Libgcrypt
+#+STARTUP: showall
-No more ChangeLog files
------------------------
+* How to contribute
-Do not modify any of the ChangeLog files in Libgcrypt. Starting on
-December 1st, 2011 we put change information only in the GIT commit
-log, and generate a top-level ChangeLog file from logs at "make dist"
-time. As such, there are strict requirements on the form of the
-commit log messages. The old ChangeLog files have all be renamed to
-ChangeLog-2011
+ The following stuff explains some basic procedures you need to
+ follow if you want to contribute code or documentation.
+** No more ChangeLog files
-Commit log requirements
------------------------
+ Do not modify any of the ChangeLog files in Libgcrypt. Starting on
+ December 1st, 2011 we put change information only in the GIT commit
+ log, and generate a top-level ChangeLog file from logs at "make
+ dist" time. As such, there are strict requirements on the form of
+ the commit log messages. The old ChangeLog files have all be
+ renamed to ChangeLog-2011
-Your commit log should always start with a one-line summary, the second
-line should be blank, and the remaining lines are usually ChangeLog-style
-entries for all affected files. However, it's fine -- even recommended --
-to write a few lines of prose describing the change, when the summary
-and ChangeLog entries don't give enough of the big picture. Omit the
-leading TABs that you're used to seeing in a "real" ChangeLog file, but
-keep the maximum line length at 72 or smaller, so that the generated
-ChangeLog lines, each with its leading TAB, will not exceed 80 columns.
+** Commit log requirements
+ Your commit log should always start with a one-line summary, the
+ second line should be blank, and the remaining lines are usually
+ ChangeLog-style entries for all affected files. However, it's fine
+ -- even recommended -- to write a few lines of prose describing the
+ change, when the summary and ChangeLog entries don't give enough of
+ the big picture. Omit the leading TABs that you're used to seeing
+ in a "real" ChangeLog file, but keep the maximum line length at 72
+ or smaller, so that the generated ChangeLog lines, each with its
+ leading TAB, will not exceed 80 columns.
+** License policy
-Taking optimized MPI code out of GMP:
--------------------------------------
+ Libgcrypt is currently licensed under the LGPLv2+ with tools and the
+ manual being under the GPLv2+. We may eventually update to a newer
+ version of the licenses or a combination of them. It is thus
+ important, that all contributed code allows for an update of the
+ license; for example we can't accept code under the LGPLv2(only).
+
+ Libgcrypt used to have a strict policy of requiring copyright
+ assignments to the FSF. To avoid this major organizational overhead
+ and to allow inclusion of code, not copyrighted by the FSF, this
+ policy has been relaxed. It is now also possible to contribute code
+ by asserting that the contribution is in accordance to the
+ "Libgcrypt Developer's Certificate of Origin" as found in the file
+ "DCO". (Except for a slight wording change, this DCO is identical
+ to the one used by the Linux kernel.)
+
+ If your want to contribute code or documentation to Libgcrypt and
+ you didn't signed a copyright assignment with the FSF in the past,
+ you need to take these simple steps:
+
+ - Decide which mail address you want to use. Please have your real
+ name in the address and not a pseudonym. Anonymous contributions
+ can only be done if you find a proxy who certifies for you.
+
+ - If your employer or school might claim ownership of code written
+ by you; you need to talk to them to make sure that you have the
+ right to contribute under the DCO.
+
+ - Send an OpenPGP signed mail to the gcrypt-devel@gnupg.org mailing
+ list from your mail address. Include a copy of the DCO as found
+ in the official master branch. Insert your name and email address
+ into the DCO in the same way you want to use it later. Example:
+
+ Signed-off-by: Joe R. Hacker <joe@example.org>
+
+ (If you really need it, you may perform simple transformations of
+ the mail address: Replacing "@" by " at " or "." by " dot ".)
+
+ - That's it. From now on you only need to add a "Signed-off-by:"
+ line with your name and mail address to the commit message. It is
+ recommended to send the patches using a PGP/MIME signed mail.
+
+** Coding standards
+
+ Please follow the GNU coding standards. If you are in doubt consult
+ the existing code as an example. Do no re-indent code without a
+ need. If you really need to do it, use a separate commit for such a
+ change.
+
+
+* Porting hints
+** Taking optimized MPI code out of GMP:
I generated the pentium4/* files by glueing the existing assembler
prologues to the GMP 4.2.1 assembler files generated with the m4
@@ -42,8 +95,9 @@ Taking optimized MPI code out of GMP:
tedious work.
-Debugging math stuff:
----------------------
+* Debug hints
+
+** Debugging math stuff:
While debugging the ECC code in libgcrypt, I was in need for some
computer algebra system which would allow me to verify the numbers
diff --git a/doc/Makefile.am b/doc/Makefile.am
index a6bd2ae4..30330bb9 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -17,7 +17,7 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-EXTRA_DIST = README.apichanges HACKING \
+EXTRA_DIST = README.apichanges HACKING DCO \
libgcrypt-modules.eps fips-fsm.eps \
libgcrypt-modules.png fips-fsm.png \
libgcrypt-modules.pdf fips-fsm.pdf \