Diaspora (социальная сеть)

Diaspora (стилизировано diaspora*, с разбросанное или рассеянное население) — некоммерческая распределённая децентрализованная социальная сеть, построенная на основе одноимённого свободного программного обеспечения с открытым исходным кодом. В марте 2014 года количество аккаунтов в Диаспоре насчитывало более 1 миллиона. Проект запустили в 2010 году четыре студента — Илья Житомирский, Дэн Грипи, Макс Салсберг и Рафаэль Софир. Диаспора состоит из группы независимых стручков (Pod), которые, взаимодействуя друг с другом, образуют сеть.

Социальная сеть поддерживается сообществом и не принадлежит ни одному человеку или организации, что защищает её от корпоративных захватов, рекламных кампаний и прочих угроз. Социальная сеть входит в состав Fediverse.

Технология 
Диаспора состоит из сети взаимосвязанных узлов, или стручков, которые располагаются у разных людей и организаций. Каждый узел работает на своей копии движка, являясь по сути отдельным веб-сервером. Пользователи сети могут создать аккаунт на любом из этих серверов, но при этом будут взаимодействовать со всеми остальными серверами.

История 
Идея создания проекта появилась у группы 5 февраля 2010 года после выступления профессора Колумбийского университета Эбена Моглена «Freedom in the Cloud» («Свобода в облаке»), в котором Моглен охарактеризовал централизованные социальные сети как «бесплатных шпионов». В своём интервью New York Times Салсберг сказал: «Когда вы даёте им информацию, вы отдаёте её навсегда… То, что они дают нам, незначительно по сравнению с тем, что они делают, и тем, что мы целиком отказываемся от приватности». Софир заметил: «у нас нет необходимости в том, чтобы передавать свою переписку на сервер. То, что даёт вам фэйсбук, не так уж сложно повторить: все эти небольшие игры, маленькие стенки сообщений, простенький чат — не такие уж редкие вещи. Эти технологии давно существуют. Но фэйсбук это не то, к чему мы стремимся».

Группа решила обратить внимание на эту проблему с помощью создания распределённой социальной сети. Чтобы собрать необходимую для проекта сумму, была открыта кампания на Кикстартере. За первые 39 дней планировалось собрать 10 000 $, но изначальная сумма была набрана за 12 дней, а всего проект получил более 200 000 $ от 6000 пожертвовавших. Это сделало проект вторым по успешности на тот момент на Кикстартере. Среди пожертвовавших был и основатель Фэйсбука Марк Цукерберг, перечисливший неизвестную сумму.

12 ноября 2011 года один из основателей, Илья Житомирский, скончался. Причина его смерти неизвестна, однако источники издания CNNMoney сообщили о возможном самоубийстве.

В августе 2012 года первоначальный коллектив разработчиков передал проект под управление сообщества. С этого момента первоначальные разработчики отстранились и больше не принимали участия в развитии проекта и разошлись по другим проектам. Со временем образовалась основная команда разработчиков проекта из представителей сообщества, т. н. core team. Core team — это активные участники разработки с правом коммита в репозиториях проекта на GitHub, ответственные за выпуск релизов и за управление разработкой с учетом интересов сообщества. По состоянию на 2016—2017 годы все разработчики core team — жители Германии. Неформальным руководителем проекта является Dennis Schubert, который работает в Mozilla в качестве своей основной работы.

Проекты Friendica и Hubzilla реализовали поддержку протокола федерации Диаспоры. Таким образом воплотилась концепция Федерации, общей платформы социальной сети, объединяющей различные федеративные платформы социальных коммуникаций.

По показаниям серверов статистики Федерации, количество уникальных пользователей Федерации в месяц в 2015—2017 годах колеблется около отметки в 20 000. Значительное большинство из них (около 90 %) составляют пользователи Диаспоры.

Разработка 
Работа над движком Диаспоры началась в мае 2010. Developer preview версия была выпущена 15 сентября и раскритикована за многочисленные уязвимости.

Первый «под» Диаспоры был запущен командой разработчиков 23 ноября 2010 года в виде закрытой альфа-версии.

