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 helping Savannah.

Examples of tasks done by Savannah volunteers:

  1. Evaluate and approve non-gnu packages 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 package 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.

You can send your contributions to savannah-hackers-public@gnu.org. 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 group, which will enable the "Become Superuser" option in the left-hand menu. Then you can approve new packages for hosting and do many other things through the web interface. Please explore.

Communication

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.

Package evaluation and approval

To be hosted on Savannah, software must comply with our hosting requirements.

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

You can help with package 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 package. See also Mario's guide for reviewing software. You can also read past submissions (and responses) on the Savannah-Register-Public mailing list.

Pick a pending unassigned task in administration task list: https://savannah.gnu.org/task/?group=administration

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

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

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" group (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 http://savannah.gnu.org 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.

You are encouraged to hack on the frontend code! Either adding new features, improving the code, or fixing bugs. See open support requests.

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 savannah-hackers-public@gnu.org.

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 savannah-hackers-public@gnu.org.

The list of all pages is on the FrontPage.

Suggestions for wiki improvements:

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

  3. DebBugs documentation - The GNU DebBugs server http://debbugs.gnu.org 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 https://lists.gnu.org/archive/html/help-debbugs/2015-01/msg00003.html.

Developing new features

New features are welcome! Do send ideas (and patches) to savannah-hackers-public@gnu.org.

See SavannahHackingIdeas for possible starting points.