Руководство для практиков: Начало работы с Contributor Sustainability

Основные показатели:

Если вы еще не прочитали Руководство для практикующего специалиста: Введение: о чем следует помнить при интерпретации показателей, пожалуйста, сделайте паузу и прочитайте это руководство.

Устойчивость участников является важной частью оценки того, имеет ли проект с открытым исходным кодом и сообщество достаточно участников, чтобы проект мог поддерживаться в долгосрочной перспективе, поэтому устойчивость участников оказывает большое влияние на общую устойчивость проекта. Существует множество проектов с одним сопровождающим (см. xkcd Зависимость), и многие проекты изо всех сил пытаются найти достаточное количество людей, которые могли бы активно участвовать в своих проектах и ​​продолжать поддерживать их в долгосрочной перспективе (Egbahl 2016). Авелино и др. (2019) обнаружили, что даже популярные проекты могут быть навсегда заброшены и не смогут оправиться от потери слишком большого количества ключевых участников.

Реальность такова, что существует множество проектов с открытым исходным кодом и недостаточно участников, поэтому сопровождающие отчаянно нуждаются в помощи по различным типам вкладов, необходимых для успешного и устойчивого проекта с открытым исходным кодом. Однако важно подумать о том, как каждый новый вклад создаст дополнительную работу для сопровождающих по его рассмотрению и принятию, что можно смягчить за счет наличия соответствующей автоматизации, процессов и документации, которые помогут участникам добиться успеха, но в конечном итоге некоторые из этих участников будут необходимо стать сопровождающими, чтобы справиться с дополнительной нагрузкой от новых участников (Eghbal 2020).

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

Шаг 1: Определите тенденции

Есть ряд вещей, которые могут повлиять на устойчивость участников. Начав с Фактор отсутствия участника, вы можете оценить риск для проекта, если ключевые участники/сопровождающие решат уйти, но также важно обратить внимание на другие тенденции, связанные с Соавторы вместе с Виды взносов которые люди делают, чтобы выявить потенциальные риски, которые могут повлиять на общую устойчивость вашего проекта.

Фактор отсутствия участника

Фактор отсутствия участников важен для понимания устойчивости участников, поскольку он визуализирует вопрос: «Сколько участников мы можем потерять, прежде чем проект застопорится?» Это помогает определить, насколько широко работа в проекте распределена между участниками, и определить ключевых людей в проекте, которые выполняют большую часть работы. Если большая часть работы выполняется одним человеком или небольшим количеством людей, это увеличивает риск того, что проект может стать неустойчивым, если этот человек или люди больше не будут работать над проектом (Авелино и др., 2019).

Гистограмма коэффициента отсутствия участников со сбалансированным вкладом в диапазоне от 16% до 6% коммитов

Соавторы

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

Активные участники с течением времени и анализ роста, показывающий положительные и отрицательные балансы участников.

Виды взносов

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

Вклад источников данных для различных источников с течением времени, включая GitHub, Twitter, pipermail, Slack.

Шаг 2: Диагностика

Как упоминалось во введении к «Руководству для практикующих специалистов», вам следует начать с разговора с несколькими людьми, которые тесно вовлечены в проект, чтобы вы могли вместе посмотреть на тенденции и интерпретировать их так, чтобы это имело смысл для проекта. Например, на изображении ниже показано, что более 60% коммитов в этом проекте за последний год были сделаны одним человеком, что в большинстве случаев увеличивает риск того, что проект может стать неустойчивым, если этот человек или люди больше не будут работать. на проекте. Однако также важно подумать об этом в свете других аспектов проекта. Например, если этот проект в основном представляет собой документацию, которую многие люди могут обновить, или если это код, который довольно прост и понятен другим, или если проект в основном используется одним человеком, тогда риск относительно невелик. С другой стороны, если проект сложный, большой и/или широко используемый, то риск высок, и проект должен быть сосредоточен на привлечении большего количества участников и сопровождающих, чтобы повысить устойчивость участников.

Круговая диаграмма Bus Factor, показывающая, что один участник внес 61.8% коммитов, а следующие по величине участники внесли 10.8% и 9.77%

Также важно обратить внимание на другие тенденции, связанные с участниками. Например, на графике ниже показано, что количество активных участников достигло пика, а затем снизилось в этом проекте, поэтому было бы важно диагностировать, почему это может быть так. Если бы проект был чем-то ограниченным во времени (например, связанным с конференцией или семинаром), который был завершен, или проектом, в котором большая часть работы была завершена и не была легко поддержана, это было бы нормальной ситуацией. Однако, если это типичный проект с открытым исходным кодом, это может указывать на наличие серьезных проблем, влияющих на удержание участников, которые необходимо диагностировать и устранить.

