Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python 개선 제안 한국어 번역

PEP 13 – Python 언어 거버넌스

Author:
The Python core team and community
Status:
Active
Type:
Process
Topic:
Governance
Created:
16-Dec-2018

Table of Contents

번역·라이선스 안내

이 비공식 한국어 번역은 원문 Copyright 절의 Public Domain 조건에 따라 제공합니다. 원저자와 공식 원문은 그대로 표시합니다. 수정되지 않은 기준 원문 · 공식 최신판

초록

이 PEP는 Python의 공식 거버넌스 절차를 정의하며, 이것이 시간에 따라 어떻게 변화해왔는지 기록합니다. 현재 거버넌스는 운영 위원회(steering council)를 중심으로 이루어집니다. 이 위원회는 폭넓은 권한을 가지고 있으나, 가능한 한 드물게 행사하고자 합니다.

현재 운영 위원회

2026년 임기 운영 위원회는 다음과 같이 구성됩니다:

  • Barry Warsaw
  • Donghee Na
  • Pablo Galindo Salgado
  • Savannah Ostrowski
  • Thomas Wouters

투표 결과는 PEP 8107에 기록되어 있습니다.

핵심 팀(core team)은 비공개 저장소 https://github.com/python/voters/ 에 등재된 인원들로 구성되며, 이는 https://devguide.python.org/core-team/team-log/ 를 통해 공개적으로 공유됩니다.

명세

운영 위원회

구성

운영 위원회는 5인으로 구성된 위원회입니다.

위임 사항

운영 위원회는 다음을 위해 노력합니다:

  • Python 언어와 CPython 인터프리터의 품질과 안정성을 유지합니다.
  • 기여를 가능한 한 접근하기 쉽고, 포용적이며, 지속 가능하게 만듭니다.
  • 핵심 팀과 PSF 간의 관계를 공식화하고 유지합니다.
  • PEP에 대한 적절한 의사결정 절차를 수립합니다.
  • 공식적인 자격으로 행동하기 전에 기여자와 핵심 팀 사이의 합의를 구합니다.
  • 다른 모든 방법이 실패한 결정에 대해 “최종 상고 법원” 역할을 합니다.

권한

운영 위원회는 프로젝트에 관한 결정을 내릴 폭넓은 권한을 갖습니다. 예를 들어, 다음과 같은 일을 할 수 있습니다:

  • PEP를 승인하거나 거부합니다
  • 프로젝트의 행동 강령을 시행하거나 갱신합니다
  • PSF와 협력하여 프로젝트 자산을 관리합니다
  • 자신의 권한 일부를 다른 하위 위원회나 절차에 위임합니다

그러나 이 PEP에서 명시한 메커니즘을 통하지 않고는 이 PEP를 수정하거나 핵심 팀의 구성원 자격에 영향을 줄 수 없습니다.

협의회는 이러한 권한을 가능한 한 적게 사용하는 방안을 모색해야 합니다. 투표를 하기보다는 합의를 추구하는 편이 더 좋습니다. 개별 PEP에 대해 판결을 내리기보다는, PEP 의사 결정을 위한 표준 절차를 정의하는 편이 더 좋습니다(예를 들어, 다른 801x 시리즈 PEP 중 하나를 채택함으로써). 개별 사례에 대해 판결을 내리기보다는 행동 강령 위원회를 설립하는 편이 더 좋습니다. 기타 등등입니다.

협의회는 권한을 행사하기 위해 투표를 합니다. 모든 협의회 구성원은 투표하거나 명시적으로 기권해야 합니다. 특정 투표에서 이해 상충이 있는 구성원은 기권해야 합니다. 통과되려면 기권하지 않은 협의회 구성원의 절대 다수가 필요합니다.

가능한 경우, 협의회의 심의와 투표는 공개적으로 진행되어야 합니다.

협의회 선출

