이 문서는 옥스포드 대학의 자비로운 독재자 거버넌스 모델을 기반으로합니다. 크리에이티브 커먼즈 Attribution-ShareAlike 2.0 UK: England & Wales License에 따라 제공됩니다.
NuGet 프로젝트는 자비로운 독재자에 의해 주도되고 지역 사회에 의해 관리됩니다. 즉, 지역 사회는 프로젝트의 일상적인 유지 보수에 적극적으로 기여하지만, 일반적인 전략적 라인은 자비로운 독재자에 의해 그려집니다. 불일치의 경우, 자비로운 독재자는 마지막 단어를 가지고있다.
지역 사회 내의 분쟁을 해결하고 프로젝트가 조정 된 방식으로 진행 될 수 있도록하는 것은 자비로운 독재자의 일입니다. 차례로, 적극적인 참여와 기여를 통해 자비로운 독재자의 결정을 안내하는 것은 지역 사회의 일입니다.
역할 및 책임
여기에는 자비로운 독재자, 커밋자, 기여자 및 사용자라는 네 가지 역할이 설명되어 있습니다.
자비로운 독재자
NuGet 핵심 팀은 자비로운 독재자 또는 프로젝트 리더로 자체 임명됩니다. 그러나 커뮤니티는 항상 포크할 수 있기 때문에 팀은 커뮤니티에 완전히 책임을 집니다. 프로젝트 리더는 지역 사회 전체를 이해하고 가능한 한 많은 상충되는 요구를 충족하는 동시에 프로젝트가 장기적으로 살아남을 수 있도록 노력할 것으로 예상됩니다.
여러 면에서 자비로운 독재자의 역할은 독재와 외교에 관한 것이 아닙니다. 핵심은 프로젝트가 확장됨에 따라 적절한 사람들에게 영향력을 부여하고 프로젝트 리더의 비전 뒤에 커뮤니티 집회가 이루어지도록 하는 것입니다. 그런 다음, 리드의 작업은 커밋자(아래 참조)가 프로젝트를 대신하여 올바른 결정을 내릴 수 있도록 하는 것입니다. 일반적으로 커밋자가 프로젝트의 전략에 부합하는 한 프로젝트 리더는 원하는 대로 진행할 수 있습니다.
또한 .NET Foundation 직원은 도메인 등록 및 기술 서비스(예: 코드 서명)를 비롯한 비즈니스 작업을 위해 프로젝트가 NuGet의 기본 또는 첫 번째 연락 지점을 이끌고 있다고 간주합니다.
커밋자
커밋자는 NuGet에 지속적으로 귀중한 공헌을 했으며 자비로운 독재자에 의해 임명된 기여자입니다. 일단 임명되면 커밋자는 리포지토리에 직접 코드를 작성하고 다른 사람의 기여를 선별하는 데 의존합니다. 커밋자는 종종 개발자이지만 다른 방법으로 기여할 수 있습니다.
일반적으로 커밋자는 프로젝트의 특정 측면에 중점을 두고 커뮤니티와 프로젝트 리더의 존경을 받는 수준의 전문 지식과 이해를 제공합니다. 커밋자의 역할은 공식적인 역할이 아니며, 프로젝트 리더가 지침과 지원을 요청함에 따라 지역 사회의 영향력있는 구성원이 가정하는 위치일 뿐입니다.
커밋자는 NuGet의 전반적인 방향과 관련된 권한이 없습니다. 그러나 프로젝트 리더의 귀가 있습니다. 리더가 지역 사회의 요구 사항과 집단적 목표를 인식하고 프로젝트에 대한 적절한 기여를 개발하거나 유도하는 데 도움을 주는 것은 커밋자의 일입니다. 커밋자는 특정 책임 영역을 비공식적으로 제어할 수 있으며 소스 코드의 특정 영역을 직접 수정할 수 있는 권한이 할당되는 경우가 많습니다. 즉, 커밋자는 명시적 의사 결정 권한이 없지만 종종 자신의 행동이 리드의 결정과 동의어임을 알게 될 것입니다.
기여자
참가자는 NuGet에 패치를 제출하는 커뮤니티 구성원입니다. 이러한 패치는 일회성 발생이거나 시간이 지남에 따라 발생할 수 있습니다. 기대하는 바는 기여자가 처음에는 작은 패치를 제출하고, 기여자, 커밋자 및 프로젝트 리더가 기여자의 패치 품질에 대한 신뢰를 쌓으면 점차 더 큰 패치를 제출하는 것입니다. 기여자는 관련 제품 릴리스 정보 문서에서 인식됩니다.
참가자의 첫 번째 패치가 리포지토리에 배치되기 전에 참가자 라이선스 계약 또는 .NET Foundation에 대한 할당 계약에 서명해야 합니다. 패치를 제출하고 논의할 수 있지만 적절한 서류가 없으면 실제로 리포지토리에 커밋할 수 없습니다. 기여자 라이선스 계약을 얻으려면 이메일로 contributions@nuget.org요청을 보내주세요.
참가자가 되려면 다음 리포지토리 중 하나에 끌어오기 요청을 제출합니다.
끌어오기 요청을 제출하는 자세한 프로세스는 리포지토리에 따라 다릅니다.
Users
사용자는 NuGet을 패키지 소비자 및/또는 작성자로 사용해야 하는 커뮤니티 구성원입니다. 사용자는 커뮤니티에서 가장 중요한 구성원입니다. 사용자가 없으면 프로젝트에는 목적이 없습니다. 누구나 사용자가 될 수 있습니다. 특정 요구 사항은 없습니다.
사용자는 가능한 한 많이 NuGet 및 커뮤니티의 활동에 참여하도록 권장되어야 합니다. 사용자 기여를 통해 프로젝트 팀은 해당 사용자의 요구를 충족하는지 확인할 수 있습니다. 일반적인 사용자 활동은 다음을 포함하지만 제한되지는 않습니다.
- 프로젝트 사용 옹호
- 개발자에게 새 사용자의 관점에서 프로젝트 강점 및 약점을 알릴 수 있습니다.
- 도덕적 지원을 제공 (감사는 먼 길을 간다)
- 설명서 및 자습서 작성
- 버그 보고서 및 기능 요청 제출
- 버그 바시와 같은 커뮤니티 행사에 참여하기
- 토론 게시판 또는 포럼에 참여
프로젝트 및 커뮤니티에 계속 참여하는 사용자는 점점 더 많이 참여하게 됩니다. 이러한 사용자는 위에서 설명한 대로 참가자가 될 수 있습니다.
특별한 상황에서 패키지 승계
NuGet 계정 소유자가 무능력하거나 사망한 불행한 상황에서는 커뮤니티와 협력하여 해당 계정에 단독 소유권이 있고 패키지가 OSI 승인 라이선스에 따라 게시되는 패키지에 적절한 소유자/s를 추가합니다. 소유권을 요청하려면 다음 문서를 보내야 합니다.
- 정부가 발행한 사진 ID의 복사입니다.
- 이전 계정 소유자의 상태를 증명하는 다음 문서 중 하나입니다.
- 이전 계정 소유자가 사망한 경우 정부에서 발급한 공식 사망 증명서 또는
- 무능력한 계정 소유자의 치료를 담당하는 의료 전문가가 서명한 인증서와 같은 인증된 문서입니다.
- 소유권을 증명하는 다음 문서 중 하나입니다.
- 귀하가 계정 소유자의 생존 배우자임을 보여주는 결혼 증명서,
- 서명된 변호사 권한,
- 실행자 또는 수혜자로 이름을 지정하는 의지 또는 신뢰 문서의 복사본,
- 계정 소유자의 출생 증명서(부모인 경우) 또는
- 계정 소유자의 법적 보호자인 경우 후견인 서류.
이 정책을 호출해야 하는 경우 패키지의 ID 및 버전으로 이메일을 support@nuget.org 보내주세요.
투명성
오픈 소스 프로젝트의 거버넌스에 대한 커뮤니티 신뢰를 구축하는 것은 성공에 매우 중요합니다. 이를 위해서는 투명하고 개방적인 방식으로 의사 결정을 내려야 합니다. 프로젝트의 방향에 대한 논의는 공개적으로 수행해야 합니다. 지역 사회는 베네볼런트 딕테이터의 결정에 의해 불시에 당하는 일이 없어야 합니다. 또한 지역 사회 구성원이 결정의 전체 기록 및 컨텍스트를 이해할 수 있도록 프로젝트 결정에 대한 논의를 보관해야 합니다.