[Accepted] PEP 8016 - The Steering Council Model

원문 링크: PEP 8016 - The Steering Council Model

상태: Accepted 유형: Informational 작성일: 01-Nov-2018

PEP 8016 – 스티어링 위원회 모델

요약

PEP 8016은 Python 거버넌스 모델을 스티어링 위원회(Steering Council) 중심으로 제안하는 문서입니다. 이 위원회는 광범위한 권한을 가지지만, 이 권한을 가능한 한 드물게 행사하려고 노력합니다. 대신, 다른 801x 시리즈 PEP에서 제안된 것과 같은 표준 프로세스를 수립하는 데 이 권한을 사용합니다. 이는 큰 변경사항을 독립적으로 검토할 수 있는 작은 변경사항들로 나누는 일반적인 철학을 따릅니다. 하나의 PEP에서 모든 것을 시도하기보다는, 향후 거버넌스 결정을 위한 최소한이지만 견고한 기반을 제공하는 데 중점을 둡니다.

참고: 이 PEP는 역사적인 목적으로 유지되지만, 현재 공식 거버넌스 문서는 PEP 13입니다.

PEP 수용

PEP 8016은 2018년 12월 17일 월요일에 PEP 8001에 설명된 핵심 개발자 투표를 통해 수용되었습니다.

제안 배경 (Rationale)

이 제안의 주요 목표는 다음과 같습니다:

  • 따분함 유지 (Be boring): 거버넌스 전문가는 아니며, Python이 새롭고 시도되지 않은 거버넌스 모델을 실험하는 좋은 장소라고 생각하지 않습니다. 따라서 이 제안은 가능한 한 성숙하고 잘 알려져 있으며 이전에 테스트된 프로세스를 고수합니다. 대부분의 대규모 성공적인 F/OSS 프로젝트에서 가장 흔한 접근 방식은 ‘거의 개입하지 않는’ 위원회이며, 세부 사항은 Django의 거버넌스에서 직접 파생되었습니다.
  • 단순함 유지 (Be simple): 위원회, (위원회를 선출하는) 핵심 팀, 그리고 문서 변경 프로세스 등, 작동에 필요한 최소한의 요소로 간소화하려고 노력했습니다. 목표는 ‘최소 실행 가능한 거버넌스 (Minimum Viable Governance)’입니다.
  • 포괄성 유지 (Be comprehensive): 정의해야 할 사항에 대해서는 모든 기반을 다루려고 노력했습니다. 다시는 이런 종류의 위기를 겪고 싶지 않기 때문입니다. 명확하고 모호하지 않은 규칙은 혼란과 불만을 최소화하는 데 도움이 됩니다.
  • 유연하고 경량화 (Be flexible and light-weight): 함께 작업하기 위한 최상의 프로세스를 찾는 데 시간과 실험이 필요하다는 것을 알고 있습니다. 이 문서를 가능한 한 최소한으로 유지함으로써, 나중에 조정할 수 있는 최대한의 유연성을 유지하고, 전체 프로젝트 투표와 같이 무겁고 불안감을 유발하는 프로세스의 필요성을 최소화합니다.

명세 (Specification)

