> 1) что ж это за проект, для которого за пару часов можно набросать? Ссылку дайте, если можно.Не можно. Смотрим на ник. И я уточню - за пару часов было набросан код, архитектура продумывалась до этого с недельку.
> 2) как преодолевать тогда различие в головах инициатора проекта и контрибьюторов? Полное видение в документации из ложить крайне проблематично всё-таки. Когда есть готовый работающий код от инициатора можно по нему глянуть, как строится система и в какую сторону предпочтительно развитие. А так что-то совсем бесхребетное получится, подозреваю. Тем более, что (см. пункт 1) архитектура вряд ли четко прописана.
Рассказываю подробно. Код (т.н. blueprint) состоял из классов с пустыми методами, с кусками псевдокода в комментариях. Это, фактически, само по себе документация, и для себя, потому что есть возможность косяки в интерфейсах, и для контрибуторов, потому и в коде разбираться не надо (его, в общем, и нет), и понятно из чего состоит проект, как оно взаимодействует и чего именно не хватает до того, чтобы увидеть результат. В документации было то же самое что в коде, но кратко и человеческим языком - пара страниц + graphviz вызовов, дерево TODO (именно дерево в стиле дерева технологий в игрушках) + прямой список из того чем могут заняться контрибуторы, рассортированный по сложности.
Я считаю что так должен начинаться вообще любой проект, ибо так войти в него стороннему человеку вообще раз плюнуть. Терпеливый может разобраться в архитектуре и начать вдумчиво реализовывать какой-нибудь метод (не ожидая что всё быстро заработает), причём сразу с тестами, т.к. пока остальные части проекта не готовы тестировать не на чем, нетерпеливый - разобраться в архитектуре, набыдлокодить на скорую руку всю цепочку вызовов, сразу получить результат, возможно найти узкие места, и начать улучшать код, либо же сразу взять самое простое задание из списка и реализовать.
В моем случае, собственно, так и произошло - один чувак (пришел через 2 дня после создания проекта) посмотрел blueprint, мы с ним порассуждали насчёт архитектуры в жаббере, и он начал писать тесты и некоторые методы. Через 2 недели какой-то школьник форкнул проект и тоже начал контрибутить - там было что-то типа фильтров (формат входа/выхода жестко задан, в остальном проекте разбираться вообще не надо) - их и кодил. Комментариев я ему писал больше чем собственно код, он в начале начал обижаться, потом внял - в общем, что-то я даже мержнул. Ну и когда следующие люди подключились проект уже что-то делал, так что дальше как обычно, но вот этот "быстрый старт" меня очень порадовал, и github во многом ему поспособствовал.