gtk-gnutella logo
Current version: 1.1.13

Developers Howto

What I'm going to tell you applies to really anyone who wishes to start working on GTKG:

We have quite big projects ahead of us:

  1. Tiger tree hash integration.
  2. Metadata collection for shared files (e.g. for audio, the type, length and the bitrate, for videos: the type of codec, length, resolution on screen. For images, type (jpg, gif) and size. etc...).
  3. Support for XML queries, so that people can search for various types of characteristics on the collected metadata.
  4. magnet: URI support: make GTKG a magnet: handler.
  5. Separation of the core process and the GUI processes.
  6. Redesign of the logging layer, to separate different logs of the various subsystems. Present to the users only the warnings he can understand or do something about.
  7. Skim through all the recorded "feature request" on sourceforge to see whether we have forgotten something. ;-)
  8. Documentation. We lack documentation.

If you wish to participate to Gnutella core development, you also need to register to the GDF (Gnutella Developer Forum).

Also, get familiar with ALL the documentation available in the "Files" section of the GDF, and in the doc/ directory of the gtk-gnutella sources. You don't need to do that in one weekend though ;-) But at least browse it once.

At first, changes you make should be sent via e-mail for integration. The preferred way to make those diffs is via "svn diff". After a few successful patches, when you get used to the code, you will be granted SVN write-access.

You should be aware that our quality standards are quite high. We do not usually commit something that does not work to SVN. Here, "work" means that it has been tested reasonably for a few days, to make sure nothing is wrong.

If after all this you're still willing to help, then I'm sure you have all it takes to be able to do wonders. True wonders. And of course you're most welcome in the "developer's team".

I should add that until now, I have enjoyed working with the other developers:

Richard, of course, is a truly amazing contributor, who always surprises me with the quality of his implementation. Richard has been promoted "co-admin" on the project recently (not that *I* care about those hierarchical distinctions, but they're always nice on a resume).

Vidar, who contributed the swarming code. It took me a whole month to be able to master it and make it evolve, so it says a lot about the complexity and the value of his contribution. Truly impressive work.

Christian Biere, who recently joined, has produced very useful patches. He may be able to comment further on what I said here, and tell you more about his experience, how he managed to learn from the source code, whatever.

All developers join on the #gtk-gnutella of IRC (, and, as a matter of fact, we're all Europeans in the same time zone!

I'm looking forward to a bigger development team that will enable us to do more in less time, for the benefit of our end users!

Raphael Logo   Glade   RSS Feed Available   Ohloh Metrics   Coverity Scan Build Status   gtk-gnutella at GitHub  
gtk-gnutella © 2000-2014 by Yann Grossel, Raphaël Manfredi and various contributors.