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

Python 개선 제안 한국어 번역

PEP 609 – Python 패키징 기관(Python Packaging Authority, PyPA) 거버넌스

Author:
Dustin Ingram <di at python.org>, Pradyun Gedam <pradyunsg at gmail.com>, Sumana Harihareswara <sh at changeset.nyc>
Sponsor:
Paul Ganssle <paul at ganssle.io>
Discussions-To:
Discourse thread
Status:
Active
Type:
Process
Topic:
Governance, Packaging
Created:
05-Nov-2019
Post-History:
05-Nov-2019

Table of Contents

번역·라이선스 안내

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

초록

이 문서는 Python 패키징 기관(Python Packaging Authority, PyPA)의 거버넌스 모델을 설명합니다. 이 모델은 기존의 비공식적인 관행에 충실하게 기반을 두고 있습니다. PyPA의 운영 방식을 명확히 하고 PyPA의 투명한 절차를 공식화하는 것이 목적입니다.

근거

Python Packaging Authority(PyPA)는 Python 패키징과 관련된 여러 프로젝트를 유지 관리하고 발전시키는 협력 커뮤니티입니다. PyPA를 통해 개발된 소프트웨어와 표준은 Python 소프트웨어를 패키징하고 공유하고 설치하는 데 사용됩니다. 또한 Python 패키지 색인인 PyPI와 같이 내려받을 수 있는 Python 소프트웨어의 색인과 상호 작용하는 데에도 사용됩니다.

현재 PyPA는 비공식적이고 느슨하게 정의된 조직으로, 실질적인 권한이 없습니다. 특정 프로젝트를 PyPA 산하에 포함하거나 새 프로젝트를 만드는 일은 그때그때 일회성으로 이루어져 왔습니다. 마찬가지로 PyPA의 개인 구성원 자격도 명확하게 정의되어 있지 않습니다.

이 모델은 지금까지 PyPA에서 어느 정도 작동해 왔습니다. 하지만 그 결과 PyPA는 안정적인 생태계가 갖춰야 할 요소, 즉 명확하고 투명한 의사 결정 절차가 빠진 조직이 됩니다. 이 PEP는 PyPA의 거버넌스 모델을 정의하여 이 문제를 바로잡고자 합니다.

용어

이 PEP에서 사용하는 개인 기여자 그룹 관련 용어는 다음과 같습니다.

PyPA 구성원:
PyPA organization에 속한 프로젝트 중 적어도 하나에서 트리아지 권한 또는 커밋 권한을 가진 모든 사람입니다.
PyPA 커미터:
PyPA 조직에 속한 프로젝트 중 적어도 하나에서 커밋 권한을 가진 모든 사람입니다. 이는 PyPA-Committers 메일링 리스트에 있는 모든 사람과 일치해야 합니다.
PyPA 커뮤니티:
PyPA 활동에 관심이 있으며 이를 지켜보거나, 기여하거나, 제안하고자 하는 모든 사람입니다.
패키징 작업 그룹(Packaging-WG) 구성원:
Packaging-WG Wiki page에 설명된 바와 같습니다. 명확히 하자면, 패키징 작업 그룹(Packaging-WG)과 PyPA 사이에는 공식적인 관계가 없습니다. 이 그룹은 PyPA와 구별하기 위한 목적으로만 이 목록에 포함되었습니다.

목표

다음 절에서는 PyPA와 이 거버넌스 모델의 목표(및 목표가 아닌 것)를 공식화합니다.

PyPA의 목표

이 목표들은 PyPA가 존재하는 주된 동기입니다. 대부분 명시적으로 정의된 적은 없지만, 이 목표들은 이미 대체로 실행되고 있습니다.

PyPA 산하 기존 프로젝트 지원

특정 프로젝트에 추가 지원이 필요하거나 더 이상 활동 중인 유지 관리자가 없는 경우, PyPA는 해당 프로젝트가 필요한 범위 내에서 사용자를 위해 계속 지원되도록 보장합니다.

PyPA 프로젝트를 위한 표준의 수립과 채택 촉진

PyPA는 가능한 한 PyPA 프로젝트 전반에서 표준화와 조율을 추구해야 하며, 이는 주로 아래에 설명된 거버넌스 절차를 통해 이루어집니다. PyPA 프로젝트는 PyPA가 관리하는 명세 가운데 해당하는 명세를 준수해야 합니다.

여러 PyPA 프로젝트에 영향을 미치는 결정 이끌기

생태계 전반에 걸친 변경이 제안될 때, PyPA 커뮤니티(특히 PyPA 구성원)는 의견과 통찰, 경험을 제공할 것으로 기대됩니다.

어떤 프로젝트가 PyPA의 지도를 받아야 하는지 결정하기

예를 들어 커뮤니티에서 새 프로젝트를 받아들이거나, PyPA 안에서 자연스럽게 프로젝트를 만드는 것 등이 있습니다.

모든 프로젝트에서 행동 강령 준수를 강제하기

일반적으로 이는 모범을 보이는 것을 뜻하지만, 때로는 보다 명시적인 중재를 뜻할 수도 있습니다.

PyPA의 비목표

