Contributing to Savannah

We need volunteers and look forward to your participation. This page is about becoming a savannah hacker (e.g., a savannah website administrator) and help savannah.

Examples of tasks done by savannah volunteers:

  1. Evaluate and approve non-gnu projects submitted for hosting.
  2. Help savannah users, whether with questions or support issues.
  3. Administer the savannah servers and services.
  4. Improve the savannah web frontend code.
  5. Improve this wiki.
  6. Develop new features for the savannah environment.

A good starting point is helping with project evaluation (see below). Some tasks require administrator-level access to the website and the servers (see ShellAccess). Others can be done by anyone willing to help.

Send your evaluation/contribution/patch to Please also include a bit about your background with free software, GNU, Savannah, or whatever else may be relevant. And your savannah account name.

When accepted, you will be made an administrator of the administration project, which will enable the "Become Superuser" option in the left-hand menu. Then you can approve projects and do many other things through the web interface. Please explore.


For communication with other savannah folks, see SavannahHackersCommunication, which includes info on mailing lists you should subscribe to and use.

Read the CodeOfConduct to understand how to communicate with our users with politeness.

Project evaluation and approval

To be hosted on savannah, projects must comply with the hosting requirements:

Savannah volunteers evalute only non-gnu projects (gnu projects are evaluated by the gnu evalution team).

You can help with project evaluation before becoming a savannah administrator; indeed, we recommend doing this as a first step for anyone who wants to help savannah.

Read HowToGetYourProjectApprovedQuickly, which explains in detail what a submitter should check, but also serves as a guide for savannah hackers reviewing the project. See also Mario's guide for reviewing projects. You can also read past submissions (and responses) on the Savannah-Register-Public mailing list.

Pick a pending (non-assigned) task in savannah's task list:

Read it, then write the answer that you would make as the savannah reviewer.

If you wish, you can use the savannah hackers' macros file for emacs or vim (savannah.[el|vim]) to help in writing your answer. It is good information to know in any case. See:

git clone git://
ls administration/approvals/

When your answer is ready, send it (with a link to the task) at and one of the current savannah hackers will answer as quickly as possible.

An attempt to automate some of the evaluation process is in beta at Contributions and improvements to this project are very welcomed (see source code).

Helping savannah users

See the Savannah Support Tracker and the Savannah-users mailing list for examples of user questions and requests. Many of these items require administrator access to savannah servers, but some are general usage questions, and others deal with bugs in the website frontend code - those can be handled locally (see 'working on savannah website' below).

Working on Savannah internals

The above is about helping as a Savannah administrator via the web interface. If you are willing and able to hack on the Savannah (Savane) implementation itself, at the shell/sysadmin level, please essentially do the same as the above with one of the open support requests.

The active source code is in the "administration" project (using several of the VC systems). SavaneRewrite has a bit more history.

When accepted, some info about getting in at the shell level is at ShellAccess.

For general information, read the SavannahServices, SavannahInternals, UserAuthentication, GnuArchitecture pages.

Working on the Savannah website

The savannah website is written mostly in PHP with a MySQL database backend and some Perl scripts. An overview is available at SavannahInternals. The PHP code (with a stub database) can be run and developed locally, without administrator access. see RunningSavaneLocally and SavaneInABox.

You are encouraged to hack on the frontend code! Either adding new features, improving the code, or fixing bugs. See open support requests, e.g.: #107935, #13284, #13285, #13286.

Please be aware that the code base is quite old and delicate: before starting to work on a new feature, be sure to discuss it at

Improving this Wiki

The savannah wiki pages can always be improved. You can help without being a savannah administrator. See 'Running this wiki locally' section at HowToAdminThisWiki. Add your improvements, and send a patch to

The list of all pages is on the FrontPage.

Few suggestions for wiki improvements:

  1. Running parts of savannah locally (e.g., RunningSavaneLocally, SavaneInABox) - testing, verifying and improving the instructions.
  2. FrontEnd documentation - (e.g., SavannahInternals) - improving and expanding this page, or creaeting a new page focused on the php code.

  3. DebBugs documentation - The GNU DebBugs server uses a customized version of DebBugs. It would be very beneficial to document the installation, configuration, and perhaps even instructions on how to setup such a server locally. Gathering this information will require not only tinkering with the debbugs source code but also soliciting help and advice from other volunteers. Be sure to be polite and patient with them. See

Developing new features

New features are welcomed! Do send ideas (and patches) to

See SavannahHackingIdeas for possible starting points.