Рост количества участников по степени вовлеченности показывает, что количество активных участников достигло пика в апреле 2023 года и сошло на нет к октябрю 2023 года.

Шаг 3. При необходимости соберите дополнительные данные.

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

Дополнительные метрики:

Шаг 4. Внесите улучшения

Привлечение новых участников, которые могут стать сопровождающими, имеет решающее значение для успеха проектов, в которых устойчивость участников вызывает беспокойство, и некоторые проекты даже могут оправиться от отказа их основных разработчиков за счет найма новых сопровождающих (Avelino et al. 2019). Сосредоточив внимание на привлечении новых участников до того, как вы потеряете своих ключевых разработчиков, вы сможете успеть привлечь участников и заранее предотвратить кризис в будущем.

Фактор отсутствия участников может рассказать вам о нескольких вещах, которые можно использовать, чтобы способствовать улучшениям участников, которые сделают ваш проект более устойчивым. Во-первых, это поможет вам решить, насколько устойчивой является ваша текущая ситуация с донорами. Если большую часть работы вносит один человек, а проект большой или сложный, вам следует сосредоточиться на том, как распределить нагрузку и привлечь к проекту больше людей. Во-вторых, показатель «Фактор отсутствия участников» может помочь вам найти людей, которые могут вносить больший вклад, чем вы предполагали, что может помочь вам подумать о том, кого вы можете побудить внести больший вклад или, возможно, найти кого-то, кто мог бы занять руководящую роль (например, рецензента или сопровождающий). Что касается руководящих должностей, вы можете посмотреть на кого-то, вносящего десять процентов вклада, и решить, что он готов стать сопровождающим. Один из способов сделать это — уменьшить возможности для новых сопровождающих. Если они не готовы заниматься сопровождением всего проекта, возможно, они смогут поддерживать подпроект или конкретный раздел проекта, пока наращивают свой опыт в других областях. Один из способов сделать это — использовать OWNERS или CODEOWNERS файлы чтобы дать людям ответственность за различные области вашего репозитория, включая документацию или разделы сообщества. Люди, которые вносят меньший, но регулярный вклад, могут стать хорошими кандидатами на наставничество или стать рецензентами с намерением сделать их сопровождающими после того, как они приобретут немного больше опыта.

Также важно просмотреть руководства по участию или другую документацию по адаптации, чтобы убедиться, что новые участники могут легко начать работу в вашем проекте (ссылки см. в разделе «Дополнительная литература»). Хорошая документация — это то, как мы масштабируем то, что отнимает драгоценное время у и без того перегруженных работой сопровождающих, и освобождаем их время для работы над другими вещами. Как минимум, новый участник должен понимать, как создать среду, в которой он может заниматься разработкой, ожидания от тестирования и способы запуска тестов, любые процессы или ожидания, которые у вас есть для запросов на включение, а также инструкции для других требований. Если это хорошо документировано, новые участники могут начать работу с минимальной помощью существующих сопровождающих, что в долгосрочной перспективе может сэкономить вам много времени (Eghbal 2020). Когда в проекте нет хорошей документации, сопровождающие могут быть разочарованы количеством времени, которое они тратят на вопросы новых участников, из-за чего новым участникам может быть трудно почувствовать себя желанным гостем, и им потребуется много времени, чтобы стать продуктивными. Вот как люди разочаровываются и уходят из вашего проекта. Это не означает, что вам нужно тратить дни и недели на написание идеальных документов для адаптации. Все лучше, чем ничего, и если вы начнете с нескольких вещей, которые помогут людям быстро приступить к работе, новые участники действительно могут помочь улучшить документацию по адаптации, добавив более подробную информацию и дополнительные инструкции для вещей, которые они нашли запутанными или с которыми у них возникли проблемы. .

В то время как адаптационная документация — отличный способ начать работу в масштабном проекте, наставничество оказалось эффективным и действенным способом привлечения новых участников, помогающего им быстрее работать продуктивно в вашем проекте (Фагерхольм и др., 2014). Однако наставничество отнимает у сопровождающего время в краткосрочной перспективе в надежде сделать проект более устойчивым в долгосрочной перспективе, поэтому важно подумать о том, какие постоянные участники могут быть хорошими кандидатами на наставничество (Egbahl 2020).

