Django 프로젝트 구성¶
원칙¶
Django 프로젝트는 세 가지 목표를 추구하는 자원 봉사 팀에 의해 관리됩니다:
- Django 웹 프레임워크의 개발을 주도하고,
- Django 관련 소프트웨어 생태계를 육성하고,
- `Django Code of Conduct`_에 명시된 가치에 따라 Django 커뮤니티를 선도합니다.
The Django Project isn’t a legal entity. The Django Software Foundation, a non-profit organization, handles financial and legal matters related to the Django Project. Other than that, the Django Software Foundation lets the Django Project manage the development of the Django framework, its ecosystem and its community.
Mergers¶
특혜¶
Merger는 다음과 같은 특혜를 가집니다:
- `사소한 변경`_(`DEP process`_를 사용할 필요가 없을 정도로 작음)을 구성하는 모든 pull request를 병합합니다. pull request가 다음에 의해 승인되지 않은 병합자는 해당 Merger가 주로 작성한 변경 사항을 병합해서는 안됩니다.:
- 적절한 장소에서 사소한 변경에 대한 논의를 시작하고 논의가 진행되는 동안 다른 Merger에게 병합을 자제하도록 요청합니다.
- Requesting a vote of the steering council regarding any minor change if, in the Merger’s opinion, discussion has failed to reach a consensus.
- Requesting a vote of the steering council when a major change (significant enough to require the use of the DEP process) reaches one of its implementation milestones and is intended to merge.
멤버십¶
The steering council selects Mergers as necessary to maintain their number at a minimum of three, in order to spread the workload and avoid over-burdening or burning out any individual Merger. There is no upper limit to the number of Mergers.
Merger가 Django Fellow이기도 해야 한다는 요구 사항은 아니지만 Django Software Foundation은 Merger의 역할을 지속 가능하게 만드는 방법으로 Fellow 직책의 자금을 사용할 수 있는 권한이 있습니다.
Merger의 역할에는 다음과 같은 제한 사항이 적용됩니다.:
- A person must not simultaneously serve as a member of the steering council. If a Merger is elected to the steering council, they shall cease to be a Merger immediately upon taking up membership in the steering council.
- Releaser와 Merger의 역할을 동시에 수행할 수 있습니다.
The selection process, when a vacancy occurs or when the steering council deems it necessary to select additional persons for such a role, occur as follows:
- 적절한 토론 장소의 양호한 상태의 회원 또는 DSF의 Fellowship 위원회의 의견을 받는 Django Sofeware Foundation 이사회는 고려할 사람을 제안할 수 있습니다.
- The steering council considers the suggestions put forth, and then any member of the steering council formally nominates a candidate for the role.
- The steering council votes on nominees.
Mergers may resign their role at any time, but should endeavor to provide some advance notice in order to allow the selection of a replacement. Termination of the contract of a Django Fellow by the Django Software Foundation temporarily suspends that person’s Merger role until such time as the steering council can vote on their nomination.
그렇지 않으면, Merger는 다음과 같은 방법으로 자격이 박탈될 수 있습니다.:
- Becoming disqualified due to election to the steering council.
- Django Software Foundation의 행동 강령 위원회에서 취한 조치로 인해 자격이 박탈됩니다.
- A vote of the steering council.
Releasers¶
역할¶
Releasers are a small set of people who have the authority to upload packaged releases of Django to the Python Package Index and to the djangoproject.com website.
특혜¶
Releasers build Django releases and upload them to the Python Package Index and to the djangoproject.com website.
멤버십¶
The steering council selects Releasers as necessary to maintain their number at a minimum of three, in order to spread the workload and avoid over-burdening or burning out any individual Releaser. There is no upper limit to the number of Releasers.
Releaser가 Django Fellow이기도 해야 한다는 요구 사항은 아니지만 Django Software Foundation은 Releaser의 역할을 지속 가능하게 만드는 방법으로 Fellow 직책의 자금을 사용할 수 있는 권한이 있습니다.
Releaser와 Merger의 역할을 동시에 수행할 수 있습니다.
The selection process, when a vacancy occurs or when the steering council deems it necessary to select additional persons for such a role, occur as follows:
- 적절한 토론 장소의 양호한 상태의 회원 또는 DSF의 Fellowship 위원회의 의견을 받는 Django Sofeware Foundation 이사회는 고려할 사람을 제안할 수 있습니다.
- The steering council considers the suggestions put forth, and then any member of the steering council formally nominates a candidate for the role.
- The steering council votes on nominees.
Releasers may resign their role at any time, but should endeavor to provide some advance notice in order to allow the selection of a replacement. Termination of the contract of a Django Fellow by the Django Software Foundation temporarily suspends that person’s Releaser role until such time as the steering council can vote on their nomination.
그렇지 않으면, Releaser는 다음과 같은 방법으로 자격이 박탈될 수 있습니다.:
- Django Software Foundation의 행동 강령 위원회에서 취한 조치로 인해 자격이 박탈됩니다.
- A vote of the steering council.
Steering council¶
역할¶
The steering council is a group of experienced contributors who:
- Django의 개발 및 릴리스 프로세스를 감독하고,
- 기능 개발 및 릴리스의 방향을 설정하는 데 도움을 주고,
- 특정 역할을 수행하는 데 참여하고
- 다른 의사 결정 프로세스가 실패할 때 최종 투표를 합니다.
주요 역할은 Django 웹 프레임워크의 품질과 안정성을 유지하는 것입니다.
특혜¶
The steering council holds the following prerogatives:
- Django의 기술적 변경에 대한 질문에 대해 구속력 있는 결정을 내립니다.
- 특정 코드 조각을 Django로 병합하거나 특정 병합 또는 커밋의 되돌리기를 거부합니다.
- Django의 향후 기술 방향에 대한 제안 및 아이디어 요청을 발표합니다.
- Django 릴리스 일정 설정 및 조정.
- merger와 releaser를 선택하고 자격을 박탈합니다.
- Participating in the removal of members of the steering council, when deemed appropriate.
- Calling elections of the steering council outside of those which are automatically triggered, at times when the steering council deems an election is appropriate.
- Django의 조직 수정에 참여(Changing the organization 참조).
- Declining to vote on a matter the steering council feels is unripe for a binding decision, or which the steering council feels is outside the scope of its powers.
- Django 오픈 소스 프로젝트 내에서 다른 기술 팀을 담당하고 그에 따라 해당 팀을 관리합니다.
멤버십¶
The steering council is an elected group of five experienced contributors who demonstrate:
- A history of substantive contributions to Django or the Django ecosystem. This history must begin at least 18 months prior to the individual’s candidacy for the Steering Council, and include substantive contributions in at least two of these bullet points: - Code contributions on Django projects or major third-party packages in the Django ecosystem - Reviewing pull requests and/or triaging Django project tickets - Documentation, tutorials or blog posts - Discussions about Django on the django-developers mailing list or the Django Forum - Running Django-related events or user groups
- A history of engagement with the direction and future of Django. This does not need to be recent, but candidates who have not engaged in the past three years must still demonstrate an understanding of Django’s changes and direction within those three years.
A new council is elected after each release cycle of Django. The election process works as follows:
- The steering council directs one of its members to notify the Secretary of the Django Software Foundation, in writing, of the triggering of the election, and the condition which triggered it. The Secretary post to the appropriate venue – the django-developers mailing list and the Django forum to announce the election and its timeline.
- As soon as the election is announced, the DSF Board begin a period of voter registration. All individual members of the DSF are automatically registered and need not explicitly register. All other persons who believe themselves eligible to vote, but who have not yet registered to vote, may make an application to the DSF Board for voting privileges. The voter registration form and roll of voters is maintained by the DSF Board. The DSF Board may challenge and reject the registration of voters it believes are registering in bad faith or who it believes have falsified their qualifications or are otherwise unqualified.
- Registration of voters close one week after the announcement of the election. At that point, registration of candidates begin. Any qualified person may register as a candidate. The candidate registration form and roster of candidates are maintained by the DSF Board, and candidates must provide evidence of their qualifications as part of registration. The DSF Board may challenge and reject the registration of candidates it believes do not meet the qualifications of members of the Steering Council, or who it believes are registering in bad faith.
- Registration of candidates close one week after it has opened. One week after registration of candidates closes, the Secretary of the DSF publish the roster of candidates to the django-developers mailing list and the Django forum, and the election begin. The DSF Board provide a voting form accessible to registered voters, and is the custodian of the votes.
- Voting is by secret ballot containing the roster of candidates, and any relevant materials regarding the candidates, in a randomized order. Each voter may vote for up to five candidates on the ballot.
- The election conclude one week after it begins. The DSF Board then tally the votes and produce a summary, including the total number of votes cast and the number received by each candidate. This summary is ratified by a majority vote of the DSF Board, then posted by the Secretary of the DSF to the django-developers mailing list and the Django Forum. The five candidates with the highest vote totals are immediately become the new steering council.
A member of the steering council may be removed by:
- Django Software Foundation의 행동 강령 위원회에서 취한 조치로 인해 자격이 박탈됩니다.
- Determining that they did not possess the qualifications of a member of the steering council. This determination must be made jointly by the other members of the steering council, and the DSF Board. A valid determination of ineligibility requires that all other members of the steering council and all members of the DSF Board vote who can vote on the issue (the affected person, if a DSF Board member, must not vote) vote “yes” on a motion that the person in question is ineligible.
Changing the organization¶
Changes to this document require the use of the DEP process, with modifications described in DEP 0010.