다음은 명시적으로 PyPA의 목표가 _아닌_ 구체적인 항목입니다.

누가 PyPA 구성원이고 누가 아닌지 결정하기

이는 개별 프로젝트의 구성원이 자신의 프로젝트에 새 구성원을 추가하면서 결정할 사항입니다. PyPA 조직에 속한 프로젝트의 메인테이너가 되면 PyPA 구성원 자격이 자동으로 부여됩니다.

개별 프로젝트를 세세하게 관리하기

프로젝트가 행동 강령을 준수하고 PyPA가 지원하는 명세를 따르는 한, PyPA는 생태계 전반에 걸친 대규모 변경에만 관여해야 합니다.

독자적인 행동 강령을 개발하고 유지하기

PyPA 프로젝트는 the PSF Code of Conduct를 따릅니다.

PyPA 거버넌스 모델의 목표

다음은 거버넌스 모델이 가능하게 하고자 하는 새로운 목표입니다.

PyPA 구성원 자격의 투명성

PyPA 내 프로젝트 구성원 자격과 관련하여 내려진 결정에 대해 투명한 절차를 제공합니다.

PyPA의 PEP 사용 방식 문서화

PyPA가 정의한 상호 운용성 명세를 유지 관리하기 위해 PyPA가 Python Enhancement Proposal(PEP)을 어떻게 사용하는지 공식적으로 문서화합니다.

절차

PyPA 활동에 대한 절차는 아래에 설명되어 있습니다:

명세

PyPA는 PyPA가 관리하는 상호 운용성 명세를 정의하고 변경하는 데 PEP를 사용합니다. 따라서 이러한 상호 운용성 명세의 채택에 대한 최종 결정권은 파이썬 운영 위원회(Python Steering Council)에 있습니다.

Python 운영 위원회는 패키징 상호 운용성 명세와 관련된 PEP를 후원하거나 승인 또는 거부할 권한을 PyPA 커뮤니티 내의 개인에게 위임할 것으로 예상됩니다(필수는 아닙니다). 이 문서를 작성하는 시점(2020년 6월)에 Python 운영 위원회는 현재 활성 상태인 패키징 상호 운용성 명세에 대해 standing delegations을 두고 있습니다.

상호 운용성 명세를 제안하고 갱신하는 절차에 대한 자세한 내용은 PyPA Specifications 문서에 설명되어 있습니다.

거버넌스

PyPA 커미터 투표

PyPA 멤버는 공개된 PyPA 소통 채널에서 제안을 제출하고 투표를 요청할 수 있습니다. PyPA 커미터 투표는 제안자가 아닌 다른 PyPA 커미터가 제안에 재청하면 시작됩니다.

제안은 PyPA-Committers 메일링 리스트에서 7일 동안 투표에 부쳐집니다. 각 PyPA 커미터는 한 번 투표할 수 있으며, +1과 -1 중 하나를 선택할 수 있습니다. 기록된 표의 3분의 2 이상이 +1이면 투표는 가결됩니다.

PyPA 커미터 투표는 다음 종류의 제안에 필요하며, 이러한 제안에만 한정됩니다:

PyPA에 프로젝트 추가

프로젝트를 PyPA 조직에 받아들이자는 제안입니다. 이 제안에 대해 프로젝트의 기존 유지 관리자가 반대하지 않아야 합니다.

PyPA에 새 프로젝트 생성

PyPA 조직에 새 도구나 프로젝트를 만들자는 제안입니다.

PyPA에서 프로젝트 제거

PyPA 조직에서 프로젝트를 제거하자는 제안입니다.

거버넌스/명세 프로세스 변경

PyPA의 운영 방식을 바꾸자는 제안으로, 명세 및 거버넌스 프로세스와 이 PEP의 변경을 포함하되 이에 국한되지 않습니다.

PyPA 탈퇴

PyPA 조직에 속한 프로젝트는 PyPA 탈퇴를 요청할 수 있습니다.

이러한 요청은 해당 프로젝트의 커미터가 PyPA-Committers 메일링 리스트에서 할 수 있으며, 저장소를 이전받을 GitHub 사용자/조직을 명확히 밝혀야 합니다.

7일 동안 같은 프로젝트의 다른 커미터가 요청에 반대하지 않으면, 해당 프로젝트는 PyPA를 탈퇴하고 요청에 따라 PyPA 조직 밖으로 이전됩니다.

행동 강령 집행

PyPA 조직에 속한 각 프로젝트는 사건 신고 지침과 집행 절차를 포함하여 the PSF Code of Conduct를 따릅니다.

PyPA 멤버는 솔선수범할 책임이 있습니다. PyPA 멤버는 때때로 자신의 프로젝트에서 구성원의 행동을 더 명시적으로 중재해야 할 수 있으며, PyPA 조직에 속한 각 프로젝트는 행동 강령 관련 사건이 발생했을 때 연락할 수 있는 PyPA 멤버를 한 명 이상 지정해야 합니다. PyPA 멤버는 자신의 프로젝트와 관련된 행동 강령 사건을 전달받으면, 기록을 남기고 필요한 경우 지원을 받을 수 있도록 해당 사건을 the PSF Conduct WG에 보고해야 합니다.

참고 문헌