That's hard for me to answer. Are you helpful to who? I'm sure the potential users of your database would find you (and it) helpful. As for gnutella, the main thing holding it back isn't really any lack of know-how or good programmers - it's just getting everyone to work together and in the same direction.


[b]

Sure there's life in Gnutella, but from a practical standpoint, it's not the greatest protocol for what you describe.

From what I understand, you want a distributed way to share data between users of your database. For this Gnutella's community of users isn't really an advantage at all, in fact, you may be working a cross purposes. I'd guess you need stability and functionality more than you need a large pre-established user base sharing other kinds of stuff.

I'm not sure how far giFT has come, but FastTrack is a very well established and solid protocol. Actually it has far more users than Gnutella does (or presently could), but, until giFT, access to it has been locked behind company doors. Still I think it would have a much better chance of working. If you use gnutella you'd face some major problems...

1) There's no good way to isolate sub-nets. Some early hacks were attempted, but for the most part there isn't enough agreement between peers for it to work. Your traffic would mix with everyone else's and your users could never find each other. It's made worse because of reason two...

2) Gnutella doesn't scale well. Lots has been made of this issue, and many claimed it would lead to Gnutella's eventual collapse. This isn't what happens though. Gnutella keeps working, but nodes cluster into groups that pretty much can't see each other. As you add more users, the chance of any two seeing each other's files gets increasingly slim - but you can still find lots of files in general. If you're looking for popular files, it's not a problem, but if your looking for something shared only by some guy in Topeka, you're out of luck.

FT protocol solves this quite well with "supernodes" which help give the network a more hierarchical structure. Gnutella developers are working on "superpeers", but it's still experimental, just a copy of what FT already does, and isn't likely to be generally supported for some time.

giFT's openFT should be both scaleable and encrypted. This means your users will be able to find each other, and using a unique crypto key will keep your special-purpose P2P network free of noise - both intentional and accidental.

The challanges facing gnutella are not technical. Good answers exist to all its problems, but politics (unfortunate) and backwards compatibility (painful but necessary) have held things back.

Anyway, my question is, for special-purpose P2P, how is Gnutella's community of any advantage at all? Especially considering it's just not very well suited to what you're trying to do. Why drag that particular albatross around when all you really need is functional protocol?