 Hello, and welcome to the Kubernetes Code of Conduct Committee talk. I'm sure it has a title, which I absolutely do not remember. So if you want to tell me what this title or what this panelist call. That was great. Hunk? So, we have a lot of ground to cover here. And the first thing I would actually really love, because we have so many delightful panelists, is if, yes, I am going to do the thing where I ask everyone to talk. Starting with Jason, please introduce yourself and tell us what your, you know, interest slash role slash most exciting violation that you've considered and not do like this. So, my name is Jason DeTiberis. I am currently employed by Cisco in the open source program office and previously been a contributor for various sakes within the Kubernetes community and have recently joined the code of conduct board within the last six months, I think is about when it was. But I was really interested in joining the code of conduct committee because I've seen how wonderful and diverse this community is and and even as great as the community has been, there have still been issues that have driven away some really great, brilliant and talented and wonderful people from this project. And I wanted to help ensure that we have a space that is safe for all and allows our project to actually be better by welcoming people to the table and giving them a chance to flourish. Thank you, Jason, and you answered that much better than I asked it. So I would love to hear why everyone wants to work on this. Hi, my name is Jeremy Rickard. I'm currently employed by Microsoft Azure. I'm also a chair in CIG release. So you've probably seen emails for me for really see things as well. I think very similarly to what Jason said, I was really drawn to serve on the committee to help make the project a safe space. I think that it is pretty welcoming. I think in general, I think it's a great place to be. It's very welcoming. It's a place where people can come and do their best. They can contribute to the greater success of the project, but it's definitely necessary for us to all kind of internalize the code of conduct and make sure that we are living by the values that the project is driven by. And I think that just being drawn to the committee was just me wanting to give back as well. Hey, I'm Daniel. I currently work on WebAssembly stuff at Fermion, but in the project, I'm one of the leads for the Signode testing subproject and work across Signode, CIG testing, and a bit of Kate's info. I joined because as great as the community has been, I want to make sure it stays that way, especially as Jason pointed out. There are people who have been pushed away, like good friends of mine. I want to make sure that I don't get pushed out, but more people like me don't. Hi, I'm Tilary. I work at Red Hat. Let me see. I'm in the community, but you wouldn't have seen my name outside of the committee, really. It's a lot of sometimes talking to people and helping more on the sidelines. I'm the worst contributor ever in that way. She's not. He's so nice to me. Anyway, I joined the committee because the community is very open. It's typically very welcoming, but what I care about is that we have good relationships with each other. I think that this committee's a really big part of it is helping us to maintain those good relationships, sometimes heal those relationships when there has been damage, and that having that type of relationship and that type of sense of belonging that we want everybody to experience is something that should be of the utmost priority for an open source community. That was why I joined. There we go. Hi, I'm Dan. I'm an open source product manager at Microsoft. Most recently, I guess with the project, I was the release lead for Kubernetes 1.27, which came out last week. Yeah, I hope you all have a chance to try it. Sorry about that regression right away. I think looking back on what I joined, a lot of people in my life and around me, I go, Xander really likes Kubernetes, and that's actually not particularly true. I kind of hate computers, and Kubernetes is kind of exempt from that. Why I'm here and what drew me in is this community of people, of wonderful humans, and I felt welcomed right away, and I think that's very easy for people that look like me, and I want to make sure that that same warm, welcoming feeling that I got from the community is extended to people that do not look like me as well. Very well put. Thank you, and thank you all. So now that we've gotten the chance to get to know our panelists a little bit, let's talk about a few questions from the community. Starting with, what happens when someone files a code of contact report? I'm not necessarily going to point to anyone in particular, but who would like to give us just the TLBR, the 10,000 foot review, what happens? So there are several ways that people can report incidents or concerns. They can report them to the conduct distribution list. They can also reach out directly to members of the Kubernetes Code of Conduct Committee. Once that happens, we start kind of tracking that incident. We do some background research. We will talk to folks involved to try to gather information so that we can get kind of a complete picture of what's going on. A lot of it is talking to people, and a lot of it is really trying to understand the situation and trying to figure out what the best path forward is to mend relationships and to restore trust, restore relationships, and find an outcome that will heal that incident. Yeah, and I think there's sometimes a misconception that the Code of Conduct Committee is here to assess blame and punish somebody, and that's not what we're really here to do. What we're trying to do when we reach out to folks after somebody submitted a complaint is we want to find out what happens. Just because somebody filed a complaint, it could be anything from a misunderstanding over text in a PR. It could be cultural differences with how somebody could say something short and they meant it well-intentioned, but it came off as something that hurt somebody's feelings. We try to get to the bottom of what the issue is so that we can try to help all of those involved understand a little bit better, because at the end of the day the project really is about people and people interacting and our job is to figure out where things are going wrong. In a lot of cases it's just please make sure that you expand a little bit more when you have a reply or you're closing out a PR and not just say I'm closing this and close it. Say the reason why you're closing it and just spend a little bit more time on your reply because a new contributor is not going to know that you're super busy and don't really have the time to spend on a proper review, but at the same time sometimes we do have to get involved in difficult decisions where it impacts the safety or the comfort of people within the community and we need to make sure and work with the proper groups to try to address those issues in a way and even with those issues the first answer isn't necessarily to try to get somebody booted from the community, it's like trying to explain to them why what they're doing is wrong, how we can help them address it, maybe point them towards some training that they can take to better understand the issues and try to, like you said, try to restore the community. I think one of the things that we struggle with sometimes as well because we are an international community and we're dealing with layers of translation and some of that is automated translation, right? Google Translate will change somebody's words. So we literally had to find people to help us read things in the original language to understand the form and function of the comment and if it was written the way it was made to come across and so it's one of those things where we really have to be very like just walk into every situation with zero assumptions otherwise we wouldn't be able to holistically understand all of the little pieces that would maybe build up into a situation that causes a report and a lot of times it's almost forensic. Where did this go wrong exactly? Like what was that point where we went off the rails? And some of it is like human error and some of it is computer error. Yeah, like... Yeah, especially when we're dealing with issues of community management you've got to sort of go into all of them with, you know we know a lot of the people in the community but if we go into a report it's not about our friendships with them it's not about how we know them. We have to go in and understand both their perspective and understanding and whoever else is involved like if it's a new contributor coming in who has a bad experience or an existing contributor who has a bad time for some reason like it's a lot of sort of work to sort of detach yourself go and understand, do research and then help bring things back and restore sort of trust. Like we never really seek to do anything punitive because that's not how this community works and if we needed to it would be something very serious. A little bit on to what everybody said, like you know covered it pretty well. When we reach out to do investigations when we receive a report I think often people kind of tend to view it as like the cops knocking at their door and through an investigation process and when we're thinking about action to take we are always looking for restorative action there's a big difference between restorative and punitive action and this body is always looking for a way that we can take restorative action on instance that are reported. There are circumstances that would warrant different actions but we're always looking for that restorative act. So that's encouraging from the point of view of somebody who might be a community member wondering how is it going to be handled if I... Yeah, people reach out to I think all of us all of the time with like a hey this thing was a bit weird like I didn't feel great about this and then we can sort of help talk someone through it and understand if you know it's a thing they want to want us to help them with or whether it's something that you know they want to leave alone I've like helped preemptively go into like various meetings just to be around in a when someone was on shore and they just wanted a second opinion like would that do that? Yeah and I would say if you're not sure default to yes because we will help you determine if it was or wasn't and worse comes to worse we have a discussion to try to make sure that other people don't have that same question and I know that folks have expressed to me in the past that they're worried about adding additional workload to folks that are already busy and yes we are busy people both with their day jobs and the community and everything but the most important thing I think to all of us is that we make sure that this community stays welcoming and friendly to all so I know myself I would rather take the time to investigate something that turns out to be nothing because sometimes those things build up over time and what happens is if we don't address it early on then those feelings kind of fester and it becomes a much bigger issue that could really potentially result in a serious COC violation down the road because yeah. I was just waiting until you were done. Oh no feel free. Okay as I say like building off of that you know what you have experienced but we know what the community is seeing so if you like huh that was kind of maybe iffy if you you should definitely come and talk to us one there's no consequences for making a report that we discover is not really actionable or we don't think that there's anything for us to do with like there's no consequences it's just a thing spend a few minutes no big deal right like I said we'd much rather do that than not but the other thing is it's probably not just you it might be five or six other people you know two other people are like and there could even be potentially a history there that we as this body would be aware of and so as we're working through things if somebody starts displaying consistent behaviors that might not be like oh god those are terrible but are kind of like ooh that's a little cringe you know consistently then that's us up to know we need to have a conversation with this person help them to have a better relationship with the community at large because even and very likely true if they're unintentionally alienating other people then they're going to start receiving alienation as well right you're going to start getting ostracized if you have bad people skills and we don't want that either and so it's sometimes like a series of what's that turn of phrase I'm looking for like a just a bunch of little missteps that can add up and so like we said we're trying to be like restorative or about relationships to be able to have good relationships with each other and so in a completely like non-penetrative way we can start going to people and let them know hey you might not be aware of this but you're coming across really short kind of often is there something going on are you like feeling really stressed out or is there something we can do to help you or even just help you practice you know how to have a little bit of a better communication style and like adding to that what can be a 30 second conversation with someone when they start doing something can stop from turning into something that is a huge amount of effort for everyone like six months later like and we're happy to go and say hey like your communication style isn't really working like can you do something about it I think just real quickly short and sweet I guess yeah if you're ever unsure about something feel free to reach out to any one of us directly or file a report if you're not comfortable doing that you can file an anonymous report too just to say we are here to meet you wherever you're at you know in that process yeah and I was just going to say the other thing too is anything that you report and the discussions that we have default to confidential unless you agree otherwise so even just bringing something up you don't have to worry about it potentially you know we all have agreed to keep confidentiality around all of these things and that's actually a really good point and that brings me to the question of it's great that you're saying okay so these five people are maybe the only ones who are going to see this report I filed even if it's anonymous maybe if the person I'm planning about ever sees it they will 100% know it's me exactly like who is the info shared with so in the process of filing a report we will explicitly seek the reporter's consent for any single piece of information shared with anyone outside this group of people if in the process of speaking to somebody it would be very apparent who was reporting we will have your consent before taking any action on that there is no circumstance under which any information would be shared with anyone without your explicit consent yeah I think I can speak for everybody here where I think we would all resign over ever doing anything like that like as in like even if something ended up being outside of our jurisdiction and needed to be escalated further up inside the Linux foundation or whatever like we don't even mention it to their staff before we talk to you like we just do not and also if we get to the point that we actually start filing a report for an actual in-depth investigation those documents are created under a shared Google Drive with very limited access so I think outside of a few people outside of the Code of Conduct Committee and I'm sure one of you can expand on that but we are the group that has access to it and we even anonymize the folders and the document names so that the audit logs don't reveal any information about the report so when it comes to access to the actual data it is just this group there's two members of the steering committee and I think one person at the CNCF who can see metadata which is to say document titles which is why we anonymize them and anything else would have to go through a public PR to elevate access the other thing with that you know form and function of the anonymity is if it would be required that we reveal some sort of information about you and your report in order to have those conversations and you don't want that to go forward that's fine, that's totally okay that's only what you absolutely consent to is what we're going to do but it still helps us to make more informed recommendations if there is a future incident involving that same person in another report because we can say oh they seem to have a history here maybe they would benefit from some sort of there's these great trainings that we could recommend for them or maybe they could get a mentor or some coaching and we can make a more informed recommendation while still completely protecting you, your report and that history that's great to hear and that kind of leads to the next question of how does the committee approach actions in response to reported incidents because you're mentioning these possible future actions like you walk us through what that process looks like I mean we talk about them as a group right so we have well like I don't know we see a report come in and we have a private Slack channel or be like there's been a report and then we all go look at the report and then we say okay when can we have a meeting about this is it you know if it's a Tuesday and our regular meetings is a Wednesday we probably will just wait until that Wednesday but if it's Wednesday after our meeting realistically we're going to schedule a talk meeting to come together and talk about that report and then there's also a really important piece in there and I've actually had to do this where we have to make a decision to recuse or not as well so when you know people well when you work with them and there's a report made involving that then you have to make the decision like hey I don't even want to give the appearance of bias here or impropriety even if I know I can be completely neutral here so I'm going to choose to recuse there's four other people besides me on this committee who are perfectly capable of handling this and that way you know I know that there's just I've done my level best to preserve the integrity of this body and on that there's like sort of two levels of recusing yourself that say I don't want to be involved in this situation because I know these people and it would be awkward and then there's the I cannot be part of this because you know we have a reporting relationship at work or something and for the first one like you can be asked to come back if you know your relationship can help resolve a problem but it's something we try to avoid but you know it's a community where we know people and sometimes you have to rely on knowing people to build that trust especially because you know we're not exactly a very easily transparent body by nature of what we do which is part of why we want to do things like this to talk about how we work I think it's kind of been touched on throughout this but when we do think about actions that we take in response to incidents 90% of the time that action is something similar to working with a party to help them understand that their communication style is coming across as harsh or facilitating a conversation that would result in an apology or just you know general relationship management and communication coaching like that when we say action in response to an incident that is typically the action because that is the bulk of the incidents that come in yeah it's almost always a conversation and a like you know explaining that you know we understand that things are hard but like people have boundaries and you need to respect them and like here is how we can help you do that and like sometimes it's like here is how we can help you improve your governance to stop this happening again when I think it's important to point out too that we actually don't have the power to do anything drastic like remove somebody from the community if we think that a situation arises to that level then our action is basically to make a recommendation to the steering committee or the CNCF or the LF to address that issue it's not like that's not under our our authority to do anything our authority pretty much ends that you know we can recommend that this you know thread be locked and stop this conversation have conversations with people or you know you know basically a slap on the wrist and like let's kind of do better I do think there is one particular piece of nuance to that though that I want to make sure we catch um it while it may seem a little awkward in how it's structured we do not report to the steering committee we're a report to be filed against a member of the steering committee as unfortunate as I think we could handle like that is that is we could take that report um we are elected by steering but we do not have a reporting relationship with that committee we just want to make that clear and we're not exempt from the code of conduct either and like while the steering committee owns sort of like technical and um like structural stuff we own a lot of the sort of community support for the community and like you know as much as like the way our punitive power if we needed to use it is a bit awkward it exists if we need it to um the the question that immediately comes to mind and I want to go off script here for a minute because I'm thinking well wait a minute so you could make sure that the steering committee does the right thing or you could make sure each other do the right thing that applies to everyone but what happens if someone who's moved to a community and doesn't feel like anyone knows who they are wants to talk to someone about one of you or me or the steering or someone who they think has a lot of visibility like what is it is it okay to complain about the who watches the watchers yeah so I mean I can only easily speak for myself but if someone was to raise something to me about the rest of steering that would then become a sort of sidebar conversation between the remaining members to figure out if the problem was with the body as a whole that would be a conversation with steering um and I think steering has the same policy for themselves I was just going to say the CNCF also has a working group working on a code of conduct committee of their own and an interim code of conduct committee and if you feel that it's somebody that has too much influence within the Kubernetes community that is a place to go just because I think any community member who feels like I can't complain about acts, yes you can you absolutely can you will be listened to and that kind of also brings us to the code of conduct as written is written in human language can at times be vague, could be open to interpretation how does that affect your committee's decision process on reported incidents if somebody would like to give you some road lawyer and a person how to be harmful oh god thank you I'm going to take it so I'll start on this one and I'd say is intentionally vague because not every situation is the same and not every interaction is the same if two parties are consenting in a conversation then it may sound different than two strangers talking and the interaction may be inappropriate with that consent and not be appropriate in another situation so we try to really look at the situation has harm been done that is the big key if there has been harm that is done then that's the key to is this something that we need to investigate further programers really love rules because it turns out when you teach a machine to think it thinks exactly how you tell it to and sometimes it's easy for us to forget that humans are not computers following a predefined set of rules and that means that unless you were going to like do something on the scale of the law which even then is up to interpretation like there's always going to be some level of ambiguity and it's more about the ethos of what the document is trying to represent than the specific words within it and it's what really frustrates me about role lawyers because I'm like no no you get the gist like I think when we're dealing with a situation of ambiguity and this I don't think is mentioned in the document but when we are looking at a situation with ambiguity one of the first things that we're always going to look to is power dynamics and that that really goes a long way in helping us move through ambiguous situations well I think you also have situations in which people might try to leverage the code of conduct against somebody in a way that they bait somebody you know they specifically target a person and attack them and attack them trying to skirt the letter of what's on paper and they try to evoke a reaction that crosses the line and that type of weaponization of the COC is also something that we keep in mind as well you know is this being done against somebody that is marginalized in the community and you know we need to look in the situation more holistically than just the one aspect of the interaction that resulted in the report it really is almost forensic in its nature and I wanted to say that the you know the other thing we have to look into is sometimes we're getting reports from people who are having public conversations so they weren't part of the conversation but they see it and they think ooh this might be a problem and so then talking to the parties involved in that and it could be that yeah that communication looks very brusque but those are two very brusque people and they're both perfectly fine and actually that's what their healthy communication looks like right and it's still important to remind people to you know you have a much wider audience sometimes than just the two of you that also kind of plays into it as well because of the way we're communicating with each other is usually very publicly and in writing within the community that sometimes it's actually not people directly involved in the situation that resulted in a report but please do report those issues if you see them we would rather take a look at something that is a non-issue than something that somebody maybe didn't feel comfortable raising because a lot of times people from marginalized communities don't feel comfortable you know especially if they're new to the community you know raising those types of issues and sometimes it's a case of behavior that like might be normal to an in-group that can keep people out and then we need to have a conversation that's like you know the conference circle you open up a circle so people can join the same applies to open source like if you're clicky and uncomfortable like there's something that needs to be done if you want to survive it's just about out of time so I'm going to do the go down a line one more time I'll start with you guys this time give us your best tip to help people interact well in the community with the committee or just with each other we say it at the beginning that every Kubernetes meeting be excellent to each other and recognize that a lot of our interactions take place online can be talk to determine tone and things like that and I'll also just thank you for coming to this session the window before in this very hard room and I know it's not the most exciting topic so we're going to be in here I have my own I got it, I'm good yeah I think that the you know keep in mind the energy of being a welcoming space and try to always put that foot forward kindness costs zero it's free so we're as much as possible and you know what you don't actually owe anybody an instantaneous response if you can't be your very best in that moment don't do it right then you can actually it's okay no houses will burn down if you don't respond to that PR and you're super stressed out and spread then it if you want to just I see this I acknowledge it and I have to come back to this later that is like perfect that way somebody knows that there's eyes but you just can't be there it's a common same thing right do it when you can be your best and if you can't and let people know you've seen it and that you will try your best later mine is you know we come from all over the place with different backgrounds different experiences but as long as you you know respect people and they're right to like be themselves you can overcome basically anything like any disagreement as long as you you know treat each other as equals you'll figure it out it's computers they're not that hard magic sound we taught to think it's fine yeah I think everybody has made super great points I think relationships are what drive all of this it's what makes things successful and I think treating people with respect needs to be your default mode of operation so when you're having an interaction with someone treat them with respect and go into that with positive intent and hopefully good things come from that and if good things don't come from that we'll find a way to try to get back to good things and I think for me I'm not going to say what first came to my mind because I realize it comes from a very privileged position and initially I was going to say assume positive intent and for somebody like me that's easy to do but there's a lot of people in this community that have to deal with offhand comments and kind of underhanded jabs from people that build up over time and I don't want to tell those people to assume positive intent instead I will say try to be empathetic to the person on the other end you know if it's somebody submit in a PR to your repository and it's completely wrong they made a mistake try to be empathetic to that I know we all have a little bit to do but take the time to just reply to that person even if you're busy or wait until you have the time if you're on the other end of that try to make sure that you're at least on the person why it's so moving and so powerful thank you all so much and keep up the good work thanks and thank you Bridget