Spec-Zone.ru › ESLint

Управление

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

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

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

Пользователи — это члены сообщества, которым нужен проект. Пользователем может стать каждый; никаких особых требований нет. Обычно пользователи рассказывают о проекте (например, размещают ссылку на сайте и распространяют информацию о нём среди знакомых), сообщают разработчикам о сильных и слабых сторонах проекта с точки зрения нового пользователя или оказывают моральную поддержку (простое «спасибо» может многое значить).

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

Участники

Участники — это члены сообщества, которые вносят конкретный вклад в проект, чаще всего в виде кода и/или документации. Участником может стать каждый, и вклад может принимать самые разные формы. Не требуется брать на себя какие-либо обязательства перед проектом, обладать определёнными навыками или проходить отбор.

Участники имеют доступ к исходному коду только для чтения, поэтому отправляют изменения посредством pull request. Вклад, представленный в pull request участника, проверяет и принимает участник TSC. Участники TSC и коммиттеры помогают участникам проверять их код и готовить его к принятию.

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

Член команды сайта

Члены команды сайта — это члены сообщества, которые доказали свою приверженность постоянной поддержке eslint.org, регулярно участвуя в жизни сообщества. Члены команды сайта получают права на отправку изменений в репозиторий eslint.org на GitHub и обязаны соблюдать Рекомендации по внесению вклада в проект.

Члены команды сайта:

  • Должны уделять не менее одного часа в неделю разбору проблем и проверке pull request.
  • Должны уделять работе над ESLint не менее двух часов в неделю.
  • Могут выставлять счёт за время, потраченное на работу над ESLint, по ставке 50 долларов США в час.
  • Должны проверять канал #team в Discord каждый будний день (за исключением праздников и других периодов отсутствия), чтобы узнавать новости команды.
  • Должны работать в общедоступных ветках исходного репозитория и отправлять pull request из этих веток в основную ветку.
  • Должны удалять свои общедоступные ветки, когда они больше не нужны.
  • Должны оформлять pull request для всех изменений.
  • Их работу перед включением в репозиторий проверяют ревьюеры и участники TSC.
  • Могут добавлять метки к связанным с сайтом проблемам и закрывать их (см. Управление проблемами).
  • Могут принимать некоторые pull request (см. Проверка pull request).
  • Могут брать отпуск в любое время и должны написать в канал #team в Discord, если будут отсутствовать больше нескольких дней.

Чтобы стать членом команды сайта:

  • Нужно продемонстрировать готовность и способность участвовать в поддержке eslint.org и работать в команде. Как правило, потенциальный член команды сайта должен понимать структуру сайта и то, как она связана с более широкими целями и стратегией проекта ESLint.
  • От членов команды сайта ожидается уважительное отношение ко всем членам сообщества и умение работать сообща, поддерживая принципы инклюзивности.
  • Нужно отправить не менее 10 связанных с сайтом pull request. Что считается связанным с сайтом pull request? Это pull request, отправленный в репозиторий eslint.org или каталог docs в репозитории eslint, который легко принять благодаря качественной документации и тестам.

Кандидатуру нового члена команды сайта может выдвинуть любой действующий член команды сайта или коммиттер. После выдвижения кандидатуры участники TSC проводят голосование.

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

Коммиттеры

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

Коммиттеры:

  • Должны уделять не менее одного часа в неделю разбору проблем и проверке pull request.
  • Должны уделять работе над ESLint не менее двух часов в неделю.
  • Могут выставлять счёт за время, потраченное на работу над ESLint, по ставке 50 долларов США в час.
  • Должны проверять канал #team в Discord каждый будний день (за исключением праздников и других периодов отсутствия), чтобы узнавать новости команды.
  • Должны работать в общедоступных ветках исходного репозитория и отправлять pull request из этих веток в основную ветку.
  • Должны удалять свои общедоступные ветки, когда они больше не нужны.
  • Должны оставлять отзывы по проблемам в столбце «Требуется отзыв» на доске сортировки задач.
  • Должны каждый месяц работать как минимум над одной проблемой из столбца «Готово к реализации» на доске сортировки задач, которую создали не они сами.
  • Должны оформлять pull request для всех изменений.
  • Их работу перед включением в репозиторий проверяют участники TSC.
  • Могут добавлять метки к проблемам и закрывать их (см. Управление проблемами).
  • Могут принимать некоторые pull request (см. Проверка pull request).
  • Могут брать отпуск в любое время и должны написать в канал #team в Discord, если будут отсутствовать больше нескольких дней.

Чтобы стать коммиттером:

  • Нужно продемонстрировать готовность и способность участвовать в проекте и работать в команде. Как правило, потенциальный коммиттер должен показать, что понимает проект, его цели и стратегию и разделяет их.
  • От коммиттеров ожидается уважительное отношение ко всем членам сообщества и умение работать сообща, поддерживая принципы инклюзивности.
  • Нужно отправить не менее 10 подходящих pull request. Что считается подходящим pull request? Это pull request, который содержит существенный технический вклад и который легко принять благодаря качественной документации и тестам.

