[WARNING: TANGENTIAL, INCOHERENT RANTING AHEAD]
Well, I think that Gnutella is carpy without ultrapeers. You should check out Direct Connect; the admins exort evil, czar-like power over the users (I was banned from my favorite hub recently because I accidentally shared an exe file), but the restrictions keep the hub free of leechers and generally make everyone happy. Wouldn't it be nice if you could actually find the rare file you were looking for on Gnutella? Well, if there was a 5GB minimum share to access the network, I'll bet you could.
LimeWire is an excellent step in the direction of DC, with its freeloader blocking and ultrapeers; I run FreeWire myself. BearShare, however, is corroding the Gnutella network; because of the BearShare black hole, the only way you can get into its part of the network is to have a seperate cache for BearShare and all other clients. No client I know does this.
A perfect Gnutella network would have everyone using minimum shares except for the people who are OK with the idea of freeloaders sucking their bandwidth. Ultrapeers would be the norm, but there would also be connections to other clients in case an important ultrapeer shut down. Oh, and clients would be able to discriminate on the basis of filenames shared (e.g., .vbs files would get you kicked from the network), there would be a common chatroom that echoed across the network, and BearShare-like black holes would be nonexistent.
Dream on, Ashi.