После выхода Диаспоры схожие функции стали появляться и в других социальных сетях. В сентябре 2011 года разработчики отметили, что «круги» в Google+ копируют по фукциональности «аспекты» Диаспоры, а в Facebook появились дополнительные настройки приватности. То, что Google взял что-то от Диаспоры, было предметом гордости Ильи Житомирского, хотя Google и отрицал, что диаспора оказала влияние на их дизайн.

В октябре 2011 разработчики Диаспоры анонсировали кампанию по сбору средств. За несколько дней было собрано более 45 000 долларов, но Paypal без каких-либо объяснений заморозил аккаунт Диаспоры. После большого количества жалоб и угрозы судебного преследования аккаунт с извинениями был разморожен, однако никаких объяснений так и не последовало. Этот инцидент показал необходимость альтернатив этой системе оплаты, таких как, к примеру, Stripe или Bitcoin.

Сайт проекта Диаспора открылся 29 сентября 2011 года.

В феврале 2012 года разработчики провели исследование, результаты которого изменили направленность проекта. Они выяснили, что в отличие от других социальных сетей, в которых пользователи общаются, в основном, со своими знакомыми из офлайна, пользователи Диаспоры общаются с незнакомыми людьми по всему миру. В то время как традиционные социальные медиа в большинстве своём работают с повседневными делами, значительная часть трафика Диаспоры приходится на идеи и социально значимые явления. Вследствие этого разработчики решили внести изменения в интерфейс, чтобы сделать его удобнее для более долгого и детального обсуждения сложных тем по мере продвижения проекта к бета-версии.

Летом 2016 года была закончена масштабная переработка (рефакторинг) кода, отвечающего за функционал федерации (обмен между узлами сети). Эта работа была выполнена разработчиком по имени Benjamin Neff и заняла около года. Благодаря этой работе код федерации был вынесен в отдельный модуль (Ruby Gem). Таким образом стало возможно интегрировать функционал взаимодействия с узлами диаспоры в произвольное Ruby on Rails веб-приложение. Впрочем, на 2017 год не известно ни одного другого Rails проекта, использующего этот модуль.

Возможности 
Существует ряд уникальных возможностей диаспоры, которые обусловлены ее архитектурными решениями и которые недоступны пользователям больших коммерческих социальных сетей, таких как Facebook.

Видимость постов 
Движок диаспоры позволяет пользовательским постам быть либо «публичными», либо «ограниченными». Во втором случае посты может прочитать только определённая группа или несколько групп, указанных пользователем из его «аспектов». Помимо групп, существующих по умолчанию, таких как друзья, семья или работа, пользователь может создавать и свои собственные. Также есть возможность читать посты другого пользователя без взаимного добавления в друзья, как в других социальных сетях. Лента пользователя может быть отфильтрована по «аспектам» (группам контактов).

Благодаря возможности размещать в своей ленте «ограниченные» посты у пользователя появляется возможность делиться своими мыслями со своими подписчиками, при этом существенно снижая риск того, что эта информация попадет к злоумышленникам, будет использована против пользователя, а также, что его слова могут быть использованы в качестве основания для преследования, травли или репрессий. После отправки «ограниченного» поста невозможно изменить круг тех, кому он виден, поэтому пользователь может быть уверен, что информация доступна только тому кругу лиц, кому она предназначалась изначально.

Децентрализация 
Децентрализованная структура сети означает, что она не находится исключительно в одном месте и не контролируется только одной организацией. Любой может использовать движок Диаспоры, чтобы открыть свой стручок (сервер) и объединить его с остальной частью соцсети. Вы можете использовать стручок сами, вместе с друзьями или семьёй, что даёт вам полный контроль над вашей личной информацией (включая ваше имя, сообщения и фотографии) и тем, как вы это храните и какие права даёте другим пользователям. Или вы можете просто зарегистрироваться на любом открытом стручке.

Децентрализация значительно усложняет цензуру в сети: копии постов существуют на каждом стручке, где есть подписчики у автора поста. Поэтому цензору для удаления информации из сети придется удалить каждую копию, что может быть сложно при условии, что серверы находятся в разных странах. Таким образом, Диаспора имеет хороший потенциал в качестве площадки для независимых СМИ.

