MLDonkey


MLDonkey — кроссплатформенный файлообменный клиент с открытым исходным кодом, поддерживающий большое количество протоколов и P2P-сетей.

Написан на языке OCaml, вместе с ним использованы Си и ассемблер. Проверена работа клиента в следующих операционных системах: Linux, Unix, Solaris, macOS, MorphOS и Windows.

MLDonkey был задуман и написан Фабрисом ле Фессантом[1] и Симоном Патариным[2], сотрудниками Французского национального исследовательского института вычислительной техники (INRIA), как программа, которая возбудит распространение языка OCaml в сообществе открытого ПО[3]:

У множества проектировщиков функциональных языков есть одна мечта: найти приложение-«приманку», вне области символического программирования (компиляторов, доказателей теорем, специализированных языков), которая заставит их язык получить распространение в сообществе открытого ПО. Год назад мы работали над этой проблемой и решили написать сетевое приложение в зарождающейся области пиринговых систем.

Первая общедоступная версия MLDonkey была опубликована в январе 2002 года[4] и размещена на хостинге Savannah[5] (с версии 2.7.1 релизы также выкладываются на SourceForge[6]). Первоначально программа поддерживала только сеть eDonkey2000; после выхода версии 2 была добавлена поддержка других сетей — Overnet, BitTorrent, Kademlia и Direct Connect[7].

Развитие MLdonkey всегда сопровождалось спорами, в основном основанными на том, что оригинальный клиент eDonkey и протокол Overnet были коммерческими. Это вынудило разработчиков MLDonkey использовать при разработке метод обратной разработки, чтобы реализовать основные функции, но на этом они не останавливались, добавляя различные дополнительные возможности, не все из которых были удачными и полезными.