MLdonkey FR

From MLDonkey
Jump to: navigation, search

MLDonkey - Client eDonkey opensource

Contenu:

Historique

MLDonkey est développé depuis Janvier 2002 [1] et est hébergé par http://savannah.nongnu.org, un site de développement pour les logiciels libres mais qui ne fait pas partie du projet GNU, depuis le 19 Fevrier 2002. Démarré par Fabrice Le Fessant et Simon Patarin qui travaillent à l'INRIA pour démontrer la puissance du langage Ocaml .

Récupéré de http://pauillac.inria.fr/~lefessan/papers/#icfp2003
Beaucoup de concepteurs de langages fonctionnels ont eu le même rêve: trouver l'application qui tue, en dehors du monde des langages symboliques ( compilateurs, théorèmes démonstrations, DSLs ), qui déploierait leur language dans la communauté open-source. Il y a un an, nous avons pris le taureau par les cornes, et décidé d'utiliser l'ObjectiveCaml pour programmer une application réseau dans le monde emmergent du peer-to-peer. Le résultat de notre travail, MLdonkey, a dépassé nos espérances: il est actuellement le plus populaire client de partages peer-to-peer sur le fameux site freshmeat.net , avec environ 10,000 téléchargements par jour. De plus, MLdonkey est un des seuls clients (comme Shareaza) capable de se connecter à plusieurs réseaux peer-to-peer, pour télécharger et partager. Il fonctionne comme un démon, tourne indépendemment, et est controllable à distance par plusieurs types d'interfaces graphiques (GUI). Dans cet article, nous présentons les travaux effectuées sur son desing et ses implémentations.

MLDonkey fut à l'origine développé comme un vrai clone de eDonkey2000, tournant sur Unix et Linux, un secteur que le client original n'a jamais vraiment conquis. Depuis la version 2, les développements ont été orientés vers les autres réseaux (see OtherNetworksSupported), notamment le réseau décentralisé d'eDonkey2000, Overnet.

L'histoire de MLDonkey est controversée, principalement à cause du fait que le client original a toujours été propriétaire, en termes de code source aussi bien que de protocole de transfert. Ceci a forcé les développeurs de MLDonkey à faire du reverse engineering sur les méchanismes de base, mais ne les a pas stoppés pour autant. Dans bien des cas, de nouvelles fonctionnalités ont été introduites, parfois géniales mais aussi parfois douteuses.

La première controverse concerne les serveurs. MLDonkey a introduit une méthode de connexion simultanée à plusieurs serveurs, amméliorant grandement les résultats de recherche. C'était à une époque où les serveurs étaient relativement petits, et déjà attaqués, principalement par des bots. Trop d'utilisateurs, trop peu de serveurs, un besoin de solutions urgent.

Plus tard, certains administrateurs prétentieux furent de plus en plus préoccupés d'avoir un grand nombre d'utilisateurs assignés à leurs serveurs, plutôt que de l'efficacité du réseau. Ce qui signifiait qu'un client connecté à plus d'un serveur était une menace pour leur "concours" du plus gros serveur.

Des plaintes commencèrent à pleuvoir de certains utilisateurs d'eDonkey contre MLDonkey qui leur paraissait trop efficace, i.e. utilisait une quantité de ressources réseau injuste. Ceci a probablement un rapport avec l'extrême activité des développeurs d'eDonkey2000 pour améliorer leur produit, qui conduisit à des serveurs de plus en plus gros, au lieu de suivre l'approche choisie par MLDonkey : augmenter la connectivité du réseau globalement. De plus, rendre le réseau eDonkey2000 trop efficace aurait gêné le développement d'Overnet, qui est lui-même un réseau sans serveur de haute connectivité, toujours par les développeurs d'eDonkey...

MLDonkey introduisit également un moyen d'échange de sources de fichiers entre clients, rendant ainsi les serveurs moins essentiels, ceci étant bien sûr une menace de plus à l'égo des administrateurs. Bientôt, une étrange alliance se forma entre les développeurs du populaire serveur LugdunumServers, et MetaMachine, la compagnie qui développe eDonkey2000. Ceci résultat en une longue série de tentatives de ban de MLDonkey, bans facilement reproductibles dans la communauté, et dûs à la nature open-source du projet, lui aussi facile à distribuer parmi les utilisateurs.

Il est important de noter qu'en tant que projet Open-Source, l'équipe MLDonkey a toujours proposé ses solutions aux développeurs originaux, autant qu'auprès du reste de la communauté. Cette courtoisie n'a jamais été rendue; MetaMachine insiste pour garder son code et ses protocoles propriétaires.

Un peu plus tard, MetaMachine tourna ses efforts de création vers [[2]], développé à partir du code source de xMule, actuellement listé sur leur page de démarrage comme La Mule pour linux. Avec eMule Overnet, un autre client eDonkey émmergea: eMule. C'est le résultat de nombreuses demandes d'utilisateurs pour avoir (a) une jolie interface et (b) une bonne répartition entre upload et download. Il tourne uniquement sur Windows. Un portage d'eMule vers Linux fut créé |http://lmule.sf.net/, disponible sur Sourceforge; lui même dupliqué plus tard vers |http://www.xmule.org, et enfin aMule obtint le dernier mot sur les secteurs du "partage de fichiers", en faveur d'exigences ultra libérales pour convertir le réseau en un modèle de marché de fichiers, utilisant un système de crédits, de files d'attentes compliquées, et de préférences internes. Le système de crédits n'est plus obligatoire depuis la version 0.28a, même s'il continue à être utilisé entre les utilisateurs d'eMule. Son plus grand défaut était qu'il ne pouvait pas être controlé par une interface distante.

Cependant, les dernières versions d'eMule et aMule (0.45) ont implémenté une interface web permettant un contrôle basique incluant les fonctions de recherche/download/preferences. aMule également implémenta une séparation Core/GUI mais reste pour le moment en phase de développement et n'implémente que quelques fonctions de base. En ce moment (2006) MLdonkey est le seul client proposant un contrôle total de son core grâce à une interface web ou divers GUIs (C/C++/java...).

...

Les derniers développements du client officiel s'attachent à présent à adapter MLDonkey pour lui permettre de se connecter à Overnet. Bien que MetaMachine aie qualifié MLDonkey de pirate pour s'y être connecté, ils ont choisi de le lancer tout de même. Mon explication de paranoïaque est que le développement trop lent du réseau Overnet n'a pas plu à MetaMachine, pas plus qu'il ne satifaisait ses idées de business, alors depuis ce temps ils essaient d'attirer les utilisateurs d'eD2k/eMule pour l'essayer.


De nos jours, MLDonkey a toujours une mauvaise réputation parmis les clients pour avoir été aggressif lors des premières versions. MLDonkey reste le seul client supportant MacOSX et le seul client natif pour MorphOS

Quelques Choix de design MLDonkey sont assez différents d'eMule, et souvent mal compris.

Par exemple Limitation de slots d'eMule.



LanguagesEnglish  • Français  • Русский  • 中文

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox