But if you're interested in the original Gnutella, you can find some Java clients in here.
I'd recommend Phex (
Phex - Home), since I know that the developer gladly helps other developers, and that changes you share back have a very high chance to get into the main client, so you can really make a difference.
Additionally the source feels cleaner to me than that of LimeWire (but that could be only me), and Phex isn't controlled by a company.
Besides: Gnutella2 is no successor of Gnutella. It is a different protocol which was given that name for marketing reasons (and it's design has similarities), and the first programmer of it (Mike) said a few years ago that he began to see it as mistake that he chose that name.
Besides, again: You can find information about the inner workings of Gnutella at two places:
- Gnutella for Users: The concepts in easily understandeable language:
Main Page - Gnufu
- The Specification:
Gnutella Protocol Specification - Gnutella Specification
Good luck with your research!
Arne