Browse files

Updated code of conduct draft to latest version, including:

- Changes to the code itself to be explicit about what we consider to be harassment.
- Splitting the FAQ into a separate document.
- Adding the reporting guide and enforcement manual.
  • Loading branch information...
jacobian committed Jul 15, 2013
1 parent 67284e4 commit ae21fb5cb1f7edfca5b5556d92fb86186d92aeb3
@@ -27,7 +27,10 @@
url(r'^accounts/', include('accounts.urls')),
url(r'^admin/', include(,
url(r'^community/', include('aggregator.urls')),
- url(r'^conduct/$', TemplateView.as_view(template_name='code_of_conduct.html'), name='code_of_conduct'),
+ url(r'^conduct/$', TemplateView.as_view(template_name='conduct/index.html'), name='code_of_conduct'),
+ url(r'^conduct/faq/$', TemplateView.as_view(template_name='conduct/faq.html'), name='conduct_faq'),
+ url(r'^conduct/reporting/$', TemplateView.as_view(template_name='conduct/reporting.html'), name='conduct_reporting'),
+ url(r'^conduct/enforcement-manual/$', TemplateView.as_view(template_name='conduct/enforcement.html'), name='conduct_enforcement'),
url(r'^contact/', include('contact.urls')),
url(r'^r/', include('django.conf.urls.shortcut')),
@@ -0,0 +1,27 @@
+{% extends "base_community.html" %}
+{% block content-related %}
+<h2>Django Community Code of Conduct</h2>
+<li><a href="/conduct/">Code of Conduct</a></li>
+<li><a href="/conduct/faq/">Frequently Asked Questions</a></li>
+<li><a href="/conduct/reporting/">Reporting Guide</a></li>
+<li><a href="/conduct/enforcement-manual/">Enforcement Manual</a></li>
+{% endblock %}
+{% block title %}Django Code of Conduct - DRAFT{% endblock %}
+{% block extrahead %}
+ {{ block.super }}
+ <style type="text/css">
+ h3 a.plink { display: none; }
+ h3:hover a.plink { display: inline; }
+ p.message {
+ background-color: #ffe761;
+ padding: 8px;
+ }
+ </style>
+{% endblock extrahead %}
@@ -0,0 +1,115 @@
+{% extends "conduct/base.html" %}
+{% block title %}Django Code of Conduct - Enforcement Manual{% endblock %}
+{% block content %}
+<h1>Django Code of Conduct - Enforcement Manual</h1>
+<h2 class="deck">This is enforcement manual followed by Django's Code of
+Conduct Working Group. It's used when we respond to an issue to make sure we're
+consistant and fair. It should be considered an internal document, but we're
+publishing it publically in the interests of transparancy.<h2>
+<h3>The Conduct Working Group</h3>
+<p>All responses to reports of conduct violations will be managed by a Code of
+Conduct Working Group ("the working group").</p>
+<p>The Django Software Foundation's Board of Directors ("the board") will establish
+this working group, compromised of at least three members. One member will be
+designated chair of the group and will be responsible for all reports back to
+the board. The board will review membership on a regular basis.</p>
+<h3>How the working group will respond to reports</h3>
+<p>When a report is sent to the working group they will immediately reply to the
+report to confirm receipt. This reply must be sent within 24 hours, and the
+group should strive to respond much quicker than that.</p>
+<p>See the <a href="/conduct/reporting/">reporting guidelines</a> for details of
+what reports should contain. If a report doesn't contain enough information, the
+working group will obtain all relevant data before acting. The working group in
+empowered to act on the DSF's behalf in contacting any individuals involved to
+get a more complete account of events.</p>
+<p>The working group will then review the incident and determine:
+ <li>What happened.</li>
+ <li>Whether this event constitutes a code of conduct violation.</li>
+ <li>Who the bad actor was.</li>
+ <li>Whether this is an ongoing situation, or if there is a threat to anyone's physical safety.</li>
+<p>This information will be collected in writing, and whenever possible the
+group's deliberations will be recorded and retained (i.e. IRC transcripts, email
+discussions, recorded voice conversations, etc).</p>
+<p>The working group should aim to have a resolution agreed upon within one week.
+In the event that a resolution can't be determined in that time, the group will
+respond to the reporter(s) with an update and projected timeline for resolution.
+Handling ongoing incidents or safety issues</p>
+<h3>Acting Unilaterally</h3>
+<p>If the act is ongoing (such as someone being harassing in #django), or involves
+a threat to anyone's safety (i.e. threats of violence), any working group member
+may act immediately (before reaching consensus) to end the situation. In ongoing
+situations, any member may at their discretion employ any of the tools available
+to the working group, including bans and blocks.</p>
+<p>If the incident involves physical danger, any member of the working group may --
+and should -- act unilaterally to protect safety. This can include contacting
+law enforcement (or other local personnel) and speaking on behalf of the DSF.</p>
+<p>In situations where an individual group members acts unilaterally, they must
+report their actions to the working group for review within 24 hours.</p>
+<p>The working group must agree on a resolution by consensus. If the group cannot
+reach consensus and deadlocks for over a week, the group will turn the matter
+over to the board for resolution.</p>
+<p>Possible responses may include:
+ <li>Nothing (if we determine no violation occurred).</li>
+ <li>A private reprimand from the working group to the individual(s) involved. In this case, the group chair will deliver that reprimand to the individual(s) over email, cc'ing the group.</li>
+ <li>A public reprimand. In this case, the group chair will deliver that reprimand in the same venue that the violation occurred (i.e. in IRC for an IRC violation; email for an email violation, etc.). The group may choose to publish this message elsewhere for posterity.</li>
+ <li>An imposed vacation (i.e. asking someone to "take a week off" from a mailing list or IRC). The group chair will communicate this "vacation" to the individual(s). They'll be asked to take this vacation voluntarily, but if they don't agree then a temporary ban may be imposed to enforce this vacation.</li>
+ <li>A permanent or temporary ban from some or all Django spaces (mailing lists, IRC, etc.). The group will maintain records of all such bans so that they may be reviewed in the future, extended to new Django fora, or otherwise maintained.</li>
+ <li>A request for a public or private apology. The chair will deliver this request. The group may, if it chooses, attach "strings" to this request: for example, the group may ask a violator to apoligize in order to retain his membership on a mailing list.</li>
+<p>Once a resolution is agreed upon, but before it is enacted, the working group
+will contact the original reporter and any other affected parties and explain
+the proposed resolution. The working group will ask if this resolution is
+acceptable, and must note feedback for the record. However, the working group is
+not required to act on this feedback.</p>
+<p>Finally the working group will make a report for the DSF board (as well as the
+Django core team in the event of an ongoing resolution, such as a ban).</p>
+<p>The working group will never publicly discuss the issue; all public statements
+will be made by the DSF board.</p>
+<h3>Conflicts of Interest</h3>
+<p>In the event of any conflict of interest a working group member must immediately
+notify the other members, and recuse themselves if necessary.</p>
+<p><i>Editor's note: Writing this document posed a unique challenge. Most
+similar guides are written on the assumption of an in-person event. However, the
+Django community doesn't exist in one place, and most of the time we're spread
+out across the world and interact online. This makes trying to define and
+enforce community standards a different type of challenge. This document is
+adapted from the <a href="">Ada Initiative template</a> and the <a href="">PyCon 2013 Procedure for
+Handling Harassment Incidents</a>, but changed to reflect the nature of our
+community. It is our expectation that this will be a living document and change
+as we grow to understand how to meet this challenge and best serve our community
+and ideals.</i></p>
+{% endblock %}
@@ -0,0 +1,101 @@
+{% extends "conduct/base.html" %}
+{% block title %}Django Code of Conduct - FAQ{% endblock %}
+{% block content %}
+<h1>Django Code of Conduct - FAQ</h1>
+<h2 class="deck">
+This FAQ attempts to address common questions and concerns around the Django
+communnity's <a href="/conduct/">Code of Conduct</a>. If you still have
+questions after reading it, please feel free to
+<a href="">contact us</a>.
+<h3 id="why-adopt">Why are you adopting a Code of Conduct? <a class="plink" href="#why-adopt">¶</a></h3>
+ <p>We think the Django community is awesome. If you're familiar with the Django
+ community, you'll probably notice that the text above basically matches what
+ we already do. Think of this as documentation: we're taking implicit
+ expectations about behavior and making them explicit.</p>
+ <p>We're doing this because the Django community is growing faster than any of
+ us could have anticipated. This is on balance a very positive thing, but
+ as we've grown past the point where it's possible to know the whole community
+ we think it's very important to be clear about our values.</p>
+ <p>We know that the Django community is open, friendly, and welcoming. We want to
+ make sure everyone else knows it too.</p>
+<h3 id="what-does-it-mean">What does it mean to "adopt" a Code of Conduct? <a class="plink" href="#what-does-it-mean">¶</a></h3>
+ <p>For the most part, we don't think it means large changes. We think that the text
+ does a really good job describing the way the Django community already conducts
+ itself. We expect that most people will simple continue to behave in the
+ awesome way they have for years.</p>
+ <p>However, we do expect that people will abide by the spirit and words of the CoC
+ when in "official" Django spaces. We're proposing that this code — or rather,
+ the final draft of it — be adopted simultaneously by the Django core team and by
+ the Django Software Foundation. So that means that it'll apply both in community
+ spaces <em>and</em> at DSF events.</p>
+ <p>In practice, this means mailing lists (django-users, django-developers, etc.),
+ the various Django IRC channels (<tt>#django</tt>, <tt>#django-dev</tt>, etc.), bug
+ tracking and code review tools, and "official" Django events such as sprints.</p>
+<h3 id="dsf-events">What about events funded by the Django Software Foundation? <a class="plink" href="#dsf-events">¶</a></h3>
+ <p>This Code of Conduct also covers any events that the DSF funds. However, events
+ funded by the DSF already
+ <a class="plink" href="">require a code of conduct</a>.
+ Isn't this redundant?</p>
+ <p>No: there's a difference between the two, and they're complementary.</p>
+ <p>This Code of Conduct is all about how we interact as a community. It's about
+ saying that the Django community will be open, friendly, and welcoming.
+ The core issue is about ensuring the conversations we have are productive
+ and inviting for all.</p>
+ <p>Real-life events, however, require a bit more care. The DSF wants to be sure
+ that any events it funds have policies and procedures in place for handling
+ harassment. It's especially important to us that real-life events take steps to
+ protect the physical and mental security of their participants.</p>
+ <p>So the DSF will require that any events it funds have some sort of anti-
+ harassment policy in place. The DSF thinks the
+ <a href="">Ada Initiative's template</a>
+ is pretty good, but we're open to alternatives.</p>
+<h3 id="violations">What happens if someone violates the Code of Conduct? <a class="plink" href="#violations">¶</a></h3>
+ <p>Our intent is that the anyone in the community can stand up for this code,
+ and direct people who're unaware to this document. If that doesn't work,
+ or if you need more help, you can contact
+ <a href=""></a>.
+ For more details please see our
+ <a href="/conduct/reporting/">Reporting Guidlines</a></p>
+<h3 id="why-do-we-need">Why do we need a Code of Conduct? Everyone knows not to be a jerk. <a class="plink" href="#why-do-we-need">¶</a></h3>
+ <p>Sadly, not everyone knows this.</p>
+ <p>However, even if everyone was kind, everyone was compassionate, and everyone was
+ familiar with codes of conduct it would still be incumbent upon our community to
+ publish our own. Maintaining a code of conduct forces us to consider and
+ articulate what kind of community we want to be, and serves as a constant
+ reminder to put our best foot forward. But most importantly, it serves as a
+ signpost to people looking to join our community that we feel these values are
+ important.</p>
+<h3 id="free-speech">This is censorship! I have the right to say whatever I want! <a class="plink" href="#free-speech">¶</a></h3>
+ <p>You do -- in <em>your</em> space. If you'd like to hang out in <em>our</em> spaces (as
+ clarified above), we have some simple guidelines to follow. If you want to, for
+ example, form a group where Django is discussed using language inappropriate for
+ general channels then nobody's stopping you. We respect your right to establish
+ whatever codes of conduct you want in the spaces that belong to you. Please
+ honor this Code of Conduct in our spaces.</p>
+{% endblock %}
Oops, something went wrong.

0 comments on commit ae21fb5

Please sign in to comment.