협의회 선거는 두 단계로 구성됩니다:

  • 1단계: 후보자는 직무 수행에 대한 관심을 표명합니다. 후보자는 핵심 팀 구성원의 추천을 받아야 합니다. 자기 추천도 허용됩니다.
  • 2단계: 각 핵심 팀 구성원은 각 후보자에게 0점에서 5점까지 별점을 부여할 수 있습니다. 투표는 익명으로 진행됩니다. 투표 결과는 STAR 투표 시스템을 사용하여 결정되며, Multi-winner Bloc STAR 방식을 적용하도록 수정되었습니다. 선거 소프트웨어로 자동 해결되지 않는 동점이 발생하면 후보자 간 상호 합의로 해결할 수 있으며, 그렇지 않으면 무작위로 당선자를 선정합니다.

각 단계는 퇴임하는 운영위원회의 재량에 따라 1~2주간 지속됩니다. 초기 선거의 경우 두 단계 모두 2주간 진행됩니다.

선거 절차는 퇴임하는 운영위원회가 지명한 개표 담당자가 관리합니다. 초기 선거의 경우, 개표 담당자는 PSF 전무이사가 지명합니다.

운영위원회는 이상적으로 파이썬 기여자와 사용자의 다양성을 반영해야 하며, 핵심 팀 구성원은 이에 맞게 투표하도록 권장됩니다.

임기

새로운 운영위원회는 각 기능 릴리스 이후 선출됩니다. 각 운영위원회의 임기는 선거 결과가 확정된 시점부터 다음 운영위원회의 임기가 시작될 때까지입니다. 임기 제한은 없습니다.

공석

협의회 위원은 언제든지 자신의 직위를 사임할 수 있습니다.

정규 협의회 임기 중에 공석이 발생할 때마다, 협의회는 투표를 통해 남은 임기를 채울 후임자를 임명할 수 있습니다.

협의회 위원이 연락이 두절되어 한 달 이상 연락이 닿지 않는 경우, 나머지 협의회 위원들이 투표를 통해 해당 위원을 교체할 수 있습니다.

이해 상충

협의회 위원들이 자신이나 자신의 고용주가 아니라 Python의 최선의 이익을 위해 행동할 것이라고 신뢰하지만, 어느 한 회사가 Python 개발을 지배하는 것처럼 보이는 외양 자체만으로도 해로울 수 있으며 신뢰를 훼손할 수 있습니다. 이해 상충의 외양을 피하기 위해, 협의회 위원 중 최대 2명까지만 동일한 고용주밑에서 일할 수 있습니다.

협의회 선거에서 상위 득표자 5명 중 3명이 동일한 고용주밑에서 일하는 경우, 그중 가장 낮은 순위에 오른 사람이 자격을 박탈당하고 6위 후보가 5위로 승격되며, 유효한 협의회가 구성될 때까지 이 과정이 반복됩니다.

협의회 임기 중 상황 변화로 인해 이 규칙이 위반되는 경우(예를 들어 협의회 위원이 이직하는 경우), 문제를 해결하기 위해 한 명 이상의 협의회 위원이 사임해야 하며, 이로 인해 발생한 공석은 이후 통상적인 방식으로 채워질 수 있습니다.

핵심 팀 구성원 축출

예외적인 상황에서는 본인의 의사에 반하여 핵심 팀에서 누군가를 제외해야 할 수도 있습니다. (예를 들어 명백하고 지속적인 행동 강령 위반의 경우입니다.) 이는 운영 협의회 투표를 통해 이루어질 수 있지만, 다른 운영 협의회 투표와 달리 최소 3분의 2 이상의 다수결이 요구됩니다. 위원 5명이 투표하는 경우, 이는 3:2 투표로는 충분하지 않으며, 찬성 4:1이 해당 투표가 성립하기 위한 최소 요건임을 의미합니다. 또한 이는 위임할 수 없는 운영 협의회의 유일한 권한이며, 불신임 투표가 진행 중인 동안에는 이 권한을 행사할 수 없습니다.

축출된 핵심 팀 구성원이 운영 협의회 위원이기도 한 경우, 해당 위원은 운영 협의회에서도 제외됩니다.

불신임 투표