Другие особенности 
Пользователи Диаспоры сохраняют права на свою информацию и никому их не передают. Движок предоставляет возможность в любой момент скачать все отправленные сообщения и загруженные изображения и удалить аккаунт.

Диаспора поддерживает синтаксис markdown для форматирования сообщений.

Экспорт сообщений в facebook, twitter, tumblr и wordpress.

Поддерживается интеграция с XMPP: есть встроенный во фронт-энд Диаспоры XMPP клиент. В то же время можно подключаться по XMPP используя свои diaspora* ID и пароль через любой XMPP клиент. Все контакты из Диаспоры автоматически добавляются в ростер. При этом произвольные контакты XMPP тоже можно добавлять в ростер.

Поддержка встраивания видео и аудиосервисов, таких как youtube, vimeo и soundcloud. С августа 2013 года появился предпросмотр внешних сайтов по ссылкам в сообщениях.

В Диаспоре, в отличие от многих других социальных сетей, псевдонимы разрешены и пользователи не страдают от внезапных блокировок аккаунтов.

Ограничения 
Децентрализованность накладывает ряд ограничений на возможности Диаспоры и в целом затрудняет процесс разработки.

По состоянию на 2017 год в Диаспоре не реализована возможность редактировать посты или комментарии. Технически это возможно (и реализовано в менее популярных Friendica и Hubzilla), но из-за относительной сложности задачи и ограниченности ресурсов у проекта эта востребованная возможность до сих пор остается не реализованной.

Несмотря на то, что в ПО Диаспоры присутствует возможность удаления своих постов и комментариев, технически нет возможности гарантировать, что другой стручок действительно их удалит. Существует возможность изменить исходный код стручка таким образом, чтобы он не удалял пост при получении такой команды от другого сервера. Таким образом, в общем случае «удаление поста» следует рассматривать как «просьбу об удалении». В случае если необходимо поделиться чувствительной информацией и возможность удаления важна, пользователю следует контролировать, на каких стручках находятся его собеседники и проверять эти стручки на добросовестность.

Другая особенность состоит в том, что «подмин» (администратор «стручка») имеет прямой доступ ко всем данным пользователей своего стручка, в том числе личным сообщениям, приватным ключам, и т. п. Таким образом, «подмин»-злоумышленник может злоупотреблять этими возможностями. Этого можно избежать, используя свой собственный стручок Диаспоры. Это также необходимо учитывать при отправке приватных сообщений своим собеседникам, находящимся на других стручках (то есть то, что их «подмин» в принципе также имеет возможность злоупотреблять своими полномочиями). Впрочем, на настоящий момент реальных случаев злоупотреблений не известно.

Каждый стручок в общем случае не обладает информацией о всех остальных стручках, их пользователях и публичных постах. Если пользователь размещает публичный пост, то его копии отправляются только на те стручки, где у него есть контакты. С этим связана «проблема малых стручков» — на маленьких стручках часто оказывается мало видимого контента и сложнее найти собеседников поиском по хештегам, поскольку контент туда просто не отправляется. Для этой проблемы есть несколько возможных обходных путей. Один из них — это завести на малом стручке аккаунт, на который будет взаимно подписано большое количество аккаунтов с других стручков. Таким образом другие стручки узнают о существовании малого стручка и контент будет попадать и туда тоже. Другое возможное решение — применение проекта Social Relay , созданного и сопровождаемого бывшим участником разработки Диаспоры Джейсоном Робинсоном (Jason Robinson).

Особенность описанная в предыдущем абзаце так же означает, что публичные и приватные посты рассылаются одинаковым образом. Поэтому основная разница между ними в том, что публичные посты допускают расширение области видимости поста в будущем, а приватные — нет.

См. также 
 Friendica

Примечания

Ссылки 

 Официальный сайт 
 Список серверов Диаспоры 
 
 О Diaspora на habrahabr.ru 
 Свобода в облаке: свобода программного обеспечения, приватность, безопасность Web 2.0 и облачных вычислений , выступление Эбена Моглена на собрании Нью-Йоркского отделения Общества Интернета (Internet Society) 5 февраля 2010 г.

Свободное программное обеспечение, написанное на Ruby
Социальные сети
Сайты США
Сайты, появившиеся в 2010 году
Сайты по алфавиту
Fediverse