Gnutella
Gnutella (pronunciado sin la 'g') es un proyecto de software distribuido para crear un protocolo de red de distribución de archivos entre pares, sin un servidor central.
El primer cliente fue desarrollado por Justin Frankel y Tom Pepper de Nullsoft, (ahora) una división de AOL, a principios del año 2000. El 14 de marzo de ese mismo año, el programa fue hecho disponible para descargar desde el sitio de Nullsoft. El código fuente fue liberado poco más tarde, supuestamente bajo los términos de la licencia GPL. El evento fue anunciado de inmediato en Slashdot, y el programa fue descargado masivamente ese día.
Al día siguiente, AOL detuvo la disponibilidad del programa debido a problemas legales y prohibió a la división Nullsoft continuar trabajando en el proyecto. Esto no fue el fin de Gnutella; unos días más tarde el protocolo había sido descifrado por ingeniería inversa y varios clones de código abierto comenzaron a emerger. Este desarrollo paralelo de distintos clientes por distintos grupos continúa siendo hoy la manera en que se realiza el desarrollo de Gnutella hoy.
La red Gnutella sería una alternativa completamente distribuida a sistemas semi-centralizados como Napster. La popularidad inicial de la red fue estimulada aún más tras la caída de Napster en el año 2001 por causas legales. Este crecimiento en popularidad reveló rápidamente los límites de la escalabilidad inicial del protocolo. A principios del 2001, algunas variaciones del protocolo (liberadas al principio como clientes de código cerrado) mejoraron en alguna medida la escabilidad del protocolo. En vez de tratar cada usuario como cliente y servidor, algunos usuarios pasaron a ser tratados como "ultrapares", enrutando peticiones de búsquedas y respuestas para los usuarios conectados a ellos.
El nombre 'Gnutella' es un juego de palabras entre GNU y Nutella (un dulce). Supuestamente, Frankel y Pepper comían mucho Nutella mientras trabajaban en el proyecto original y utilizarían la licencia GPL de GNU para el programa terminado. Gnutella no se encuentra asociado con el proyecto GNU.
Programas con soportes del protocolo
- BearShare (Windows)
- Casbos (multiplataforma, escrito en Java)
- LimeWire (multiplataforma, escrito en Java)
- Gnucleus (Windows)
- Shareaza (Windows)
- gtk-gnutella (GNU/Linux, Unix)
- MLDonkey (GNU/Linux, Windows)
- Acquisition (Mac OS X)
Otros Programas P2P
eMule, Lphant, BitTorrent, Freenet, Entropy, aMule, Ares Galaxy, Audiogalaxy, Ktorrent, Napster, Pando_(programa), Marabunta