7 месяцев назад клиент Moera для Android выкинули из Google Play, обнаружив, что это приложение показывает пользовательский контент. А для пользовательского контента в Google Play есть специальные правила:
- Приложение должно опубликовать правила для пользовательского контента, которые соответствуют правилам Google Play. То есть они должны запрещать спам, нарушения закона, угрозы и т.д. При регистрации пользователь должен согласиться с этими правилами.
- Пользователь должен иметь возможность заблокировать контент, который он не хочет видеть.
- Пользователь должен иметь возможность пожаловаться на контент, который нарушает правила, жалоба должна быть рассмотрена и, если правила действительно нарушены, контент должен перестать показываться.
Пункт 1 удовлетворить было несложно, пункт 2 уже находился в разработке в тот момент, а вот над пунктом 3 пришлось поразмыслить по очевидной причине: сеть у нас децентрализованная, никакого надсмотрщика над ней нет и нет даже физической возможности удалять из неё контент.
Можно, конечно, плюнуть на Google Play и распространять приложение через другие магазины или в виде APK. И я буду это делать. Но это сразу сужает аудиторию на порядок, а с APK ещё и возникают сложности с апгрейдом.
В итоге, я реализовал следующее решение, которое, как мне кажется, выглядит вполне разумным, сохраняет децентрализованность и свободу в сети, и достаточно универсально.
- В сети появится специальный пользователь, который называется "шерифом приложения Moera для Android, установленного через Google Play", далее я буду называть его просто "шериф приложения". Можно создавать таких шерифов и для других целей, но пока сосредоточимся на Google Play. Приложение, установленное не через Google Play, будет свободно от ограничений (так, например, поступает Telegram).
- Пользователь, который хочет, чтобы его блог был виден через приложение, должен одобрить надзор за своим блогом со стороны шерифа. Это означает расширенный доступ шерифа ко всему контенту, кроме приватного (Only me), и подчинение приказам шерифа. Блоги, которые не одобрили надзор, не будут видны через приложение.
- На данный момент существует только один вид приказа: поставить отметку шерифа на указанном посте или комменте. Эта отметка сохраняется и выдаётся клиенту при запросе. Приложение, увидев эту отметку, скрывает соответствующий пост или коммент. При этом в других приложениях, на других платформах эти посты и комменты останутся видны.
- В меню постов и комментов при просмотре через приложение появляется пункт "Пожаловаться..." С его помощью можно отправить шерифу жалобу на нарушение правил, с указанием типа нарушения и дополнительным комментарием.
- Все жалобы по умолчанию публичны. Пользователь может попросить не показывать его жалобу всем, тогда жалоба будет скрыта до принятия решения шерифом. Дальнейшее скрытие жалобы - на усмотрение шерифа, но, как правило, шериф будет скрывать жалобу только в исключительных случаях.
- Естественно, что рассмотрение жалобы и приказ шерифа сопровождаются отправкой уведомлений всем, кого это касается.
- Нода шерифа также хранит список пользователей, комменты которых шериф запретил к показу везде, без принятия решения по каждому отдельному комменту. Ноды, одобрившие надзор, сверяются с этим списком и ставят отметку шерифа на комментарии всех пользователей, включённых в список.
Таким образом, требования Google Play будут соблюдены, но в минимально необходимом объёме и по доброй воле участников сети. И всегда останутся альтернативы: доступ через браузер, установка из APK или из других магазинов, где этих ограничений не будет.
Новая версия уже готова и будет запущена в ближайшее время. Чтобы не было паники со стороны пользователей из-за внезапно пропавших постов, я включу надзор шерифа по умолчанию всем пользователям моего сервера. Надзор всегда можно будет убрать в настройках блога. Пользователи других серверов должны будут (если хотят) одобрить надзор вручную и получат напоминание об этом.
Comments (5)
господи ад какой. я сломался на втором пункте шерифа
Ну, тут много технических деталей. Со стороны пользователя - это одна галочка при регистрации.
А что такого сложного во втором пункте шерифа?
Руководствуясь принципом don't ask don't tell, я не буду спрашивать о физической имплементации шерифа
в том, что я уже первый устал читать