Кандидатуру нового коммиттера может выдвинуть любой действующий коммиттер. После выдвижения кандидатуры участники TSC проводят голосование.

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

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

Ревьюеры

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

Ревьюеры могут выполнять все обязанности коммиттеров, а также:

  • Могут принимать внешние pull request по одобренным проблемам после проверки и одобрения изменений.
  • Могут принимать собственные pull request после получения необходимых, по их мнению, отзывов. (Нельзя принимать pull request, если хотя бы один коммиттер, ревьюер или участник TSC не оставил комментарий о том, что ознакомился с кодом.)
  • Могут выставлять счёт за время, потраченное на работу над ESLint, по ставке 80 долларов США в час.

Чтобы стать ревьюером:

  • Нужно помогать сообществу и сотрудничать с его участниками.
  • Нужно давать полезные отзывы о чужих изменениях и в целом понимать стандарты качества кода проекта.
  • Нужно взять на себя обязательство оставаться частью сообщества в долгосрочной перспективе.
  • Нужно отправить не менее 50 подходящих pull request.

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

Технический руководящий комитет (TSC)

Проектом ESLint совместно управляет Технический руководящий комитет (TSC), отвечающий за общее руководство проектом.

TSC обладает окончательными полномочиями в отношении проекта, включая:

  • Техническое направление
  • Управление проектом и процессы (включая эту политику)
  • Политику внесения вклада
  • Размещение репозиториев на GitHub

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

TSC может включить дополнительных участников в свой состав стандартным постановлением TSC.

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

Изменения в составе TSC следует указывать в повестке дня; их можно предложить так же, как и любой другой пункт повестки (см. раздел «Заседания TSC» ниже).

Не более 1/3 участников TSC могут быть связаны с одним и тем же работодателем. Если исключение или добровольный выход участника TSC либо смена его места работы приведёт к тому, что более 1/3 участников TSC будут связаны с одним работодателем, ситуацию необходимо немедленно исправить: один или несколько участников TSC, связанных с чрезмерно представленным работодателем или работодателями, должны выйти из состава комитета либо быть исключены из него.

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

Участники TSC могут выполнять все обязанности ревьюеров, а также:

  • Могут выпускать новые версии всех проектов ESLint.
  • Могут участвовать в заседаниях TSC.
  • Могут предлагать статьи бюджета.
  • Могут предлагать новые проекты ESLint.

Для участников TSC нет особых требований или квалификационных критериев, кроме тех, что предъявляются к ревьюерам.

Действующие участники TSC приглашают ревьюера войти в состав TSC. После выдвижения кандидатуры следуют обсуждение и решение TSC.

Заседания TSC

TSC проводит заседания раз в две недели в канале Discord для заседаний TSC. Заседание проводит назначенный модератор, утверждённый TSC.

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

Цель повестки — не одобрять и не проверять все изменения. Это должно постоянно происходить на GitHub, и этим должна заниматься более многочисленная группа коммиттеров.

Любой член сообщества, коммиттер или ревьюер может попросить включить вопрос в повестку следующего заседания, создав задачу на GitHub. Любой желающий может добавить этот вопрос в повестку, поставив задаче метку «tsc agenda».

Перед каждым заседанием TSC модератор отправляет повестку участникам TSC. В начале каждого заседания участники TSC могут добавлять в повестку любые вопросы. Модератор и TSC не могут наложить вето на вопросы или удалить их из повестки.

Обязательное голосование по вопросам повестки TSC возможно только при наличии кворума участников TSC на заседании. Кворум считается достигнутым, если присутствует более половины участников TSC, за вычетом тех, кто не участвует в заседании.

TSC может пригласить отдельных лиц или представителей определённых проектов для участия без права голоса.

Модератор отвечает за краткое изложение обсуждения каждого вопроса повестки и отправку его в виде pull request после заседания.

Процесс достижения консенсуса

TSC использует модель принятия решений на основе поиска консенсуса.

Когда, по мнению модератора, по вопросу повестки удалось достичь консенсуса, он задаёт вопрос «Есть ли возражения?» — это последняя возможность высказаться против достигнутого консенсуса.

Если по вопросу повестки не удаётся достичь консенсуса, участник TSC может предложить провести итоговое голосование или отложить рассмотрение вопроса до следующего заседания. Предложение о голосовании должно быть одобрено большинством участников TSC; в противном случае обсуждение продолжится. Решение принимается простым большинством голосов.

Этот документ создан на основе модели участия в проекте YUI и модели управления проектом Node.js.

Этот документ распространяется на условиях лицензии Creative Commons «Attribution-ShareAlike 2.0 UK: England & Wales».

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/contribute/governance

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API