Developer and Contributor Area

People ask us how they can help the NetSurf project. This section of the site is here to help people contribute to the project. You should be able to find all you need here. If not, please contact us!

Contributing to NetSurf

Everyone is very welcome to help NetSurf! There are all sorts of ways to contribute to the project.

Publicity
Help spread the word! NetSurf needs user, contributor and developer participation to stay vibrant.
Provide feedback
If you'd like to be involved in the future direction of NetSurf's development you can help by making feature requests and bug reports. Discussion of what you like and dislike about NetSurf is useful to the developers.
Non-programming contribution
If you'd like to contribute directly to the project but can't program, there are still many ways for you to participate. Details in the contribution guide.
Programming
If you can program then you are welcome to join the developers! If there's some aspect you'd like to improve, or feature you'd like to implement, contact us via the developer mailing list or on IRC and go from there. Also, see the instructions for submitting patches.

Take a look at the contribution guide for more ideas and information.

Run bleeding edge NetSurf

The most important way though which NetSurf users can contribute to the NetSurf project is by regularly testing the current development builds and providing feedback.

RISC OS users can download a precompiled test build, which can be installed and run in exactly the same way as NetSurf releases. Users of other platforms can obtain the latest source code and follow the simple compilation instructions.

Once running the latest build you can browse the web as normal and let us know if you run into problems. Does the browser crash? Can you reproduce the crash? Did it crash at a specific site? What was the URL? Do you like the new features of the development build? How could NetSurf's interface be improved? These and more are the sorts of questions we're interested in your answers to. Our goal is to make NetSurf a piece of software everyone loves to use, and to do that we need your input!

The NetSurf documentation contains guidelines for making feature requests and reporting bugs.

Submitting patches

If you've developed a patch for NetSurf you can send it to us by either:

  1. Putting it on the patch tracker.
  2. Posting to the NetSurf Development mailing list and attaching the patch.
  3. Giving the patch to one of the developers in the NetSurf IRC channel.

If it is a tiny patch, the third option is best. Otherwise use the first or second.

Our pictorial Style Guide (single-page PDF) shows our code style.

Porting NetSurf

We are always interested to hear from people porting NetSurf to different hardware or operating systems. If you are keen to port NetSurf to a new platform please get in touch. NetSurf's developers are keen to ensure NetSurf is highly portable, so feedback is appreciated.

We would be especially interested in hearing from anyone who could implement the NetSurf user interface under Windows.

Getting NetSurf source code

The source is kept in a Git repository. To check the latest source out use the command provided in the developer documentation.

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

It is also possible to browse the source online via the web interface.

Contact the other developers

If you want to contribute to NetSurf, the best thing to do is to get in touch with the developers. NetSurf's core development team communicate a great deal via IRC and also via the developer's mailing list.

If you speak with the developers, you may find someone has already started what you intend to do or already put considerable thought into how to do it.

General information

We intend to make new major releases of NetSurf every year or so. These will happen when there are enough new features in the development versions to justify a new release. Prior to releases, addition of new features will be halted, and only bugfixes will occur. Major new releases will be made when NetSurf is sufficiently stable and the development version contains significant features that have not yet been released.

The progress page gives an indication of the current status of NetSurf's features.