Zuul 프로젝트 거버넌스
Zuul 프로젝트의 거버넌스는 아래와 같습니다. 이 페이지에 대한 변경 사항은 일주일 동안 공개되어야 하며, 병합하기 전 메인테이너로부터 부정적인 Code-Review 투표보다 많은 긍정적인 코드 리뷰 투표를 받아야 합니다. 또한 프로젝트 리드(Project Lead)에 의해서만 승인되어야 합니다.
Zuul 메인테이너
Zuul 프로젝트는 자율적으로 운영됩니다.
프로젝트에 관한 의사 결정은 Zuul 메인테이너들에 의해 이루어집니다. 이들은 프로젝트 전반에 익숙하며 프로젝트의 관리자 역할을 수행하는 팀입니다. 이들은 코드베이스에 제안된 변경 사항을 승인하거나 거부할 권한이 있으며, 프로젝트와 관한 다른 의사 결정도 내릴 수 있습니다.
메인테이너는 Zuul 프로젝트의 모든 부분의 소스 코드, 설계, 운영 및 사용법에 익숙해야 합니다. 메인테이너로서 활동할 때는 자신의 필요뿐 아니라 커뮤니티 전체의 이익을 고려해야 합니다.
버전 관리 저장소에 보관된 코드, 문서, 웹사이트 및 기타 프로젝트 리소스에 대한 변경 사항은 메인테이너가 리뷰하고 승인합니다. 일반적으로 변경 사항을 병합하기 전 최소 두 명의 메인테이너로부터 승인을 얻어야 하지만, 변경 사항에 따라 더 적거나 많은 검토가 필요할 수 있습니다. 리뷰 시 고려해야 할 요소는 변경 사항의 복잡성, 프로젝트 설계와의 일치 여부, 그리고 특정 분야의 전문성을 가진 추가 참여자의 리뷰 필요성 등입니다. 메인테이너는 변경 사항을 즉시 거부할 수도 있으나, 이는 가급적 자제해야 하며 대신 합의(consensus)를 이끌어낼 수 있는 방향으로 노력을 유도하는 과정에서 사용해야 합니다.
이 리뷰 프로세스의 목적은 두 가지입니다. 첫째, 프로젝트의 변경 사항이 충분히 높은 수준을 충족하여 프로젝트를 개선하고 목표 달성에 기여하며, 기능 퇴보를 일으키거나 향후 지원을 어렵게 만들지 않도록 보장하는 것입니다. 둘째로 이에 못지않게 중요한 기여자들이 프로젝트 변경 사항을 인지하도록 보장하는 것입니다. 분산 환경에서 리뷰는 협업 프로세스의 핵심적인 부분입니다.
온라인 리뷰와 관련되지 않은 결정 사항은 프로젝트 메일링 리스트에서 논의됩니다. 더 넓은 커뮤니티의 의견을 수렴하기 위해 누구나 이러한 논의에 참여하는 것을 환영하고 권장합니다. 권한을 가진 메인테이너들은 이러한 결정에 대해 합의를 도출하기 위해 노력해야 합니다.
메인테이너 구성원의 변경은 기존 메인테이너들의 합의에 의해 결정됩니다. 다만, 사안의 민감성을 고려하여 이러한 논의는 프로젝트 리드의 지침에 따라 메인테이너 간의 비공개 통신을 통해 이루어져야 합니다.
대규모 메인테이너 그룹은 프로젝트 건전성에 중요합니다. 따라서 기여자들이 메인테이너가 되는 과정의 일환으로 프로젝트 유지 관리의 모든 측면에 참여하도록 권장됩니다. 기존 메인테이너들은 새로운 멤버를 독려해야 합니다. 메인테이너 수에 인위적인 제한은 없습니다. 프로젝트 리드는 메인테이너가 되기 위한 안내를 원하는 기여자를 도울 것입니다.
현재 Zuul 메인테이너:
이름 |
Matrix ID |
|---|---|
Clark Boylan |
Clark (@clarkb:matrix.org) |
Felix Edel |
felixedel (@felixedel:matrix.org) |
Ian Wienand |
ianw (@iwienand:matrix.org) |
James E. Blair |
corvus (@jim:acmegating.com) |
Jens Harbott |
|
Jeremy Stanley |
fungi (@fungicide:matrix.org) |
Monty Taylor |
mordred (@mordred:inaugust.com) |
Simon Westphahl |
swest (@westphahl:matrix.org) |
Tobias Henkel |
tobiash (@tobias.henkel:matrix.org) |
Tristan Cacqueray |
tristanC (@tristanc_:matrix.org) |
Zuul 프로젝트 리드
메인테이너들은 프로젝트의 전반적인 방향을 제시하고 다양한 영역과 측면 간의 일관성을 증진하기 위해 프로젝트 리드를 선출합니다. 프로젝트 리드는 메인테이너 이상의 특별한 권한을 갖지는 않지만, 추가적인 책임을 집니다. 프로젝트 리드는 프로젝트의 전반적인 설계와 방향에 특별한 주의를 기울여야 하며, 메인테이너와 다른 기여자들이 해당 설계를 숙지하도록 보장하고 어려운 문제에 대해 합의를 도출할 수 있도록 조력해야 합니다.
만약 프로젝트가 특정 사안에 대해 합의에 도달하지 못한 경우, 프로젝트 리드는 해당 사안에 대해 메인테이너들을 대상으로 투표를 실시할 수 있으며, 동점인 경우 프로젝트 리드의 투표가 결정권(tie-breaker)을 갖습니다.
프로젝트 리드의 임기는 1년입니다. 선출 프로세스는 콩도르세(Condorcet) 투표 방식을 따르며, 후보자는 기존 메인테이너 중에서 자원하여 출마합니다.
현재 프로젝트 리더는 James E. Blair입니다(임기 만료일: 2027-01-16).
Zuul-Jobs 메인테이너
Zuul-jobs 및 Zuul-base-jobs 저장소에는 다양한 상황에서 사용할 수 있도록 설계된 재사용 가능한 잡 컴포넌트 표준 라이브러리가 포함되어 있습니다.
이 저장소들의 변경 사항은 해당 잡이 사용될 수 있는 다양한 환경에 대한 고려와 컴포넌트의 일관성 및 안정성을 높이는 정책이 필요하지만, 반드시 Zuul 개발 전체 범위까지 고려할 필요는 없습니다. 이를 위해 이 저장소의 변경 사항에 대한 승인 권한은 Zuul 메인테이너와 ‘Zuul-Jobs 메인테이너’라고 불리는 추가 그룹 모두에게 부여됩니다. 검토 프로세스는 프로젝트의 다른 부분과 동일하며, Zuul-Jobs 메인테이너 그룹의 구성원 변경은 (단순히 Zuul 메인테이너만이 아닌) 더 넓은 Zuul-Jobs 그룹의 합의를 통해 이루어집니다.
현재 Zuul-Jobs 메인테이너(Zuul 메인테이너 외 추가 구성원):
이름 |
Matrix ID |
|---|---|
Andreas Jaeger |
|
Mohammed Naser |
|
Albin Vass |
avass (@avass:vassast.org) |