Next: , Previous: Top, Up: Top

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 commands.

To get the sources of the GNU PDF Library from the trunk:

     $ bzr branch bzr://

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 2 is very good. In the Bazaar site ( 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 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 some code.

Goto the pdf-devel mailman web interface in and set up your subscription. Then, send a first email introducing yourself.

There is another mailing list 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 Tasks management.

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 it.

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.