Работая в сфере 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?
это пыль вглаза, едиснтвенное за что платиться и что хорошо работает - открытый код.
Найденные баги в соответвии с баунти не оплачиваются. @serejaandmyself у нас за год хоть одно баунти было оплачено? если да какие, линки увидеть можно?
там в описании апи много старого что уже давно не работает. сопровождения доков нет.
было бы круто)
вот ёлки. как раз собирался баги поискать. уже неактуально?
Ищите
Просто с командой сложно комуницировать
Лол, уважаемые девелоперы меня в комментах так потыкали в developers.golos.io, что я подумал что я дурак. Пошёл его перерывать в поисках некоей Всеобъемлющей Документации, нифига не нашёл и опять подумал что я дурак, потому что другие её видят а я нет.
да документирован плохо код, документов тоже не много и лишь на частичные какие-то вещи. при этом доки делались больше полугода назад и могут быть не актуальными))) че тут говорить то??? сам не раз туда загрядывал и плевался
больеш всего инфы в тут
https://developers.golos.io/doc/blockchain
все связанное с апи я смотрю тут, но все равно это вырезание апендецита автогеном через Ж. Ну не документация это, а издевательство!
Я думаю, нет толкового руководителя. А его нет потому что за бесплатно за такой объем никто работать не будет, а денег на это жалко инвесторам или кому-то "изначально". При этом я думаю, что не только нет руководителя чисто девелоперов, нет руководителя ни маркетинга, ни какого-то главного человека, кто определяет Цели и стратетигию всего вообще проекта. Почему так, думаю, изначально было человека 2-3 энтузиаста, чисто в гараже запили по-минимуму русский функционал, а дальше уже только маленькие бюджетные вливания были, на которые опытных людей не соблазнишь работать.
я вот тоже не нашёл нормальной документации. даже нужную ветку в репозитории на гитхабе с трудом нашёл :) в доке написано про
dev
илиdevelopment
, а оказалось там вообще такие отсутствуют. или жёстко устаревшие.Голос поковырять интересно, может как руки дойдут, уже и доки появятся ;)
Мда.. Удручающе оказалось. Одинаковый запуск разных нод - прикол))) А у меня как раз планы были чего-нить сваять для голоса, походу не всё так просто))
Предложения дельные, поддерживаю;))
@vvk я хочу тебя в ТОП19 делегатов!
(а лучше куда-нить в топ 5, ага).
Только как это сделать? \
Пойти в голосовалку, поиском найти vvk и проголосовать. Нода работает, прайсфид публикуется.
@vvk Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за общую выплату получил
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@vvk Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за Количество комментариев
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@vvk Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
litrbooh, littleboo, t3ran13, saphira, ianboil, sergiy, ukrainian, neo, smotritelmayaka, chiliec, narin, lelya, oleg257, brovaryleaks, vadbars, arsar, vasilisapor2, renat242, shkiper, fair, rubin, bystree, arturio777, stranniksenya, acidgarry, on1x, newodin, vika-teplo, borisss, dayver, prost, bombo, makcum52, kertar, ieshua, skiexpert, foxycat, nerossoul, naiger, dunsky, dart-ezra, sansey, snooze
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас на странице https://golos.io/~witnesses, вот так:
Согласен полностью
@vvk Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество полученных голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Дайте обратную связь на https://developers.golos.io
Там есть базовая документация по методам работы golosd
Что касается поддержки пулриквестов - это с удовольствием. Приносите в тэг #открытый-код
Обратную связь в каком плане? Написать на email, который там на кнопке "Напишите нам"? Если вы насчёт PR касаемо наполнения wiki, если вы готовы поддерживать их, неплохо бы об этом объявить, чтобы остальные тоже подключались к документированию. Ну и какие-то векторы дать, что ли.
Обратная связь в том смысле что там есть как минимум описания методов golosd в то время как в статье ни слова о том что эта часть документации существует
Имеется в виду этот раздел?
https://developers.golos.io
Забыл упомянуть про этот ресурс, да. Видел. Есть несколько баунти-программ, это хорошо. Есть список API-методов. Полноценной документации - нет.
Это да, и хорошо бы не просто документацию, а автогенерируемую из кода, чтобы она всегда была в актуальном состоянии.
Вроде говорили, что документация по Голосу готова и есть.
ну она корявая, не говоря о том что изменения в нее не вносятся