예외적인 상황에서, 핵심 팀은 불신임 투표를 통해 현직 협의회 위원 또는 협의회 전체를 제외할 수 있습니다.

불신임 투표는 핵심 팀 구성원이 적절한 프로젝트 커뮤니케이션 채널에서 공개적으로 이를 제안하고, 다른 핵심 팀 구성원이 일주일 이내에 그 제안에 동의를 표할 때 시작됩니다.

투표는 2주간 진행됩니다. 핵심 팀 구성원은 찬성 또는 반대를 투표합니다. 투표자의 3분의 2 이상이 불신임을 표명하면 투표는 성립됩니다.

불신임 투표에는 두 가지 형태가 있는데, 단일 구성원을 대상으로 하는 것과 협의회 전체를 대상으로 하는 것입니다. 불신임 투표를 처음 제안할 때는 어떤 유형을 의도하는지 명시해야 합니다. 단일 구성원에 대한 투표가 성립되면 해당 구성원은 협의회에서 해임되며, 그에 따른 공석은 통상적인 방식으로 처리될 수 있습니다. 협의회 전체에 대한 투표가 성립되면 협의회는 해산되고 새로운 협의회 선거가 즉시 시작됩니다.

핵심 팀

역할

핵심 팀은 파이썬을 관리하는 신뢰받는 자원봉사자들의 집단입니다. 이들은 프로젝트의 목표를 달성하는 데 필요한 여러 역할을 맡으며, 특히 높은 수준의 신뢰가 요구되는 역할을 담당합니다. 이들은 프로젝트의 미래를 형성하는 결정을 내립니다.

핵심 팀 구성원은 커뮤니티와 파이썬에 의존하는 모든 이들을 대신하여, 커뮤니티의 롤모델이자 프로젝트의 관리자 역할을 할 것으로 기대됩니다.

이들은 개입이 필요한 상황이 드물게 발생할 경우, 필요에 따라 온라인 토론이나 공식 파이썬 행사에 개입할 것입니다.

이들은 파이썬 프로젝트 웹사이트 자체, 파이썬 GitHub 조직 및 저장소, 버그 트래커, 메일링 리스트, IRC 채널 등을 포함한 파이썬 프로젝트 인프라에 대한 권한을 가집니다.

특권

코어 팀원은 정식 투표에 참여할 수 있으며, 이는 일반적으로 신규 팀원을 지명하거나 운영 위원회를 선출하기 위한 것입니다.

자격

파이썬 코어 팀원은 다음을 보여줍니다:

  • 파이썬 프로젝트의 철학에 대한 확실한 이해
  • 건설적이고 도움이 되는 태도를 보여온 확고한 실적
  • 어떤 형태로든 프로젝트의 목표에 대한 상당한 기여
  • 파이썬을 개선하는 데 시간을 할애하려는 의지

프로젝트가 성숙해짐에 따라 기여는 코드에만 국한되지 않습니다. 다음은 코어 팀 합류를 고려할 때 인정될 수 있는 기여 분야를 순서 없이 나열한 불완전한 목록입니다:

  • 커뮤니티 관리 및 홍보 활동
  • 메일링 리스트 및 IRC에서의 지원 제공
  • 티켓 분류
  • 패치 작성(코드, 문서, 또는 테스트)
  • 패치 검토(코드, 문서, 또는 테스트)
  • 설계 결정에 참여
  • 특정 분야(보안, 국제화 등)에 대한 전문성 제공
  • 지속적 통합 인프라 관리
  • 서버(웹사이트, 트래커, 문서 등) 관리
  • 관련 프로젝트(대체 인터프리터, 패키징과 같은 핵심 인프라 등) 유지 관리
  • 시각 디자인 제작

핵심 팀 구성원 자격은 Python 프로젝트의 철학과 목표에 잘 부합하는 지속적이고 가치 있는 노력을 인정하는 것입니다.

이는 1주일간 진행되며 운영위원회(steering council)의 거부권 행사가 없는 코어 팀 투표에서 최소 3분의 2의 찬성표를 받음으로써 부여됩니다.

