Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vvk
7 лет назад

Проблемы opensource-проекта Голос

Работая в сфере IT, я постоянно имею дело с различными opensource-проектами. Заинтересовавшись Голосом, я решил изучить как тут всё работает и поиграться с ПО Голоса.

Для начала было решено почитать документацию, и тут-то и всплыла первая проблема:

Плохая документированность

  • github-страница проекта содержит только короткий README, который даёт нам пример команды запуска ноды в docker . Зачем её запускать и что с ней делать после запуска, не описано. Описание директив конфига, плагинов? Хрен вам, читайте сырцы:

Code is Documentation

Rather than attempt to describe the rules of the blockchain, it is up to each individual to inspect the code to understand the consensus rules.


Прямо сейчас: пример запуска "full node" и "p2p node" ничем не отличаются, кроме имени docker-контейнера 😁

  • Отсутствует англоязычная документация как класс. Понятно, что golos - форк steem-а, и можно читать доки по нему. Однако, форк он на то и форк, что в нём есть свои изменения и нюансы. Release Notes? Не, не слышал!
  • wiki проекта: тут уже есть что почитать, однако wiki покрывает только часть. Имеется более-менее внятное описание экономики, интерфейса golos.io, философия, принципы, и тд. Но нет никакой толковой документации по golosd. Нет описания параметров конфигурации, плагинов, API, что за что отвечает, и т.п.
  • https://developers.golos.io - судя по имени домена позиционируется как ресурс для разработчиков. Присутствует несколько баунти-программ, что несомненно хорошо, есть список API-запросов с примерами выполнения, без детального описания, описание методов и классов в golosd. На мой взгляд, данный ресурс нельзя считать достаточно информативным ни для разработчика, ни для оператора ноды голоса.

Для сравнения: откройте документацию по PostgreSQL и походите внутри по главам. Контраст с Голосом разительный. Как небо и земля, как жопа и палец. Всё детально расписано. Прекрасный раздел "Server Administration".

Резюме: текущая степень документированности оставляет удручающее впечатление. Для серьёзного opensource-проекта такая ситуация недопустима.

Почему так происходит

Почитав некоторое время Голос, я обнаружил парадокс: на Голосе происходит подмена документации личными статьями авторов. Такого я не видел ни в одном другом проекте. Вместо того, чтобы пилить мануалы на wiki, каждый запиливает статью себе в бложек! Некоторые даже код скриптов пихают прямо в статью, не выкладывая на github!

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

Почему так? Очевидно потому, что запиливание статей с мануалами приносит неплохие барыши, а заполнение wiki - ничего. wiki в открытом доступе, бери и правь, но этого никто не делает: за всё время всего 9 закрытых pull-реквестов, да и те с мелкими малосущественными правками.

Что делать

Надо объявить bounty-программу по наполнению wiki и поддержанию её в актуальном состоянии. Это может быть как финансирование от проекта golos.io (@cyberfund или кто там содержит команду goloscore?), так и финансирование сообществом: например, человек редактирует wiki, потом пишет статью "смотрите, я отредактировал wiki", сообщество апвотит пост на соответствующую сумму соразмерно его вкладу.

Централизованная разработка

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

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

В этом плане будущее проекта видится несколько туманным. Для сравнения, например в PostgreSQL нет какой-либо единой группы или компании, распад которой может поставить под удар существование проекта. Цитирую FAQ:

Кто управляет PostgreSQL?

Если вы ищете какого-то особенного человека, центральный комитет или управляющую компанию, то напрасно - их нет. У нас есть ядро комитета и разработчиков, работающих с CVS, но эти группы служат больше для административных целей, чем для управления. Проект напрямую функционирует с помощью сообщества разработчиков и пользователей, к которому может присоединиться каждый. Всё, что нужно - это подписаться на списки рассылки и участвовать в дискуссиях. (Подробности о том как включиться в разработку PostgreSQL смотрите в FAQ для разработчиков.)

Что представляет из себя Всемирная Группа Разработчиков PostgreSQL (PGDG)?

"PGDG" -- это интернациональное объединение, без образования юридического лица, отдельных людей и компаний, которые вносят свой вклад в проект PostgreSQL. Команда PostgreSQL Core Team обычно выступает в качестве спикеров для PGDG.

Что представляет из себя PostgreSQL Core Team?

Это комитет, состоящий из 5-7 членов (в настоящий момент 6), которые внесли наибольший вклад в PostgreSQL и которые: (а) устанавливают даты выпусков, (b) управляют конфиденциальными вопросами проекта, (c) общаются как спикеры с PGDG, когда это требуется и (d) выступают арбитрами в тех вопросах, по которым в сообществе не достигнуто консенсуса. В настоящий момент Основная Команда представлена вверху страницы списка участников

Что можно сказать о различных фондах PostgreSQL?

Хотя проект PostgreSQL использует некоммерческие фирмы в США, Европе, Бразилии и Японии для координации проектом и сбора средств, эти фирмы не являются владельцами кода PostgreSQL.

Что с этим делать?

Конкретного ответа на это у меня нет. Ясное дело, что надо привлекать сторонних разработчиков. Вернее, создавать благоприятную среду для включения их в процесс разработки. Больше документации, более прозрачное взаимодействие с сообществом, объявление баунти-программ по каким-то фичам и т.п.

Резюме

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

Было бы неплохо услышать мнения, особенно от команды golosio и goloscore. В самом деле, почему бы не запустить хотя бы баунти программу по поддержке wiki?


Данный пост участвует в программе 50/50.
2
145.940 GOLOS
На Golos с September 2017
Комментарии (25)
Сортировать по:
Сначала старые