Developer Information

This document contains various information for developers or anyone interested in contributing to NetSurf.

Last updated 11 November 2007

Source control

The source is kept in a Git repository. To check the source out use the command:

$ git clone git://

You can also browse the source via the web interface.

Recent changes can be seen on the development page. An an RSS feed of recent changes is also provided by CIA. All checkins are reported on the Commits mailing list.

Contact Daniel Silverstone to get write access to the Git repository. We also accept pull requests from places such as github.


The recommended compilers are GCC or Clang. Guides to building NetSurf for various platforms are available in the source tree.

The autobuilder compiles every change pushed to our Git repository. It also runs test suites and other features automatically.

A debug version of NetSurf can be built. This is command-line only and does not include any GUI code. It runs natively on Linux so can be debugged and checked using gdb, efence, valgrind, etc.


NetSurf requires a number of additional libraries to build. Consult the documents in the Docs directory of NetSurf's source tree for more info.

Source documentation

See the Docs directory for source code documentation. Our pictorial Style Guide (single-page PDF) shows our code style.


The main method of communication between the developers is the #netsurf IRC channel.

The developers' mailing list is also used for less transient communication.


Translations of NetSurf to other languages are welcome. No programming knowledge is required, just the ability to use a template editor and a text editor. Please see the translations page for more information.