OberonCore
https://forum.oberoncore.ru/

BlackBox development platform choice
https://forum.oberoncore.ru/viewtopic.php?f=127&t=4460
Страница 2 из 2

Автор:  Alexey Veselovsky [ Среда, 28 Август, 2013 10:00 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Роман М. писал(а):
> Статичный код не имеет необходимости в репозитории, он может лежать в зип-архиве на сайте.
Согласен. Однако также нужно продумать способы создания сборки. Конечно, всегда можно заниматься этим вручную. Только стоит ли?

Советую посмотреть как организованы репозитории, и вообще инфраструктура, того же eclipse, ведь eclipse это не IDE, это тоже каркас из которого, посредством добавления подсистем, лепится все что угодно.

Автор:  Иван Денисов [ Среда, 28 Август, 2013 10:06 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Иван Кузьмицкий писал(а):
Кстати, да, меня вот тоже удивила отповедь "Apodictical or imperialistic tones are just a few of the possible problems.". Может, это юмор такой.
That is why we should be very polite if we want to make international project. And the new domain name is the first step.

Пётр, мне категирически не нравится идея чего-то делить. Это уже даже не империализм, а феодализм :)

Автор:  Пётр Кушнир [ Среда, 28 Август, 2013 10:33 ]
Заголовок сообщения:  Re: BlackBox development platform choice

http://ru.wikipedia.org/wiki/%D0%A0%D0% ... 0%B4%D0%B0

Автор:  Иван Кузьмицкий [ Среда, 28 Август, 2013 10:55 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Чем больше дробление, тем больше расходы на синхронизацию. Как только мы вносим в систему новое понятие, как сразу же приходится решать вопросы взаимодействия, определять протоколы, следить за исполнением.

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

Автор:  Пётр Кушнир [ Среда, 28 Август, 2013 11:44 ]
Заголовок сообщения:  Re: BlackBox development platform choice

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

Автор:  Иван Кузьмицкий [ Среда, 28 Август, 2013 12:16 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Не так.

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

Если все подсистемы, входящие в базовую сборку, лежат в одном репе, то получить всю сборку можно очевидным путём. Как только мы раскладываем подсистемы по разным репам, то сразу же возникает вопрос - как узнать, откуда тащить каждую подсистему? И придётся придумывать мета-описание сборки. Сооружать систему синхронизации мета-описания с репозиториями. Вместо одной очевидной базовой сборки в одном репе, мы получаем раздробленные подсистемы и мета-описание. Бритва Оккама плачет и рыдает.

Но поднимается вопрос, как обеспечить качество сборки. Правильно я понимаю поставленный вопрос? Если это так, то дробление базовой сборки приведёт только к дроблению сборки, а до разделения ответственности и до отработки взаимодействия тут ещё идти и идти.

Куча вопросов же возникает, на самом деле. Ведь как разделить ответственность? Надо ограничивать доступ к репозиториям. Кто этим будет заниматься, на каких основаниях? Как это всё будет выглядеть?

Автор:  Пётр Кушнир [ Среда, 28 Август, 2013 12:37 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Ну, всё верно, только надо отделить сходства двух решений, типа "Кто будет заниматься репозиторием?", "Кто будет раздавать права?" от различий двух решений "Несколько репозиториев вместо одного общего с разными правами доступа", "Как формировать сборку из подсистем", а то выглядит, как наваливание на одно из решений общих проблем.
Ещё раз повторю, что стабильные сборки люди будут забирать из архива, репозиторий будет внутренним, так ведь?
Иван Кузьмицкий писал(а):
Но поднимается вопрос, как обеспечить качество сборки. Правильно я понимаю поставленный вопрос? Если это так, то дробление базовой сборки приведёт только к дроблению сборки, а до разделения ответственности и до отработки взаимодействия тут ещё идти и идти.
Минус одна проблема - один человек не сможет влезть в зону ответственности другого человека чисто технически. Правов-то не дали.
То есть вообще-то сначала идёт разделение ответственности, как факт, а потом разделение ББ на подсистемы. Вместо этого нам предлагают сразу готовый редмайн с готовым глобальным репозиторием, вроде как, всё уже продумано.
Иван Кузьмицкий писал(а):
Есть понятие каркаса ББ. Можно рассматривать базовую сборку как монолит, содержащий ряд обязательных подсистем.
Это внешние разработчики могут рассматривать базовую сборку как монолит. А мы, типа, нет. Иначе нет смысла в репозиториях, пусть ББ лежит в дропбоксе :D , кто имеет доступ, тот и правит.

Автор:  Иван Кузьмицкий [ Среда, 28 Август, 2013 13:07 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Пётр Кушнир писал(а):
Ну, всё верно, только надо отделить сходства двух решений, типа "Кто будет заниматься репозиторием?", "Кто будет раздавать права?" от различий двух решений "Несколько репозиториев вместо одного общего с разными правами доступа", "Как формировать сборку из подсистем", а то выглядит, как наваливание на одно из решений общих проблем.
Фраза непонятно (для меня) построена. Прошу перечислить сходства и различия. "Кто будет заниматься репозиторием?" - это не решение, это постановка вопроса. Решение должно ответить на этот вопрос. Мы ставим вопросы, озвучивая проблемы и предлагаем решения проблем. Какие проблемы перед нами стоят? Какие решения мы предлагаем?

Автор:  Пётр Кушнир [ Среда, 28 Август, 2013 13:36 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Иван Кузьмицкий писал(а):
Фраза непонятно (для меня) построена.

Фраза-вопрос "Кто будет заниматься?" была размещена в твоём комментарии, который комментировал решение "один репозиторий на подсистему". Я тебе указал, что этот вопрос применим и к решению "один репозиторий на сборку", но раз ты спрашиваешь этот вопрос в контексте обсуждения моего решения, значит в альтернативном решении этот вопрос не стоит, что неверно. А тогда какой смысл спрашивать про администрирование репозитория при обсуждении его внутренней структуры? Накидать вопросов можно всегда. Просто они к теме не относятся.
Иван Кузьмицкий писал(а):
Прошу перечислить сходства и различия.

Схема репозитория = схема организации подсистем базовой сборки ББ внутри систем контроля версий. Сравниваем монолитную и составную схемы.
Сходства:
Управление тех.частью требуется любой схеме репозитория.
Права доступа требуется выдавать в любой схеме репозитория.
Собирать новый билд ББ из сырцов требуется любой схеме репозитория.

Различия:
Влезать в чужую зону ответственности (подсистему) не получится в составной схеме репозитория.
Неизбежно предварять взаимодействие кода подсистем взаимодействием участников получится только в составной схеме репозитория.
Разделять специализации участников до изменения кода получится только в составной схеме репозитория.
Иван Кузьмицкий писал(а):
Какие проблемы перед нами стоят? Какие решения мы предлагаем?
Кто все эти люди?

Автор:  Иван Денисов [ Среда, 28 Август, 2013 14:37 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Пётр Кушнир писал(а):
стабильные сборки люди будут забирать из архива, репозиторий будет внутренним, так ведь?

Мое мнение, что это будет неверным решением для OpenSource проекта. В рамках сложившейся парадигмы и коллективного бессознательного, предполагается, что любой желающий человек, располагающий временем и умственными способностями для совершения некого улучшения в приложении, имеет возможность простым путем получить доступ к рабочему репозиторию, сделать себе копию, отработать там некое улучшение и предложить свое решение людям ответственным за выпуск и экспертизу архитектуры проекта.

Создание квазиоткрытых (по-русски — недооткрытых) репозиториев приведет к необъективному барьеру. По типу того, что создал Ткачёв для Линкуса, когда непонятно, где начало, где конец проекта, и я год бился над старой версией "архивчика". Нет, извольте, такого дерьма больше не надо :) Нужен нормальный продвинутый (git или mercurial), открытый доступ на чтение ВСЕЙ разработческой документации. Ясная политика рассмотерния багов и pull запросов.

Автор:  Иван Кузьмицкий [ Среда, 28 Август, 2013 14:45 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Пётр Кушнир писал(а):
Сравниваем монолитную и составную схемы.
Сходства:
Управление тех.частью требуется любой схеме репозитория.
Права доступа требуется выдавать в любой схеме репозитория.
Собирать новый билд ББ из сырцов требуется любой схеме репозитория.
В чем заключается понятие "управление тех. частью" и одинаковый ли объем этого понятия для обоих схем?

Права доступа в монолитной схеме выдаются на весь репозиторий. В составной схеме права выдаются отдельно на каждый домен (назовём доменом подсистему или ряд подсистем). Это скорее различие, чем сходство, потому что получаются разные политики участия.

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

Пётр Кушнир писал(а):
Различия:
Влезать в чужую зону ответственности (подсистему) не получится в составной схеме репозитория.
Ну это очевидно, вопрос в том, как обеспечить обновление, если человек уехал в отпуск и неизвестно, когда вернётся. Ведь пароли у него. А если пароли не у него, а у "комитета", тогда комитет будет заниматься лишней работой, выясняя компетенции нового участника и "достоин ли" он получить доступ к домену. Ты предлагаешь разделить ответственность, чтобы каждый думал про своё - но как быть, если коммуникация нарушена? Придётся снова делить зоны ответственности, но тогда домены потеряют свой смысл.

Пётр Кушнир писал(а):
Неизбежно предварять взаимодействие кода подсистем взаимодействием участников получится только в составной схеме репозитория.
А если участник выпал из коммуникации, то кашу не сваришь. В этом случае (а такие случаи будут постоянно, ведь мы не в одном офисе сидим) надо быстро решать вопрос с делегированием прав, и, как следствие - см. выше - составная схема теряет смысл.
Пётр Кушнир писал(а):
Разделять специализации участников до изменения кода получится только в составной схеме репозитория.
Кто будет заниматься кадровыми вопросами и выяснять уровни специализации? Люди могут приходить и уходить, перемешивая зоны ответственности.

Автор:  Пётр Кушнир [ Среда, 28 Август, 2013 15:19 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Ладно.

Автор:  Роман М. [ Среда, 28 Август, 2013 21:56 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Иван Денисов писал(а):
Пётр Кушнир писал(а):
стабильные сборки люди будут забирать из архива, репозиторий будет внутренним, так ведь?

Мое мнение, что это будет неверным решением для OpenSource проекта. В рамках сложившейся парадигмы и коллективного бессознательного, предполагается, что любой желающий человек, располагающий временем и умственными способностями для совершения некого улучшения в приложении, имеет возможность простым путем получить доступ к рабочему репозиторию, сделать себе копию, отработать там некое улучшение и предложить свое решение людям ответственным за выпуск и экспертизу архитектуры проекта.

Создание квазиоткрытых (по-русски — недооткрытых) репозиториев приведет к необъективному барьеру. По типу того, что создал Ткачёв для Линкуса, когда непонятно, где начало, где конец проекта, и я год бился над старой версией "архивчика". Нет, извольте, такого дерьма больше не надо :) Нужен нормальный продвинутый (git или mercurial), открытый доступ на чтение ВСЕЙ разработческой документации. Ясная политика рассмотерния багов и pull запросов.
Полностью согласен.

Кроме того, я считаю, что распределение прав по кругу обязанностей является излишним. Тем более, раз идёт речь не о разработке какого-то секретного ПО, а открытого для всех.

Наиболее подходящим вариантом считаю создание учётной записи на одном из хостингов git (желательно)/Subversion/Mercurial кем-то из представителей (owner) разработчиков "центра". Все входящие в ту группу (collaborators) должны получить права на push/pull.
Один репозиторий, как я уже писал ранее, "стандартная" сборка ББ. Другой - поддерживаемые этой группой всяческие компоненты (Mysql и прочие). Над ними должны работать только collaborators.
При этом, два репозитория будут совершенно прозрачными для остальных пользователей вне этой группы. Они смогут создать ответвление (fork) от репозитория "центра" и работать независимо от них. Каждый желающий сможет затем отправить "запрос на включение" (pull request).
Так постепенно репозиторий будет разрастаться новыми компонентами.

http://habrahabr.ru/post/125999/
https://help.github.com/categories/2/articles

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

Автор:  ilovb [ Среда, 28 Август, 2013 22:08 ]
Заголовок сообщения:  Re: BlackBox development platform choice

Полностью согласен с Романом.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/