Хорошие первые проблемы или метки требуемой помощи — отличная отправная точка, потому что они помогают людям найти что-то, над чем они могут работать, пока они узнают больше о проекте, но вам нужно подумать о том, чтобы превратить эти проблемы во что-то, содержащее достаточно информации для новых участники для использования. Хорошие первые задачи должны быть нацелены на что-то простое, что новый участник сможет подобрать и выполнить за короткий промежуток времени, чтобы помочь ему больше узнать о процессе вашего участия. Ярлыки «Разыскиваемая помощь» могут быть предназначены для более сложных проблем, чтобы люди, которые уже начали вносить свой вклад, могли найти что-то еще для работы. Хорошие первые выпуски и ярлыки с просьбой о помощи, а также хорошие руководства по вкладу помогут вам создать устойчивый поток участников для вашего проекта.

Однако хорошие первые проблемы и метки «требуется помощь» — это пассивные просьбы о помощи, поэтому я также призываю сопровождающих также проявлять инициативу и конкретизировать способы, которыми люди могут помочь. Если вы попросите кого-то просмотреть PR или ответить на вопрос пользователя, это покажет, что вы признаете его уникальный опыт и хотите получить помощь. Знание того, что нас хотят и ценят, заставляет нас чувствовать себя хорошо, что может стать сильным мотиватором внести свой вклад в проект с открытым исходным кодом или продолжать вносить свой вклад. Обращение к кому-либо и признание его работы, одновременно поощряя его делать больше, может помочь вам нанять людей, которые могли бы взять на себя возрастающую ответственность (например, рецензентов или сопровождающих) в рамках вашего проекта. Не бойтесь обращаться к своим опытным пользователям в дополнение к вашим участникам, и если вы работаете в компании, вы можете использовать свои корпоративные отношения с другими организациями, чтобы найти людей, которые могут быть заинтересованы в вашем вкладе.

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

Загвоздка здесь и со многими показателями заключается в том, что мы не хотим думать только о людях, которые вносят свой вклад в код. Это хорошее начало, но вам также следует подумать о том, как вы можете перевести людей на руководящие должности, чтобы они отвечали за вещи, которые могут не отображаться в GitHub или GitLab, такие как документация, управление сообществом, маркетинг и другие важные роли. Вот почему так важно также обратить внимание на показатель «Типы вкладов». Часто можно увидеть, что сопровождающие недооценивают количество времени, затрачиваемое на некоторые из этих задач, и найм большего количества людей на другие роли может еще больше распределить рабочую нагрузку и повысить устойчивость участников.

Сопровождающие проекта с низким коэффициентом отсутствия участников, особенно если они единственные сопровождающие, должны иметь какой-то план преемственности. Как минимум, кто-то другой должен иметь доступ администратора ко всему, что необходимо для обновления программного обеспечения и публикации выпусков (включая публикацию в соответствующих менеджерах пакетов), а также документации о том, как это сделать. В идеале в проекте должен быть еще один специалист по сопровождению, который может поровну разделить обязанности и уже имеет доступ, навыки и знания для выполнения всех задач проекта. Это одна из причин, по которой приведенные выше обсуждения о создании базы участников и наборе сопровождающих так важны. . Хотя это и не идеально, для проектов с одним сопровождающим планирование преемственности может включать предоставление доступа и документации доверенному коллеге или другу. Ключом к планированию преемственности является внедрение его сейчас, еще до того, как вы подумаете, что оно вам нужно.

Шаг 5: Мониторинг результатов

То, как вы будете отслеживать результаты, будет зависеть от того, какие улучшения вы решили внести. Продолжение мониторинга этих трех показателей — хорошее начало. Если вы использовали другие данные из шага 3, вам также следует отслеживать эти показатели.

Если вы набираете новых участников, утверждающих и сопровождающих, может потребоваться некоторое время, чтобы увидеть результаты этих усилий, поэтому вы можете не увидеть значительных улучшений в течение 3–6 месяцев, поэтому вам придется отслеживать это в течение более длительного периода. времени.

Предостережения и соображения

  • Крайне важно думать о человеческой динамике, которая может повлиять на устойчивость вкладчиков, и относиться к людям с добротой и уважением, работая над улучшением.

Дополнительное чтение

Обратная связь

Нам бы хотелось получить обратную связь, чтобы узнать больше о том, как люди используют руководства для практиков CHAOSS и как мы можем их улучшить с течением времени. Пожалуйста, заполните это краткий обзор чтобы оставить свой отзыв.

Соавторы

Следующие люди внесли свой вклад в создание этого руководства:

  • Рассвет Фостер
  • Чан Вунг
  • Джеффри Осьер-Миксон
  • Луис Каньяс Диас

Рекомендации

Руководства для практиков CHAOSS — это живые документы, лицензированные MIT, и мы будем рады вашим отзывам и вкладу. Вы можете предложить изменения к этому документу на странице https://github.com/chaoss/wg-data-science/blob/main/practitioner-guides/contributor-sustainability.md