В последнее время много говорят о цензуре в выдаче популярных поисковых машин. В адрес создающих эти сервисы компаний регулярно сыплются обвинения в продвижении собственных ресурсов и нарушении антимонопольного законодательства. На днях FSFE (европейское отделение фонда свободного ПО) представило децентрализованную поисковую систему YaCy, которая (в теории) может решить эту проблему.
Идея поискового движка состоит в отказе от централизованных серверов и переходе на архитектуру P2P — результаты поиска формирует система распределённых независимых узлов (в настоящее время в сети около 600 «пиров»). При этом ни один из узлов не может единолично решать, что попадёт в поисковую выдачу.
Руководитель проекта YaCy Михаэль Кристен заявляет: «Значительная часть нашей деятельности в Сети связана с поиском. Поисковая система предоставляет нам доступ к необходимой информации. Мы не можем доверить такую жизненно важную функцию нескольким крупных компаниям и расплачиваться за это личными данными. YaCy — необходимое звено между свободными пользователями и свободной информацией, она возвращает нам контроль над поиском».
«Мы уходим от необходимости централизованно контролировать сервисы. Мы понимаем, насколько важна независимость и инфраструктура, не имеющая единой точки отказа. В будущем мире распределённых систем свободные поисковые системы, такие, как YaCy, займут важное место», — считает Карстен Герлофф, президент FSFE.
Структура YaCy типична для решений подобного рода и состоит из поискового робота (crawler), индексатора для парсинга и анализа документов, базы данных и пользовательского интерфейса. Технические подробности доступны на сайте проекта. Индекс представлен в виде распределённой хеш-таблицы (так называемой DHT — Distributed Hash Table), части которой хранятся у пиров сети. Информация многократно дублируется, что исключает её потерю.
Подключённая к сети машина может собирать и анализировать данные для индекса или просто подключаться к сети для отправки запроса (при этом часть индекса копируется на компьютер и может использоваться для обслуживания запросов как самого пользователя, так и других пиров). Программа позволяет определить размер дискового кеша для индекса и политику участия в обеспечении работы сети. Для обнаружения других пиров используются четыре seed-сервера, но при необходимости движок работает локально — для поиска по собственным ресурсам (участие в сети P2P не обязательно).
Протестировать сервис можно на сайте search.yacy.net, а чтобы стать участником сети, придётся установить программное обеспечение YaCy на компьютер. Для этого потребуется компьютер с установленной ОС Linux, Windows или Mac OS X, а также OpenJDK 6 и приблизительно 4 Гб дискового пространства для индексов и прочего. Всё программное обеспечение распространяется свободно, под лицензией GPL. Не уверен, что этот проект сможет сразу решить все связанные с цензурой и нарушениями поисковиками антимонопольного законодательства проблемы, но перспективы у проекта определённо есть — острота проблемы год от года увеличивается.