Thx for your posting! I agree, Freeloaders are not evil and should IMHO not generally be blocked or tortured (hehe).
I use this opportunity to repost some of my friendly anti-freeloading ideas: My favourite solution is
Swarming. Swarming means to distribute small parts of files all over the network and every servant takes part (even modem users). Please read more about advantages and technical details in
this link. For a modem user swarming does not significant decrease the download bandwith, it uses only a short amount of his capcity (1-10%).
Also I think a philosophy of "
healthy servant behaviour" is a very good idea (read more at Limewire [1]). For example a servant should allways share the download folder and allways allow 1-n upload slots (n depends on uplink bandwith) with a _minimum_ bandwith, e.g. as eDonkey or Xolox does. Gnutella servants which allow zero upload slots (most servants do), do support freeloader and therefor are unhealthy to the network. Especially this behaviour must be stopped IMHO!
And finally the anonymous Gnutella network should be turned into a
real community. Inside an anonymous network people intend to "take and go"... a community would encourage people to a much more cooperative behaviour. To achieve this goal there are various ideas: The users need a personal contact, a chat between clients. We should build structures which strengthen communities, e.g. more specialized horizons where people of a special interest (music taste, gamers, coders, etc) can find each other. People with similar interest intend to be more cooperative to each other. Or how about showing a "gnutella karma" (or call it a generousity indicator) which shows how much you have downloaded and how much you have given back. Let's imagine there is a chat ability between future clients and you will see the generousity/karma (together with a title from 'A++ superpeer operator' to 'Big sharer' to 'whining milkdrinking freeloader') of your opponent... All this together could encourage users to be more cooperative, to be a part of the network. Gnutella means sharing.
Some of my ideas. hope you like it, Moak.
[1] LimeWire article about Network Healt
http://www.limewire.com/index.jsp/med_require