Note

devguide에는 그러한 투표에 사용할 제안된 템플릿이 있습니다.

핵심 팀 구성원은 항상 유망한 기여자를 찾고, 프로젝트가 어떻게 운영되는지 가르치며, 준비가 되면 핵심 팀 투표에 그들의 이름을 제출합니다.

핵심 팀 구성원 자격에는 시간 제한이 없습니다. 하지만 얼마나 많은 사람이 Python을 유지 관리하는지에 대해 일반 대중에게 합리적인 개념을 제공하기 위해, 기여를 중단한 핵심 팀 구성원은 스스로를 “비활성”으로 선언하도록 권장됩니다. 2년 동안 사소하지 않은 기여를 하지 않은 사람은 스스로 이 범주로 옮기도록 요청받을 수 있으며, 응답하지 않으면 그곳으로 옮겨집니다. 그들의 기여를 기록하고 예우하기 위해, 비활성 팀 구성원은 활성 핵심 팀 구성원과 함께 계속 등재되며, 이후 기여를 재개하면 언제든지 활성 상태로 다시 전환할 수 있습니다. 다만 누군가 비활성 상태인 동안에는 운영 위원회 투표나 지명, 그리고 커밋 접근 권한과 같은 활성 특권을 잃습니다.

초기 활성 핵심 팀 구성원은 현재 GitHub의 “Python core” 팀(핵심 구성원에게만 접근 권한 부여)에 등재된 모든 사람으로 구성되며, 초기 비활성 구성원은 과거에 커미터였던 그 외의 모든 사람으로 구성됩니다.

이 문서 변경하기

이 문서를 변경하려면 2주간 공개되어야 하는 핵심 팀 투표에서 투표된 표의 최소 3분의 2 다수결이 필요합니다.

메모 블록과 “현재 운영 위원회(Current steering council)” 및 “위원회 선거 이력(History of council elections)” 섹션을 최신 정보로 갱신하는 데는 투표가 필요하지 않습니다.

이력

이 문서의 작성

Python 프로젝트는 Guido van Rossum이 시작했으며, 그는 창시 시점부터 2018년 7월 물러날 때까지 종신 자애로운 독재자(BDFL)로 재직했습니다.

논의 후 새로운 거버넌스 모델에 대한 여러 제안이 제시되었으며, 핵심 개발자들은 그중에서 선택하기 위해 투표했습니다. 전체 과정은 PEP 8000PEP 8001에 설명되어 있으며, 다른 프로젝트들에 대한 검토는 PEP 8002에서 수행되었고, 제안들 자체는 801x 시리즈 PEP로 작성되었습니다. 결국 PEP 8016의 제안이 새로운 거버넌스 모델로 선택되었으며, 이 PEP의 초기 버전을 만드는 데 사용되었습니다. 8000번대 PEP들은 역사적 참조를 위해 보존되어 있으며(특히 PEP 8016에는 추가적인 근거와 당시 논의에 대한 링크가 포함되어 있습니다), 그러나 이 PEP가 이제 공식 참조 문서이며 여기에 기술된 규칙에 따라 발전해 나갈 것입니다.

위원회 선거 이력

개정 이력

  • 2019-04-17: 핵심 개발자를 위한 투표 기간 및 이 문서에 대한 변경 사항을 추가했습니다.
  • 2024-12-10: 위원회 선거에 다수 당선자 블록 STAR 투표를 채택했습니다.
  • 2024-12-10: 불신임 투표 재청에 1주일 기한을 추가했습니다.
  • 2025-11-12: 선거에 사용되는 소프트웨어가 가능한 경우 동점을 자동으로 해결할 수 있음을 명확히 했습니다.

감사의 말

이 PEP는 PEP 8016에서 시작되었으며, 이는 Nathaniel J. Smith와 Donald Stufft가 작성했으며, Aymeric Augustin이 작성한 Django 거버넌스 문서를 기반으로 하였고, 수많은 다른 사람들의 피드백과 도움을 받아들였습니다.