Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F20064718
HACKING
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
4 KB
Subscribers
None
HACKING
View Options
# HACKING -*- org -*-
#+TITLE: Hacking notes for Libassuan
#+STARTUP: showall
* How to contribute
The following stuff explains some basic procedures you need to
follow if you want to contribute code or documentation.
** No more ChangeLog files
Do not modify any of the ChangeLog files in Libassuan. 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
** 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. See below for the required commit log format.
** 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.
Here is an example of a commit message:
#+begin_example
Make new functions also visible on non-W32.
* src/system-posix.c (__assuan_read, __assuan_write, __assuan_recvmsg)
(__assuan_sendmsg, __assuan_waitpid): Make functions global.
* src/libassuan.vers: Add above functions.
* configure.ac: Set version to 2.1.0-git.
--
Note that everything after the above tear off marker will not be
copied to the ChangeLog during a "make dist". You may use this to add
extra information about this commit which are mostly relevant for your
co-hackers. Recall that the ChangeLog itself fulfills requirements of
the GPL and is useful for quick history checks of a released version.
Developers will use the git log.
#+end_example
If you don't want a ChangeLog entry at all, use this:
#+begin_example
Give examples for commit logs.
--
Because the tear off line is the first line of the body, not even the
summary line will be copied to the ChangeLog. Using only the tear off
line without any text is often useful for commits like "Typo and
grammar fixes."
#+end_example
** License policy
Libassuan is currently licensed under the LGPLv2+ with tools and the
manual being under the GPLv3+. 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; in particular we can't accept code under the GPL or LGPL
without the "or any later version" term.
Being developed as part of GnuPG-2, Libassuan 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 "Libassuan 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 Libassuan 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 gnupg-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.
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Feb 23, 7:27 PM (1 d, 35 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
86/1a/9b8b300be24c88ef6adeedc2e3b4
Attached To
rA Assuan
Event Timeline
Log In to Comment