1 Information for Newcomers
First of all, many thanks for your interest in collaborate in the development!
Here you will find some useful information to get started.
- Getting a copy of the sources
The first step to perform is to get a local copy of the development
sources. Just install a GNU Bazaar client and issue the following
To get the sources of the GNU PDF Library from the trunk:
$ bzr branch bzr://bzr.savannah.gnu.org/pdf/libgnupdf/trunk
- Getting familiar with GNU Bazaar
We are using the GNU Bazaar 1 version
control system. Before to be able to contribute code to this project
you should get familiar to the usage of Bazaar.
The GNU Bazaar User Guide
is very good. In the Bazaar site (http://www.bazaar-vcs.org)
you will also find useful tips for people coming from other VCSs such
as CVS or subversion.
The “Bzr For Emacs Devs” page in the Emacs wiki provides detailed
information on the workflow used in the Emacs project. Even if we
don't follow that exact workflow, most of the guidelines there apply
in the GNU PDF development. You can find the document at
- Subscribing to the development mailing list
GNU PDF developers communicate using the firstname.lastname@example.org
mailing list. Most of the work in the development is discussed there,
so you definitely want to subscribe to it if you are going to write
Goto the pdf-devel mailman web interface in
http://lists.gnu.org/mailman/listinfo/pdf-devel and set up your
subscription. Then, send a first email introducing yourself.
There is another mailing list email@example.com that is used
by the Flyspray installation to send change notifications of tasks.
You can subscribe to this mailing list at
- Getting familiar with Savannah
Savannah is the central point of development for GNU software. The GNU
PDF project has a savannah project in
- Getting familiar with the library
Take a look to the design of the library and the source code. The
documents to look at are the “GNU PDF Library Reference Guide”
(available in doc/gnupdf.texi) and the “GNU PDF Library Architecture
Manual” (available in doc/gnupdf-arch.texi).
There is useful information in the README-dev file located at
the root of the source distribution. In particular the dependencies
that you need to have installed in your system are detailed there.
If you have doubts about any aspect of the library or the
implementation, just ask in pdf-devel.
- Getting familiar with the GNU standards
The GNU PDF Library is a GNU package. That means we should follow the
GNU Standards to ensure quality and compatibility with other parts of
the GNU Operating System.
You should be familiar with the GNU Coding Standards before to write
code for the GNU PDF library. You can read it online in
- Getting familiar with our coding conventions
Read our Hackers Guide (this very document) for several conventions we
use when writing source code.
- Taking a task to work on
Please read the documentation on tasks management in
If you want to work in a NEXT task, please be sure to state your
interest in the pdf-devel mailing list before. The developers in the
pdf-devel mailing list can guide you towards the more convenient task
for you to take and can give valuable advice about how to implement
- Signing papers
The GNU PDF codebase is copyrighted by the Free Software
Foundation. This is a way to strength the GPL. That means that we need
you to sign papers before to be able to integrate your code in the
distribution. There are several ways to get this done. Please ask in
pdf-devel for the details.
- Sending patches for inclusion
If you have written a patch you want to be included in GNU PDF, please
send it to the pdf-devel mailing list. Your patch will be then
discussed and maybe accepted.