Skip to content

Commit 44282bf

Browse files
authored
Merge pull request #91 from django/docs/update-process-docs
Update the policy docs to align with Contributor Covenant 3
2 parents 23feb45 + 803d7aa commit 44282bf

17 files changed

Lines changed: 1475 additions & 790 deletions

CONTRIBUTING.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# What is django/code-of-conduct?
22

3-
This repository is used by Django Software Foundation Code of Conduct committee
4-
to transparently describe how the committee enforces the Code of Conduct for
3+
This repository is used by Django Software Foundation Code of Conduct Working Group
4+
to transparently describe how the working group enforces the Code of Conduct for
55
Django community. It's our internal set of documentation with processes that
66
drive our work that we decided to make public with an aim to:
77

@@ -21,7 +21,7 @@ While contributing ideas and feedback, please keep in mind that this is still
2121
our internal documentation, so suggesting concepts that work well for other
2222
communities may not directly translate to our work.
2323

24-
### Changelog
24+
### Changelog
2525

2626
When submitting a pull request to suggest a change, make sure to also update
2727
our [change log](CHANGELOG.md).
@@ -30,5 +30,4 @@ our [change log](CHANGELOG.md).
3030

3131
This repository is also under the [Django Code of
3232
Conduct](https://www.djangoproject.com/conduct/). By contributing to it, you
33-
agree to comply with it.
34-
33+
agree to comply with it.

README.md

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,59 @@
33
On 31st July 2013, [Django community adopted a Code of
44
Conduct](https://www.djangoproject.com/weblog/2013/jul/31/django-adopts-code-of-conduct/).
55
This documentation aims to transparently describe how the Django Code of Conduct
6-
committee enforces the Code of Conduct and how it all works behind the scenes.
6+
Working Group enforces the Code of Conduct and how it all works behind the scenes.
77

88
There is still a lot we're figuring out and learning as we go, so we don't
99
consider this documentation to be finished or complete. However, we hope it's
1010
going to be useful base for other communities to not only adopt, but also
11-
implement and enforce the Code of Conduct.
11+
implement and enforce the Code of Conduct.
1212

13-
## Table of Contents
13+
**Note:** Within the scope of all the documents in this repository, any reference to the “working group” shall mean the "Code of Conduct Working Group", unless explicitly specified otherwise.
1414

15-
- [Structure of membership in the committee](membership.md)
16-
- [Report handling procedure](reports.md)
17-
- [Communications guidelines](communications.md)
18-
- [Record-keeping](records.md)
19-
- [Support for conference organizers](conferences.md)
20-
- [Transparency](transparency.md)
21-
- [Statistics](statistics.md)
15+
## Documentation for the Community
16+
17+
Public-facing documentation for community members:
18+
19+
- [Reporting Guide](reporting-guide.md) - How to report Code of Conduct violations
20+
- [Enforcement Ladder](enforcement-ladder.md) - Overview of enforcement actions
21+
- [FAQ](faq.md) - Frequently asked questions about the Code of Conduct
22+
- [Support for Event Organizers](events.md) - How we support event organizers
23+
- [Support for Affiliated Programs](affiliated-programs.md) - How to become an affiliated program and transparency reporting requirements
24+
- [Transparency](transparency.md) - How we maintain transparency and accountability
25+
26+
## Documentation for Working Group Members
27+
28+
Internal procedures and guidelines:
29+
30+
- [Working Group Manual](working-group-manual.md) - Complete internal manual covering:
31+
- Report handling procedures
32+
- Communications guidelines
33+
- Record-keeping and confidentiality
34+
- Evaluation criteria and enforcement
35+
- [Membership](membership.md) - Current and past working group members
36+
- [Statistics](statistics.md) - Aggregated data on reports and outcomes
2237

2338
## Other
2439

2540
- [Contributing to this documentation](CONTRIBUTING.md)
2641
- [Change log](CHANGELOG.md)
42+
- [Sources](sources.md) - Documents and policies that inspired our approach
2743

28-
## Related material
44+
## Related Material
2945

3046
Here is how the Code of Conduct is presented on djangoproject.com:
3147

3248
- [Content of the Django Code of Conduct](https://www.djangoproject.com/conduct/)
3349
- [Changes to the Code of Conduct contents](https://www.djangoproject.com/conduct/changes/)
3450
- [Django Code of Conduct - FAQ](https://www.djangoproject.com/conduct/faq/)
35-
- [List of Code of Conduct committee members](https://www.djangoproject.com/foundation/committees/#conduct)
51+
- [List of Code of Conduct working group members](https://www.djangoproject.com/foundation/committees/#conduct)
3652
- [Reporting Guide](https://www.djangoproject.com/conduct/reporting/)
3753
- [Enforcement Manual](https://www.djangoproject.com/conduct/enforcement-manual/)
3854
- [Django Software Foundation Code of Conduct requirement](https://www.djangoproject.com/foundation/code-of-conduct/)
3955

56+
**Note:** The internal [Working Group Manual](working-group-manual.md) in this repository consolidates and expands upon the public enforcement manual with additional procedures and guidelines.
57+
4058
## License
4159

4260
All content in this repository is licensed under a [Creative Commons
43-
Attribution](http://creativecommons.org/licenses/by/3.0/) license.
44-
45-
61+
Attribution](http://creativecommons.org/licenses/by/3.0/) license.

affiliated-programs.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Django Code of Conduct Support for Affiliated Programs and Communities
2+
3+
The Django Code of Conduct Working Group can serve as an escalation point for Django-related projects and communities that maintain their own Code of Conduct processes.
4+
5+
This document outlines the requirements for becoming an affiliated program or community, how the Django Code of Conduct Working Group supports affiliated programs, and transparency reporting guidelines.
6+
7+
## Becoming an Affiliated Program or Community
8+
9+
Django-related projects and spaces may ask to designate the Django Code of Conduct Working Group as an escalation point in their own Code of Conduct process. To do so, they must:
10+
11+
1. Adopt their own complementary Code of Conduct
12+
2. Reach out to [conduct@djangoproject.com](mailto:conduct@djangoproject.com) and request to be added to the Django Code of Conduct's scope
13+
3. If approved, outline in their reporting procedures that reports may be escalated to the Django Code of Conduct Working Group in the following circumstances:
14+
- The report concerns a member of the project's Code of Conduct Committee
15+
- The project's Code of Conduct Committee has failed to respond to a report
16+
- As a point of appeal within 30 days of the original decision
17+
4. Publish transparency reports at least annually (quarterly preferred) following the guidelines outlined in this document
18+
19+
Upon approval of a request, the Django Code of Conduct Working Group will add the project or community to the list of affiliated projects and spaces in the [Code of Conduct's scope section](CODE_OF_CONDUCT.md#scope).
20+
21+
## Working with the Django Code of Conduct Working Group
22+
23+
### Initial Setup
24+
25+
- When establishing your Code of Conduct process, you can reach out to us for guidance on creating effective reporting procedures and enforcement guidelines.
26+
- We can review your Code of Conduct documentation to ensure it clearly outlines how and when to escalate to the Django Code of Conduct Working Group.
27+
28+
### Ongoing Operations
29+
30+
- If you encounter a Code of Conduct violation that falls under the escalation criteria outlined in your procedures, you can escalate to the Django Code of Conduct Working Group.
31+
- We encourage you to keep records of all Code of Conduct incidents you handle, even those that don't require escalation. These records help create a comprehensive understanding of community safety across Django-related spaces.
32+
33+
### Reporting to the Working Group
34+
35+
Affiliated programs and communities are strongly encouraged to share summaries of Code of Conduct incidents they handle with the working group. While detailed private records should be maintained by your team, sharing incident summaries helps the Django Code of Conduct Working Group:
36+
37+
- Maintain a central record of incidents across the Django ecosystem
38+
- Identify patterns that may require broader community attention
39+
- Better support all affiliated programs and communities
40+
- Ensure consistency in Code of Conduct enforcement across Django spaces
41+
42+
Reports should include the date of the incident, a brief description of the facts, the actions taken, and the outcome. Names and identifiable information should only be included when necessary for escalation purposes.
43+
44+
Upon receiving reports from an affiliated program or community, the working group will:
45+
46+
- Confirm receipt of the reports
47+
- Review all reports
48+
- Assess whether any additional action from the working group is needed
49+
- Record all reports in the working group's records
50+
51+
### Transparency Report Guidelines
52+
53+
Publishing transparency reports is a critical step for building trust within your community and demonstrating that Code of Conduct issues are handled appropriately.
54+
55+
Note that this is guidance for public-facing transparency reports. For operational purposes, affiliated programs should also keep private records of all reports and issues, which should be shared with the Django Code of Conduct Working Group as outlined above.
56+
57+
#### When to release
58+
59+
Affiliated programs and communities should publish transparency reports **at least annually**, though **quarterly reporting is preferred** for active communities.
60+
61+
Regular reporting helps:
62+
63+
- Reporters know that their reports are taken seriously
64+
- Community members see that Code of Conduct enforcement is an ongoing priority
65+
- Demonstrate accountability and build trust in the process
66+
- Track trends and improvements over time
67+
68+
Reports should be released in a timely manner after the reporting period ends. Aim to publish within 30 days of the period's conclusion.
69+
70+
#### How to publish
71+
72+
Any official communication channel used with your community is appropriate for transparency reports. Examples include:
73+
74+
- Official website or blog
75+
- Community newsletter or mailing list
76+
- Forum posts or announcements
77+
- GitHub repository (e.g., in a dedicated transparency or reports folder)
78+
79+
Consider publishing in multiple channels to reach your entire community.
80+
81+
#### What to include
82+
83+
**General Information:**
84+
85+
- The reporting period covered (e.g., "Q1 2026" or "January 1 - December 31, 2025")
86+
- Brief description of your Code of Conduct process and how to report issues
87+
- Who serves on your Code of Conduct Committee
88+
- How community members can find reporting information
89+
90+
**Statistics:**
91+
92+
- Number of reports received during the period
93+
- Status of each report (resolved, in progress, escalated)
94+
- General categories of violations (if any occurred)
95+
- Historical comparison (if available) to show trends over time
96+
97+
**Process Information:**
98+
99+
- Average response time to initial reports
100+
- Any improvements made to the Code of Conduct process during the period
101+
- Any escalations to the Django Code of Conduct Working Group (without identifying details)
102+
103+
**Optional but Valuable:**
104+
105+
- Results from community surveys about confidence in the reporting process
106+
- Changes or updates to your Code of Conduct or procedures
107+
- Educational initiatives or resources provided to the community
108+
109+
#### What NOT to include
110+
111+
- Names or any identifiable information about reporters or reported parties
112+
- Specific details that could allow community members to identify individuals involved
113+
- Private or sensitive communications
114+
- Details that could adversely affect any ongoing processes or legal matters
115+
- Information that could discourage future reports
116+
117+
## Review and Renewal
118+
119+
The Django Code of Conduct Working Group may periodically review affiliated program status to ensure:
120+
121+
- The program continues to meet the affiliation requirements
122+
- Reporting procedures are being followed
123+
- Transparency reports are being published as expected
124+
- The relationship continues to serve both communities effectively
125+
126+
Programs that are no longer active or that do not maintain their Code of Conduct processes may be removed from affiliated status.
127+
128+
---
129+
130+
Our documents and policies are adapted from and inspired by a number of [sources](sources.md).

communications.md

Lines changed: 2 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,3 @@
1-
:point_left: [Come back to index](README.md)
1+
# Django Code of Conduct - Communications Guidelines
22

3-
# Django Code of Conduct
4-
5-
## Communications guidelines
6-
7-
When communicating with reporters and subjects of the report, it's important to
8-
keep the following in mind:
9-
10-
### Protect reporters
11-
12-
* Protecting reporters is our first priority. Never forward communication or
13-
disclose identities of reporters outside of the code of conduct committee,
14-
without the express written permission of the person concerned.
15-
* If adding or removing people from the recipients list of an email thread, note
16-
the change at the top of the email, like this:
17-
18-
> [+ John]
19-
> [- Eric]
20-
21-
this helps guard against someone accidentally sharing protected information
22-
without being aware of the recipients.
23-
24-
### Communicate professionally
25-
26-
* Different people will experience the same situation in different ways.
27-
Subjective or emotional language is easily misinterpreted or disputed, for
28-
example naming someone as thinking or feeling something. Instead, stick to
29-
observed facts.
30-
* Always cc conduct@djangoproject.com on communication, or forward replies that
31-
had the address removed.
32-
33-
### Confronting subjects of reports
34-
35-
* No matter how compelling the evidence, we need to give people who are subjects
36-
of reports some sort of "right of reply" before we finalise our decision. That
37-
doesn't mean we have to disclose details, or let them excuse their bad behavior -
38-
but we should engage them in a process, rather than just pronouncing a
39-
decision. If someone feels like they're engaged in a process, rather than just
40-
being railroaded, they're less likely to criticise the process after the fact.
41-
42-
* We need to make sure we don't lose sight of the goal. The goal isn't "get them" -
43-
it's "make the community safer". It's a subtle point, but an important one,
44-
because it shapes some of the actions we might take.
45-
46-
* To that end, one big piece of advice - don't underestimate just asking. If we
47-
ask problematic individuals not to attend Django events in future, rather than
48-
ban them, there's a good chance they'll just comply.
49-
50-
51-
### Sharing information about subjects of reports
52-
53-
Going public, or telling others, is sometimes necessary when the community
54-
remains at risk after the actions we can take in private.
55-
56-
When deciding to share information about a problematic individual, there's
57-
potential for claims of slander, libel, defamation of character and
58-
reputational damage. In serious cases we should seek legal advice. The
59-
following approaches mitigate this risk:
60-
61-
* We should do everything we can to get multiple corroboration of any complaint.
62-
That enables us to do two things:
63-
64-
1. Say "this is a pattern of behavior", not "this is one bad incident". This
65-
strengthens the case we can make for any action, because we're not
66-
"overreacting to one bad incident".
67-
2. Deflect the "blame" for reporting away from a specific reporter.
68-
69-
* There's a difference between giving someone information, and telling them what
70-
to do. If we *told* event organizers "Don't invite this person", then we're the
71-
direct cause of any reputational damage they may suffer. If, however, we tell
72-
organizers that a person has been the subject of (1 or more) code of conduct
73-
complaints, relating to incidents x, y and z - but leave the decision as to
74-
whether they are banned/not invited up to the organizers - then the DSF has
75-
more legal cover, because all we're doing is providing information, not
76-
directing action.
77-
78-
* Any information we communicate needs to be written down, not done over
79-
Skype/Hangout. If we tell community organizers about problem individuals, we
80-
need to email our response, and make sure we're very careful in our language so
81-
that it's perfectly clear that it's up to *them* what they choose to do with
82-
the information we give them.
83-
84-
* We need to make sure we follow our process to the letter. Any claims made about
85-
"reckless behavior leading to loss of reputation" will hinge on whether we
86-
actually followed our own processes.
87-
88-
----
89-
90-
[Go to next chapter: Record-keeping](records.md) :point_right:
3+
**⚠️ DEPRECATED:** This document has been consolidated into the [Working Group Manual](working-group-manual.md#communications-guidelines).

conferences.md

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)