Прочитать на английском

Поделиться через


Система управления NuGet

Этот документ основан на модели управления великодушного диктатора Оксфордского университета. Она предоставляется по лицензии Creative Commons Attribution-ShareAlike 2.0 UK: England & Wales License.

Проект NuGet возглавляет великодушный диктатор, а управляет этим проектом сообщество. Таким образом, сообщество активно участвует в повседневной реализации проекта, однако за выработку стратегии отвечает великодушный диктатор. В случае разногласий последнее слово остается за великодушным диктатором.

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

Роли и обязанности

Здесь описаны четыре роли: великодушный диктатор, вносители, участники и пользователи.

Великодушный диктатор

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

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

Кроме того, сотрудники .NET Foundation рассматривают руководителя проекта в качестве основного или первого контактного лица NuGet по вопросам бизнес-операций, включая регистрации доменов и техническое обслуживания (например, подписи кода).

Исполнители

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

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

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

Соавторы

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

Прежде чем первое его исправление будет помещено в репозиторий, участник должен подписать лицензионное соглашение с участником или соглашение о переуступке прав .NET Foundation. Исправление можно отправить и обсудить, однако оно не фиксируется в репозитории без оформления надлежащих документов. Чтобы получить лицензионное соглашение с участником, отправьте запрос по электронной почте на адрес contributions@nuget.org.

Чтобы стать участником, отправьте запрос на вытягивание в один из следующих репозиториев:

Конкретная процедура для отправки запроса на вытягивание зависит от репозитория:

Пользователи

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

Желательно, чтобы пользователи стремились максимально активно участвовать в жизни проекта NuGet и сообщества. Вклады пользователей позволяют команде убедиться, что она удовлетворяет актуальные потребности. Типичные действия пользователей включают в себя следующее:

  • Рекомендации по использованию проекта
  • Уведомление разработчиков о сильных и слабых сторонах проекта с точки зрения пользователей
  • Моральная поддержка (это очень важно в долгосрочной перспективе)
  • Составление документации и учебников
  • Отправка отчетов об ошибках и запросов функций
  • Участие в мероприятиях сообщества, таких как "охота за ошибками"
  • Участие на досках обсуждений или форумах

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

Преемственность пакетов в особых случаях

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

  1. Фотокопия вашего удостоверения личности с фотографией, выданного государственным учреждением.
  2. Один из следующих документов, подтверждающий состояние владельца предыдущей учетной записи:
    • Официальное свидетельство о смерти, если предыдущий владелец скончался.
    • Удостоверяющий документ, например справка за подписью медицинского работника, осуществляющего уход за недееспособным владельцем учетной записи.
  3. Один из следующих документов, подтверждающих право на владение:
    • Свидетельство о браке, доказывающее, что вы являетесь вдовой или вдовцом владельца учетной записи.
    • Подписанная доверенность.
    • Копия завещания, где вы указаны в качестве душеприказчика или бенефициара.
    • Свидетельство о рождении владельца учетной записи, если вы являетесь его родителем.
    • Свидетельство об опекунстве, если вы являетесь законным опекуном владельца учетной записи.

Если вам потребовалось сослаться на эту политику, отправьте нам сообщение электронной почты на адрес support@nuget.org, указав в нем идентификатор и версию пакета.

Transparency

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