Skip to content

Latest commit

 

History

History
98 lines (59 loc) · 16.1 KB

README.md

File metadata and controls

98 lines (59 loc) · 16.1 KB

blank3

Join the chat at https://gitter.im/imShara/blank3

Вместо реквиема

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

Хорошая новость - отцы основатели создали архитектуру Интернета настолько устойчивой, что единственная возможность ограничить его содержание - отключить сеть целиком. Плохая новость - из этой архитектуры не исключён человек-посредник, а именно - владелец ресурса. Его можно купить, его можно убить, его можно шантажировать блокировкой ресурса, он самостоятельно может в один прекрасный вечер психануть и уничтожить ресурс не смотря на то, что контент собирался сообществом и является общественно значимым. И главное, он имеет на это полное право. Сколько бы вы души, времени и денег не вложили в любимый сайт - он не ваш, точка.

Собственно, я предлагаю наконец пофиксить эту досадную ошибку и далее расскажу как это можно сделать.

Базовые принципы работы полностью самоморегулируемого сообщества

Регистрация, защита от ботов, спама и магическое число

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

Магическое число

Так как система должна быть самостабилизирующейся с самого начала и при любом количестве пользователей, можно считать необходимое количество позитивных отзывов для получения приглашения по формуле y=floor(sqrt(2x)), где x - количество активных в последнее время пользователей, а y - необходимое количество голосов. Таким образом, первый пользователь получает инвайт за первый пост, второй пользователь получает инвайт, если за пост проголосует первый пользователь. Третьему пользователю необходим два голоса, при 10 активных пользователях, пост должны оценить хотя бы четверо, а при 100 - 14 человек. В случае снижения активности аудитории, сложность получения инвайта падает, что исключает необходимость вмешательства администрации при оттоке аудитории.

Предлагаемые типы рангов пользователя

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

Статус доверенного пользователя получает пользователь, собравший магическое число положительных отзывов за свой пост. При повторном сборе магического числа голосов доверенный пользователь получает приглашение и может наделить статусом "Комментатор" достойного на его взгляд человека.

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

Призрачный статус имеют сторонние пользователи, которые желают попасть на ресурс.

Комментирование

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

Голосования за посты и комментарии

Если в большинстве web 2.0 ресурсов для пользовательской модерации используются бинарное голосование, которое часто работает как фильтр мнений, здесь возможности должны быть расширены. Минимально-необходимый набор типов голоса:

Положительные:

  • Поддерживаю мнение / хорошая шутка
  • Полезная информация

Отрицательные:

  • Не поддерживаю мнение / плохая шутка
  • Удалить комментарий и лишить права комментировать
  • Исключить пользователя из сообщества

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

Исключение пользователя из сообщества и лишение права голоса

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

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

Разделы

Изначально я не планировал никаких подсайтов, основываясь исключительно на системе тегов и супертегов, по которым можно сформировать свою ленту контента. Супертеги - это основная тематика поста, которую можно выразить тремя общими словами. Например: Технлогии, Космос, Rosetta, Philae, комета, Чурюмова-Герасименко, фотографии. Или: Украина, Россия, Война, обстрел, геолокация, видео.

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

Вы можете предложить свои варианты организации, но мне лично не хочется делать ещё один d3 или Reddit, где каждый будет вариться в своём бульоне, совершая периодические набеги на соседние подсайты. Если уж говорить про Украину и про войну, то всем вместе, просто без мудаков. С тем уровнем дискуссии, которая устраивает активную часть сформировавшегося сообщества.

Цензура и Роскомнадзор

Объективно, сейчас нет возможности интернет-ресурсу, желающему быть доступным для пользователей в России игнорировать решения госорганов. Единственное исключение - Википедия, которую уже больше года как должны были внести в реестр, но политической воли на это не наскребли. Массовый переход аудитории в скрытые сети тоже не случился, потому есть необходимость в двух вещах - сокрытии для граждан РФ информации, на которую поступила жалоба и пропаганды средств обхода цензуры. Благо, это можно осуществлять одновременно, прямо на заглушке :)

Вопросы финансирования

Финансирование разработки и поддержки осуществлять через пожертвования, как это делает reddit. Стимулирование авторского материала будет производиться путём разрешения публикации кошельков пользователя в профиле и под постом, под специальной кнопокой благодарности.

Техническая сторона вопроса

Хостинг

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

Сервер

Главная задача сервера - предоставить API для работы клиента. Раздача статики и рендеринг страниц - второстепенная задача. Для этих целей хорошо подходит асинхронный NodeJS с socket.io и react.js для рендеринга шаблонов как в веб клиенте, так и на сервере, что необходимо для работы без javascript.

Клиент

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

База данных

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

Скрытосети

Сайт должен быть оптимизирован под работу в скрытых сетях и официально поддерживать набор популярных сетей, таких как Tor, I2P и CJDNS.

Предлагаемый стек технологий

Nodejs, socket.io, postgresql, sequelize, reactjs

Лицензия

Лицензия будет свободной для некоммерческого использования

Что нужно

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