- PVSM.RU - https://www.pvsm.ru -
Я выступал на DomCode в ноябре 2015 года (отличная конференция, кстати; проходила в маленьком красивом городке) и рассказывал о своем списке правил для построения open source сообществ. Один человек позже попросил меня объяснить, почему я советую мерджить патчи быстро, не дожидаясь завершения тестирования непрерывной интеграции (Continuous Integration) и без перепроверки кода. Я буду называть эту стратегию optimistic merging (ОМ). И сейчас я расскажу о некоторых ее плюсах.
Стандартная практика для многих сообществ — пессимистичный мерджинг (ПМ). Это когда нужно сначала дождаться, пока тестирование непрерывной интеграции завершится, потом пересмотреть код, потом протестить патчи на ветви и затем дать фидбэк автору. Тогда только он может пофиксить патчи, и весь этот цикл начнется заново. На этой стадии сопровождающий запросто может сказать: «Мне не нравится, как вы это сделали» или «Это не совпадает с нашем видением проекта».
В худшем случае могут пройти недели и месяцы, пока патчи не будут приняты. Ну, или их могут не принять никогда, и они будут отклонены по тысячам разных причин.
Мне кажется, что во многих проектах концепцию ПМ понимают несколько неверно. Давайте перечислим проблемы, которые создает ПМ:
А теперь давайте посмотрим, как это происходит в Оптимистичном Мердже (ОМ).
Для начала поймем, что все патчи и все контрибьюторы разные.
Мы можем заметить как минимум 4 типа контрибьюторов в оpen source проектах:
Концепция ПМ исходит из того, что все патчи вредоносные, пока они не признанны чистыми и полезными. В то время, как в действительности большинство патчей изначально полезны и стоят улучшения.
Давайте же сравним ПМ и ОМ. Что бывает, когда все 4 типа контрибьюторов последовательно приходят в проект?
В каждой из этих ситуаций последствия ОМ гораздо лучше, чем последствия ПМ.
В большинстве случаев (для патчей, над которыми еще предстоит много работать) ОМ создает условия для обучения и наставничества. И это именно то, что можно увидеть в проекте ZeroMQ, и та причина, по которой с ними настолько классно работать.
ZeroMQ (http://rfc.zeromq.org/spec:22), C4.1: the Collective Code Construction Contract.
Перевод: Алена Карнаухова
Поддержка публикации — компания Edison [1], которая разрабатывает биллинговая система для провайдеров [2], а так же разрабатывает ПО для сдачи налоговой отчетности через Интернет [3].
Автор: Edison
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/203543
Ссылки в тексте:
[1] Edison: https://www.edsd.com/
[2] биллинговая система для провайдеров: https://www.edsd.ru/billingovaya-sistema-dlya-kompanii-predostavlyayushchej-dostup-v-internet
[3] разрабатывает ПО для сдачи налоговой отчетности через Интернет: https://www.edsd.ru/sistema-sdachi-nalogovoj-otchetnosti-v-ehlektronnom-vide-cherez-internet
[4] Стратегическая речь Пола Грэма на Defcon 2005: «Неравенство и риск»: https://habrahabr.ru/company/edison/blog/313542/
[5] Пол Грэм: крэк, метамфетамин, интернет и Facebook: https://habrahabr.ru/company/edison/blog/313608/
[6] Источник: https://habrahabr.ru/post/313606/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.