Development
Links
Call for help
The current version of gtk-gnutella is running well, but it is not up to date with all features of the latest Gnutella standards. The "major players" of Gnutella (Limewire, BearShare, Shareaza, Gnucleus) implement features like Tiger Tree Hashing. gtk-gnutella supports this only server-side as of yet. Other possibly interesting features are XML-Query schemes (e.g. searching by title, size, genre of files), and Download Proxies.
On the other hand, gtk-gnutella has some features the major players lack, such as PARQ for passive queuing, TLS support for encrypted connections and IPv6 support. gtk-gnutella is also a very efficient C implementation with a low memory footprint and low CPU usage. It's probably among the fastest clients today.
Raphael Manfredi and Richard Eckart, the current lead developers, are doing a great job, however Richard is busy with university and Raphael has job and family, so their time for coding is limited. Since GTKG is open source, it depends on people improving it.
Now to the important questions:
- Do you know C well enough to start helping to code new functionalities into gtk-gnutella, to help make it the best native Unix client?
- Do you have literary skills and/or a taste for good documentation? GTKG currently lacks good documentation, and the current developers are busy... developing, to be precise.
- Do you want to contribute, but do not know exactly what to do?
If yes, subscribe yourself to the developers mailing list and send a message to it. Don't start to code right now, let's see if there are other people that want to help implementing the same thing and make a team with them. Please also read the "Developers Howto".
To get the latest development version, you can always use the Git repository of gtk-gnutella. Warning: As a development version, the current version may be unstable or even not compile right on your machine. If you're just interested in getting an overview of the different files you can browse the repository on the web.
To get the files from Git just type in the following command:
git clone https://github.com/gtk-gnutella/gtk-gnutella.git
To learn about the important branches in the Git repository, see the Git Quick Guide or the Git Advanced Guide.
If you want to contribute to the development of gtk-gnutella please visit our SourceForge Project Page where you can subscribe to the gtk-gnutella-devel mailing list and post your patches, bug reports and feature requests to our bug tracker, thank you.
GIT snapshots
Snapshots of the most recent source code can be downloaded here.