We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Stress Testing Your Code of Conduct in Production

00:00

Formal Metadata

Title
Stress Testing Your Code of Conduct in Production
Title of Series
Part Number
45
Number of Parts
52
Author
License
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The Django and Python communities have made codes of conducts a standard feature for many years now. But what exactly is a code of conduct? How does it work in practice? Why do we need them? What you should report? What are the consequences of having one? We (Ola & Baptiste) have been working as CoC points of contacts at many conferences for the past few years: EuroPython 2014, DjangoCon Europe (2015 and 2016), and Django Under the Hood (2014, 2015). This has given us a unique insight into the inner workings and practical implications of codes of conducts and we want to share it with the Django community. The talk will start with a brief history of codes of conducts. From then, we'll go over some of the challenges and pitfalls of implementing a CoC in our communities or events. After that, we'll show how CoC work in practice and answer some common questions about them. We will then briefly talk about how lessons learnt from CoC world can be applied successfully in your daily job to grow supportive and strong teams. Finally, we'll finish off by showing the new standardized CoC processes that we've been working on. With this talk, we want to continue the process we've started of bringing CoC to the front of the stage, making them more transparent and less taboo. We believe that CoC are an essential part of any community and we'd like to share our vision for how we think ours should work.
13
Thumbnail
42:32
Multiplication signMachine codeLimit (category theory)TwitterProjective planeExpert systemPoint (geometry)SequenceType theoryTranslation (relic)AnalogySystem callDot productCorrespondence (mathematics)Connectivity (graph theory)Logic synthesisFocus (optics)Moment (mathematics)HypermediaOpen sourceEvent horizonProduct (business)Standard deviationState of matterDependent and independent variablesRevision controlWorkstation <Musikinstrument>Interactive televisionRankingSpeciesOrder (biology)Cellular automatonSelf-organizationMereologyPattern languageView (database)WordSimilarity (geometry)Electronic mailing listWell-formed formulaLogic gateTheoryCASE <Informatik>Sound effectComputer programmingNumberVirtual machineForm (programming)Level (video gaming)Universe (mathematics)Goodness of fitBitInstant MessagingWhiteboardSpacetimeSoftwareForestImplementationRule of inferenceTraffic reportingShared memoryYouTubeWebsiteMachine codeSoftware developerComputer animation
SpacetimeBasis <Mathematik>CondensationThermodynamischer ProzessBoundary value problemMessage passingMachine codeWordExecution unitRule of inferenceTheoryPhysicalismFeedbackRight angleDependent and independent variablesTwitterFormal languageSelf-organizationArithmetic meanService (economics)EmailNumberPoint (geometry)Term (mathematics)Content (media)SpeciesMultiplication signMathematics1 (number)Group actionProduct (business)Operator (mathematics)HypermediaView (database)Office suiteMereologySummierbarkeitState of matterKey (cryptography)Drop (liquid)Mathematical analysisFilm editingTraffic reportingProcess (computing)Event horizonMoment (mathematics)Level (video gaming)Pattern languagePlanningComputer animation
Lattice (order)Traffic reportingControl flowNumberTwitterEvent horizonFlow separationMachine codeGroup actionSemiconductor memoryTrailMereologyIncidence algebraThermodynamischer ProzessDependent and independent variablesElectronic mailing listLoop (music)View (database)CASE <Informatik>Point (geometry)EmailRandomizationMultiplication signTask (computing)Decision theorySelf-organizationDigital photographyStapeldateiInformationTelecommunicationGraph coloringFrame problemSheaf (mathematics)Mechanism designQuicksortData storage deviceKey (cryptography)Inheritance (object-oriented programming)Software developerPerformance appraisalSinc functionCuboidResultantLevel (video gaming)AuthorizationGoodness of fitComputer animation
CASE <Informatik>Event horizonTraffic reportingPoint (geometry)Limit (category theory)Standard deviationInformation securityMultiplication signAreaThermodynamischer ProzessSystem callGroup actionMachine codeTwitterDependent and independent variablesVideo gameIdentity managementReal numberBitTemplate (C++)GenderNichtlineares GleichungssystemNumberFreewareFood energySelf-organizationStaff (military)PlanningTask (computing)Integrated development environmentFeedbackRepository (publishing)EmailRandomizationMassResultantCombinational logicComputer virusSemantics (computer science)State of matterThermal radiationMereologyAttractorUniformer RaumForm (programming)OnlinecommunityWell-formed formulaArithmetic progressionDigitizingProcess (computing)Rule of inferenceProduct (business)Row (database)Computer animation
MereologyComputer animationXML
Transcript: English(auto-generated)
Hello everyone, it's a really really great pleasure and an immense honor to be standing here today
We both know it's been a very very long day. It's very hot outside. It's very cold inside There's been lots of amazing talks today a lot to take in. So we're really really glad that you decided to come to ours So today we're going to be talking about code Code of conduct
So the code of conduct or we're probably going to refer it to it as COC from now on It can be a quite a sensitive topic and personally I didn't feel like I could present this just just on my own But luckily today, I'm not alone on stage. I'm accompanied here by my good friend Ola So Ola, she's a long long time member of the Django community
As was said before she was in London where she works for a company called potato But she's originally from Poland. You probably know her the most for co-founding the Django girls initiative But she has many many other talents She's organized several DjangoCon including one that was held in a circus tent in Poland
And she also has her own YouTube channel where she teaches programming to women And I couldn't be more grateful to have But isn't my co-presenter he lives in Hungary But he's originally from France and while working with him with various community projects
I discovered that he all has this gift that always put other people before himself and it it is visible in everything He does in his contribution as a jungle court developer in his Skills and what he does as a conference organizers and also in his
Working with Django girls and but this is also the person you want to find if you want to translate something from English to emoji And together we've been working as COC points of contacts at five major Python and Django conferences over last three years and even though we don't consider ourselves experts and we hope that
In our talk will answer at least some of the question you might have a regarding code of conduct And at this point I want to stress out that Even though things we will talk about in this talk are based on our conference and events
experiences you can take the lessons we learn and apply them to your workplace or open source project or literally any any place where people meet and interact and this is because code of conduct and Culturally go together side by side and one is reflected in another
So I want to start by just explaining what we won't be talking about so we're not here to discuss whether your Community company your project requires a code of conduct or not. There are many resources online. We don't really have the time for it I think it's best summed up by this tweet from Lana Reinhart
Let's let you read for a while basically to sum it up The moment you have humans interacting you want to have a code of conduct. There's just no way around it Also, we believe that the Django community as a whole has kind of moved past this point where we're just arguing about whether we need
One and we just accept as a fact that we our community actually needs one so instead today We'd rather focus on how you actually implement a good code of conduct in production We'd like to explain what it means in practice to have a code of conduct with some concrete examples that we've had over the years and Some tips that we've learned along the way
But before we do that, we want to start with a bit of history of code of conduct inside our communities It's very hard to determine when first movements to implement code of conduct in tech industry started it and there is a lot of people who worked really hard to make code of conduct a standard and We are incredibly grateful for their work and
There are too many people to name them here. So we just want to say big. Thank you to all amazing people who? Dedicated their time and effort to make code of conduct a thing and really our community really stands on the shoulders of the Giants But going back to Django and Python community
We did some research and establish that 2012 was a year when code of conduct started to be important topic and Python us implemented one in March 2012 Followed by Django con Europe in surrey in May and at the end of the year on 21st of November
Python software foundation and forest conference organizers to have code of conduct at any event. They want to sponsor And similarly on January 9th of the following year the Django software foundation did exactly the same and the board voted that they would only fund events That had a code of conduct and later on a few months later in April
The Python community adopted the code of conduct as a whole for the community for it all its online spaces and they were followed Very soon after in July by the jungle community who did exactly the same The jungle community started discussion about code of conduct quite early at least this is what I feel
and we improved immensely and code of conduct is present and visible and At not only at jungle and Python conferences, but also in online spaces where our community interacts and we don't discuss If and why we needed and we discuss how to improve it and the jungle code of conduct was even showcased
As a good example of the community code of conduct by other initiative and I think we should be really proud of Django community to for being really forward-thinking and Striving to be nice and welcoming place for everyone
But even though we find that COCs are kind of a standard in our communities in practice. It's not always so easy. You can't just Put a piece of text on your website for your conference or your community and just be done with it it's only when you Deploy to production that you start to interact with real users that you actually start to see edge cases and things that you hadn't thought about
During last years when we served as members of various code of conduct response teams We learned our share and the response team is responsible for enforcing code of conduct they receive the reports and are In charge of handling that
And believe me we were far from being perfect and we have a whole list of things that we wish we did better And because we think that you can learn from our mistakes We're just going to give you a few examples of the things that we wish we had known in advance So for example, there was a conference where we had a slack channel similar to what we have this year It and this could talk with each other and arrange dinners and stuff like that. And for us it was a big experiment
We didn't really think about it too much didn't think about the consequences and with hindsight I think even though it worked really really well we did a few mistakes like for example one of them is that we never clarified from the start whether this was going to be like a One-time thing just for the duration of the conference or whether it was going to live forever after and if it was going to be
moderated forever We just created it and then we kind of let it on its own after the conference was over And another problem we made was that we never set up explicit rules from the start We just assumed people would behave and it'll be fine So we didn't say whether you could send private messages to people without being prompted whether you could advertise
Send a job postings like none of these things And actually this ended up creating problems because two of the members They understood these implicit rules differently as it always happens and this was a problem And here you see that when we create a space for people to interact whether it's a space in a physical world like here
Today or whether it's a space online where people go and talk to each other You need always to set explicit rules and not rely on just an implicit understanding And you also need to think clearly and in advance about the boundaries of the space you're creating and I mean boundaries in terms of Space like where does the conference end and when does it start but also in terms of time as as in this online?
Space is going to be available forever or just for a short time There was another example of something we Haven't thought through well enough. We decided to make code of conduct very visible We put a lot of effort to create welcoming and safe space. We had like dedicated phone numbers
For code of conduct we had posters reminding about code of conduct even like like lifts or elevators. Whatever is Right word in the US. I don't know and we had posters reminding about code of conduct and Yeah, we emailed in every email attendees
We're reminded about that and even though we put so much effort. We forgot something super crucial and the thing was that we had no dedicated code of conduct email, so Whenever you want to use an email you had to write to all organizers So you either phoned one of our emergency numbers, which is not perfect. If you are like me and you hate phoning
strange people especially in foreign language Or you try to find some people from response team and the people were all over the place Another mistake we made at the same conference had to do with social media
We were using Twitter and we had the official conference hashtag Which again was great because people could just go to one place and see everything that was happening but but we weren't really monitoring it closely and we were also very quick to just rebroadcast like retweet and like things that we just saw without looking too much into them and Again social media is yet another space that you're creating that you need to have explicit rules for
But also you want to be able to monitor it like you want to have Someone who has the ability technically and time-wise to monitor and react when things happen on social media space At another conference we totally underestimated how much effort it is to handle code of conduct issues and we had a small team just two of us and
We also had other responsibilities and we ended up just like dropping whatever we're doing for the conference because we had to deal with code of conduct and it is so much easier to have a bigger team and Dedicated only to code of conduct and also it makes sure that you will not burning out on the way
Another thing we did wrong was that we had a conference party So it was an after-hours event and we never really clarify whether this was an official party That means whether the code of conduct applied to this and this resulted in fact that some people attended the party and they let's say
They lost their sense of responsibility Because they didn't really think that the code of conduct applied there and we see this pattern yet again Like you have this space and it needs to have explicit rules because you can't rely on implicit rules and you need to know What is acceptable what is not what is the conference and what is not and what are the rules for each space? Because each space may have slightly different rules
We at one of the conferences we also have unwritten no comments only question Policy, but we didn't communicate that clearly and that created very awkward moments After some talks for speakers because our MMC interrupted some of the people making a comment and and
When we realized that we made a policy more clear and announced that on stage But we wish we were more clear at the very beginning about that and One last example of things that we wish we hadn't done better was that there was a conference where? We didn't have a dedicated just physical room to handle code of conduct issues
We had the organizers room, which is great but then organizers who were not on the response team just kept popping in and out and interrupting and you don't want that the COC issues can be tricky can be sensitive. You don't want to do them in a crowded hallway where people are passing by but you also want to limit it to only the response team, so
You want to make sure that you have it doesn't have to be big But a room a space somewhere that can be closed and where you can handle code of conduct issues As you can see we are indeed far from being perfect and all these things we just talked about happen, even though we're like super dedicated to make it right and we put a lot of effort to
Create a welcoming space and dealing with code of conduct issues is hard and you will never have it 100% right and It's a living evolving process and there will be always something that is unexpected that you are not prepared to So one of the most critical thing you can do is just plan for failure because
You will probably mess up and bad things will happen and some of them just won't really be a big deal But some of them they might be So you need to know how to handle a failure like this So one of the things you need to do is make sure you have a way to receive feedback Listen on it and act on it and make sure you know how to apologize simply
You need to make sure you have a process for you when you make a mistake you want to document this failure of organizer and analyze them later so that you can understand what went wrong and Then correct so that you can improve and also you want to be very public about this I think because
Owning up to your mistakes in public. It can be trust me a very humbling experience But it sends a really really powerful message and a really positive message throughout your community that you really do care And these things do matter And in a way some of code of conduct issues are not a big deal
If you made some joke that not native speaker could understand and made them feel awkward for example Well, it's just a joke. It's not a big deal, right? You meant well it's just a mistake and in a way, it's not a big deal from the offender point of view and When someone reports you?
Except some really serious offenses code of conduct is not aimed to like make you feel unwelcome And you don't need to quit and never speak to anyone in the community You are still valuable member of the community But at the same time it is a big deal because the tiny little comment
You just did might be a thousand one the person just hurt and they might Quit after that and there is a term for that death by thousand cuts So what matters from code of conduct response team point of view is objective outcome of your actions If your action excludes someone from our community will act and give you necessary feedback
so you will know better next time and you have chance to improve and We we believe that by handling the small things Very seriously. We we hope to build the trust so more people will feel okay To share their concerns and speak up if they need that
But what happens when someone speaks up concretely what happens when someone father a code of conduct report? I think it's one of the things that can often seem very mysterious. It's scary. Sometimes even it feels taboo and We wanted to kind of open this up and clarify what actually happens and so we made up this
Kind of completely random example and simplify example to show you the process that we go through when we get a report So say we are the conference and this one and we get a report by email saying that Here's a tweet. Someone's making fun from of a speaker who's on stage and they're using the conference hashtag So, how do we respond? So first thing to do is to let the reporter know that we received the report and we will take care of that and
This is important because it means that we take responsibility of the situation and we'll take care of handling that and as our organizer you probably want to do that on your own handle the issue because
Otherwise people might try to find the the justice or like do the public shaming and it might be very very serious And it is also crucial to let the reporter know that you are Dealing with this to have a paper trail of what happened Next up we gather the response team so that we can talk about the incident
We can coordinate a response assigned tasks to everyone and one of the benefits here of having team is that for one It's much much easier to make hard decisions as a group as opposed to as an individual which you might have to do And the practical consequence of having a team is that you need to have
communication channel with this team and it needs to be Private so that nobody else has access to it and it needs to be real-time so that you can act quickly So for example, we've used many times a private slack channel and it just it works really well for that At this point we take screenshots and try to gather as much information about the incidents as possible
So we quickly determined that in The person making the tweet is in fact an attendee. They posted the photo of their batch Earlier and we can cross check it with a list of attendees and the other in fact early means that you don't need to Rely on your memory later and you can concentrate on other things
So we met with the response team and at the end of the meeting we've altogether decided about our next action So in our case, we'll be speaking with the person and asking them to delete the tweet It's good here to have an idea before you go in meeting with a person of how you're going to resolve the situation So that you can minimize the damage before
We find the offender during next break and ask them this correctly to join two of us in a private room We found that two is an ideal number. You need More than one person sitting in but more than two is just too intimidating So We're meeting with the person and the first thing we do is that we explain them that we had a report and what was reported
And then we ask them for their own point of view It's very important to give both sides a chance to explain their point of view You have to be neutral in the sense of letting everyone explain their point of view It's also important to explain How and why what happened is a violation of the code of conduct. It's part of letting the person improve
So in our case We explained them what happened and we informed them that it's a violation of the code of conduct and we asked them that they delete their tweet We got our team again to inform them of the outcome of the talk and we checked that the tweet was indeed deleted and
It's important to make final decision as a team and keep everyone in the loop So one person on the response team immediately starts writing an incident report That's a document where they establish a timeline of what happened as detailed as possible It lists the facts what we know exactly what happened and it also lists the people involved in the story
Writing the report immediately here is really really key because the more time will pass You always think you will have time later, but you probably won't and also you'll tend to forget things Maybe you won't be able to take screenshots later on so it's very key that you act on this immediately The reporter explaining the actions we've taken and thanking them for reporting
Again, this establishes the paper trail and let the reporter know that we actually took the action and builds trust We also send an email to the offender repeating outcome of the clock and we let them know that the case is closed So the case the case is closed from the offender's point of view
But for us as organizers as a response team, there's still a couple things we need to do One of them is that we forward the incident report to the code of conduct the general code of conduct committee and we also Later after the conference publish The transparency report where we list all the events that happened during the conference and how we resolve them
But this list is completely anonymized the first step of forwarding the incident report to the general code of conduct committee is a way to have a Kind of long-term memory of events of what happens it helps build track repeated offense that may happen over several years over several conferences and the second step of having the transparency reports is something that we do to
Demystify the code of conduct process to show exactly what happened so that people know things actually happen But also sure how we respond to them and see that sometimes it probably not a big deal and this really helps again build some trust with the community At this point for us as well. We consider the case closed and we move on to the next event
The thing is in real life things can be more complex than that The example here was very straightforward the offender identity was known and the person was cooperative The damage was minimized by demeaning the tweet But things would go
much more complicated Very very easily and response team needs to make a call on the spot and sometimes judge What are the best actions to take and when dealing with code of conduct issues, you have to be prepared to improvise But every time you improvise there's always something that needs to be a use your top priority is your attendee safety
you have to know things in advance like maybe emergency numbers for your local area or Make sure that there is security staff at your venue that can expel people if you need if you need to most likely you Won't need that but being prepared in advance Just makes it so that when something happens that you didn't plan which will happen Then it just really lowers the stress and lowers the amount of energy you need to spend just respond to this
So we've seen with this process how you can implement a code of conduct in practice But I want to stress that it's important to keep in mind that the code of conduct. It's not there for its own sake It's not a tool of punishment or enforcing some vague values that we have for us as
Organizers and as community numbers a code of conduct is one more tool in our tool belt that lets us create more inclusive Events and more welcoming events, but it's not the only tool you have many tools like making sure your venue is accessible
having free childcare for speakers attendees having Gender neutral restrooms or food that caters to everyone's diets. You have like many many other tools And we've shown you the examples That it is hard to get it right and we realize that the hardest and most stressful thing for us is
In the whole process is when we need to improvise and we don't know what's the next step and this is why we started to Document our process into a step-by-step manual that takes out a lot of improvisation and the guesswork
It also takes Take some of the emotional factor out of the equation and we are proud to announce that we are releasing our notes And our process online so the whole Django community and not only general community can use and improve them And it is joint work with Olajita who's sitting there and you should go and follow
So this handbook it's a collection of Practical steps that you can take to improve your code of conduct process It shows a process a bit like we did before but much much more in-depth It talks about some of the do's and don'ts and it also has some things like templates for emails and reports that you check
You can just reuse and feel as you need The repository is very new. It's still quite work in progress, but we think it's already good enough for public consumption We're also really really interested in getting feedback on it And hear the ideas of the community and take pull requests for anyone who wants to improve and
If you get the sprints, we'll also be there as well. And so if you're interested you can come talk to us We've shown you a bit of a history of Django community implementing code of conduct and we also show you the mistakes we've made when we serve as in various response teams and how hard is to remember about everything and
If you don't have step-by-step instructions Then we showed you what happens Practically when you receive a report and what steps we take to resolve it So this is our formal process that we're trying to stick to and document so that it could be reused by other communities out there
It's also not a problem of conference organizers and it's not only a problem of TSF or PSF and it's a problem of community as a whole and
building safe and welcoming environment is extremely hard task and Even though we don't know yet how to do it, right? We constantly try to push the limits and set higher and better standards every single year And we want to believe that Django community will never stop pursuing being an inclusive and awesome community
We are so proud to be part of Thank you