스티어링 위원회 (The Steering Council)

  • 구성 (Composition): 스티어링 위원회는 5명으로 구성된 위원회입니다.
  • 임무 (Mandate): 스티어링 위원회는 다음을 위해 노력합니다.
    • Python 언어 및 CPython 인터프리터의 품질과 안정성을 유지합니다.
    • 기여를 가능한 한 접근하기 쉽고, 포괄적이며, 지속 가능하게 만듭니다.
    • 핵심 팀과 PSF(Python Software Foundation) 간의 관계를 공식화하고 유지합니다.
    • PEP에 대한 적절한 의사결정 프로세스를 수립합니다.
    • 공식적인 자격으로 행동하기 전에 기여자 및 핵심 팀 사이의 합의를 추구합니다.
    • 다른 모든 방법이 실패한 결정에 대한 “최종 항소 법원” 역할을 합니다.
  • 권한 (Powers): 위원회는 프로젝트에 대한 결정을 내릴 광범위한 권한을 가집니다. 예를 들어, 다음을 수행할 수 있습니다.
    • PEP를 수락하거나 거부합니다.
    • 프로젝트의 행동 강령을 강제하거나 업데이트합니다.
    • PSF와 협력하여 프로젝트 자산을 관리합니다.
    • 권한의 일부를 다른 소위원회 또는 프로세스에 위임합니다. 그러나 이 PEP를 수정하거나, 이 PEP에 명시된 메커니즘을 통해서만 핵심 팀의 구성원 자격에 영향을 미칠 수 있습니다. 위원회는 이러한 권한을 가능한 한 적게 사용하는 방법을 찾아야 합니다. 투표 대신 합의를 추구하는 것이 좋습니다. 개별 PEP에 대해 결정하기보다 PEP 의사결정을 위한 표준 프로세스를 정의하는 것이 좋습니다. 개별 사례에 대해 결정하기보다 행동 강령 위원회를 설립하는 것이 좋습니다. 권한을 사용하기 위해 위원회는 투표를 합니다. 모든 위원회 구성원은 투표하거나 명시적으로 기권해야 합니다. 특정 투표에 이해 상충이 있는 구성원은 기권해야 합니다. 통과하려면 기권하지 않은 위원회 구성원의 과반수 지지가 필요합니다. 가능한 한 위원회의 심의와 투표는 공개적으로 진행됩니다.
  • 위원 선출 (Electing the council): 위원회 선거는 두 단계로 구성됩니다.
    • 1단계: 후보자들이 봉사할 의사를 표명합니다. 후보자는 핵심 팀 구성원의 추천을 받아야 하며, 자천도 허용됩니다.
    • 2단계: 각 핵심 팀 구성원은 0명에서 5명까지의 후보자에게 투표할 수 있습니다. 투표는 익명으로 진행되며, 후보자들은 받은 총 득표수에 따라 순위가 매겨집니다. 동점이 발생하면 후보자 간의 상호 합의로 해결하거나 무작위로 당선자를 선택합니다. 각 단계는 퇴임하는 위원회의 재량에 따라 1~2주 동안 진행됩니다. 초기 선거의 경우 두 단계 모두 2주 동안 진행됩니다. 선거 프로세스는 퇴임하는 스티어링 위원회가 지명한 선거관리관이 관리합니다. 초기 선거의 경우 선거관리관은 PSF 전무이사가 지명합니다.
  • 임기 (Term): 각 기능 릴리스(feature release) 이후 새로운 위원회가 선출됩니다. 각 위원회의 임기는 선거 결과가 확정된 때부터 다음 위원회의 임기가 시작될 때까지입니다. 임기 제한은 없습니다.
  • 결원 (Vacancies): 위원회 구성원은 언제든지 사임할 수 있습니다. 정규 임기 중 결원이 발생하면 위원회는 투표를 통해 남은 임기를 채울 대체자를 임명할 수 있습니다. 위원회 구성원이 한 달 이상 연락이 두절되면, 나머지 위원회가 투표하여 교체할 수 있습니다.
  • 이해 상충 (Conflicts of interest): 위원회 구성원이 자신이나 고용주보다는 Python의 최선의 이익을 위해 행동할 것이라고 신뢰하지만, 특정 회사가 Python 개발을 지배하는 것처럼 보이는 것만으로도 해롭고 신뢰를 저해할 수 있습니다. 이해 상충의 외관을 피하기 위해, 위원회 구성원 중 단일 고용주에 속한 사람은 최대 2명으로 제한됩니다.
  • 핵심 팀 구성원 퇴출 (Ejecting core team members): 예외적인 상황(예: 심각하고 지속적인 행동 강령 위반)에서는 본인의 의사에 반하여 핵심 팀에서 누군가를 제거해야 할 수도 있습니다. 이는 스티어링 위원회 투표로 이루어질 수 있지만, 다른 스티어링 위원회 투표와 달리 최소 3분의 2의 다수결이 필요합니다.
  • 불신임 투표 (Vote of no confidence): 예외적인 상황에서 핵심 팀은 불신임 투표를 통해 현직 위원회 구성원 또는 전체 위원회를 해임할 수 있습니다.

핵심 팀 (The Core Team)

  • 역할 (Role): 핵심 팀은 Python을 관리하는 신뢰받는 자원봉사자 그룹입니다. 프로젝트 목표 달성에 필요한 많은 역할, 특히 높은 수준의 신뢰를 요구하는 역할을 수행합니다. 그들은 프로젝트의 미래를 형성하는 결정을 내립니다.
  • 특권 (Prerogatives): 핵심 팀 구성원은 공식 투표에 참여할 수 있으며, 일반적으로 새로운 팀 구성원을 지명하고 스티어링 위원회를 선출하는 데 참여합니다.
  • 멤버십 (Membership): Python 핵심 팀 구성원은 다음을 입증합니다.
    • Python 프로젝트 철학에 대한 깊은 이해.
    • 건설적이고 도움이 되는 뛰어난 실적.
    • 어떤 형태로든 프로젝트 목표에 대한 상당한 기여.
    • Python 개선에 시간을 할애하려는 의지. 핵심 팀 멤버십은 Python 프로젝트의 철학 및 목표와 잘 부합하는 지속적이고 가치 있는 노력을 인정하는 것입니다. 핵심 팀 투표에서 최소 3분의 2의 찬성표를 받고 스티어링 위원회의 거부권이 없으면 부여됩니다. 핵심 팀 구성원은 항상 유망한 기여자를 찾고, 프로젝트가 어떻게 관리되는지 가르치며, 준비가 되면 핵심 팀 투표에 이름을 제출합니다. 핵심 팀 멤버십에는 시간 제한이 없습니다.

문서 변경 (Changing this document)

이 문서의 변경은 핵심 팀 투표에서 최소 3분의 2의 찬성표를 필요로 합니다.

⚠️ 알림: 이 문서는 AI를 활용하여 번역되었으며, 기술적 정확성을 보장하지 않습니다. 정확한 내용은 반드시 원문을 확인하시기 바랍니다.

Comments