Behaving Responsibly in the Chef Community

Today one of our most prolific community members announced his decision to leave Chef and go on a software engineering sabbatical, in part because of how he was treated by a few members in our community. As a company, Chef takes the safety and security of our employees extremely seriously. Further, it is our heartfelt desire to have a community where diverse opinion is welcome and where members feel safe and secure to engage in healthy, and sometimes spirited, dialog with the mutual goal of creating value and growing as professionals and human beings. As a community, we need to use this event as a moment to reflect on how we treat each other.

De-humanizing the authors of software

It is easy to anthropomorphize software and praise it when things go well and curse or even hate it when things do not. In open source projects it’s easy to identify the authors and maintainers of a particular software project and direct your feelings about the software towards those individuals. Likewise it is easy for the individuals who see comments made in public forums such as twitter, mailing lists, and GitHub to take these comments very personally.

Often times, the most prolific contributors are very dedicated and, as a result, can be very opinionated and passionate about their projects. This dedication and passion are, in fact, characteristics of many great engineers. At times, these very same characteristics can make these people targets of misguided rage, anger, and hurtful words and actions. It is sad to see a talented and passionate member of our community make the decision to leave as a result of how they were treated. We, the collective individuals that make up the Chef Community, should take this opportunity to reflect on how we treat one another and on how we can use the power of the community to lift people up rather than tear them down. And at the same time, we should also consider how diversity in opinion and style can make us all stronger and better.

The Chef Community

The Chef community is a mixture of professionals and volunteers who come from all over the world and work together to make Chef better, including mentoring, teaching, and connecting with other members of the community. Diversity is one of our biggest strengths, but it can also bring increased communication challenges at times.

As a community member, you know that the Chef community is an environment built on generosity, professionalism, friendship, and hugs. As a result, we’ve adopted and published a set of community guidelines.

As a company, Chef stands behind and helps enforce these community guidelines. As a community, we must be ever vigilant of our guidelines and ensure that they are comprehensive and supportive of our diverse community.

Behavior that violates these guidelines is unacceptable and should and will not be tolerated by anyone in our community nor by Chef.

We are reviewing and enhancing these guidelines right now as part of our ongoing efforts to improve the Chef Community. Going forward, our community guidelines will include a clear path for handling incidents and a discussion on the actions that will be taken when someone violates our guidelines. Specifically, our guidelines must:

  • Outline actions that will result in punitive action
  • Indicate who is responsible for determining when punitive action is warranted
  • Specify punitive actions and an appeals process

The code of conduct we use for #ChefConf is explicit about these things and will inform the new guidelines.

Committed to the Community

Chef takes allegations of misconduct very seriously and will investigate and address each incident. As a community, we are refining our policies and procedures for upholding our community guidelines.

Behavior outside of our community guidelines is unacceptable and should and will not be tolerated by anyone. If you encounter such behavior, please contact a member of the Chef community team immediately.

Next Steps

Thank you for participating in these conversations. Here are some immediate actions you can take to help us improve the community.

  1. Behave responsibly and help us address unacceptable behavior when it occurs.
  2. Participate in the RFC to rewrite our community guidelines.
  3. Join us at the next Chef Developers’ IRC Meeting to discuss the RFC.
  4. Join us at one of our upcoming Chef Community Summit events to discuss this topic in person with other community members.

Thank you for helping our community grow and evolve.

Nathen and Adam

Author Nathen Harvey

As the VP of Community Development at Chef, Nathen helps the community whip up an awesome ecosystem built around the Chef framework. Nathen also spends much of his time helping people learn about the practices, processes, and technologies that support DevOps, Continuous Delivery, and Web-scale IT. Prior to joining Chef, Nathen spent a number of years managing operations and infrastructure for a number of web applications. Nathen is a co-host of the Food Fight Show, a podcast about Chef and DevOps.

  • Thanks for addressing this head-on. I hope it never comes to this point again, and that community members only decide to move on to other projects as a result of a desire to do something different, not because they’re abused & burnt out.

  • I know I’m the minority, and my response is emotional, but anytime this sort of behavior happens it needs to be made public. People say terrible things when there’s no fear of repercussion. By bringing ridiculous behavior to light, it means there’s consequences to what people say. If I were in Seth’s shoes, and someone issued a DEATH THREAT over software, that email/IM/message/whatever would be screen-shotted and made public. People HAVE to be accountable for the things they say and do.

    • Personally I think that a benefit of the community adding a course of action to the community guidelines for handling incidents is ensuring that there is a path to follow to hold someone accountable. Some may not be comfortable calling out others, perhaps even law enforcement needs to be involved for the victim’s safety.

      It’s possible that in the future there is someone in the community is who toxic that wouldn’t be bothered by their behavior being scrutinized publicly, so we need to come together and consider what punitive actions we would want to take… at least to serve as a compass for the future.

      • If the people don’t care about their behavior being scrutinized publicly then they won’t care about being booted off of an email list or discourse board, which is about all that can be done in these instances. I understand that as an organization Chef needs to take a measured, documented response to these issues but it lacks teeth. If you’re going to issue death threats over open source software, you have to be called out by the community. I want to know names so I can know to never, ever work with those people in any capacity at the very least.

        • We’re talking about the steps the humans in the community take, not Chef Software. See “A sidebar on communities” in for relevant words on the difference.

          As a human in this community, it’s important to me that when someone says something stupid, we stand up and talk to them about how they’re coming across; and when someone says something that is a real threat of violence, we stand up and make sure each other is completely safe.

          I want the latter to involve significantly more action than tweeting a screenshot of the incident. I presume you agree, and you’re just underscoring that you want to know who they are because you don’t trust some external system(s) to provide justice.

          Current events aside though, there has to be a fair process to handle incidents. Again, that’s not something that Human Resources at Chef Software handles (although they might be involved if it involved employees), it’s a process that we need to define so you know who to talk to in the community and feel okay doing so.

          • You’re really ruining my knee-jerk, emotional responses with all this logic ;)

          • I’ve just published a working draft of the RFC to help redefine our community guidelines. Comments, edits, and feedback on that would really be appreciated. How can we make this better?


    • Greg Saunders

      To quote a coworker who is very active in the Chef community, “I want to know who did it so I can know who I will never, ever work with.” This kind of behavior is disgusting and deserving of a punishment. I’m all for taking the high road, but people who can’t even maintain the slightest bit of humanity should be flushed out of a community before they do any more harm.

  • AnOldHacker

    I got online in the mid 90’s. One of the first things I was told was, “Don’t put it in an email unless you want the whole world to see it.” Far more true now than then.

    Sending a death threat through email is at least a double felony. (Communicating a terroristic threat, and using the “telecommunications system” to do so.) Failure to expose this person or people for their actions encourages repeat behavior, and also behavior which is “more extreme”.

    Now I’m sure that your legal beagles don’t want you to out the sender, fearing a defamation suit. But have they considered that failing to out the sender could be considered sheltering?

    • So. Remember we’re people who work at Chef Software. Some of us have been part of the Chef community since before the company existed. This community is intentional. Some of us are pretty hurt by all of these events.

      Chef Software’s lawyer is a great person. I’ve worked with her a lot in the past on improving our open source licensing processes to make them easier and smoother, while still protecting the rights of the users of the project to keep using it in the face of legal precedent. Please don’t make prejudicial judgments against her because of her occupation.

      I’m no company spokesperson, and I’m not here on official business. As far as I know, Chef isn’t harboring any information for any corporate legal reasons and it’d be a bit of an internal controversy at the least if it was.

      But… many of us personally are going to be cautious about what we say, regardless of what we know, because our friend was hurt by this and we respect him.

      • Charles Johnson

        Thanks, Bryan. This is very well-spoken, and also reflects much of how I feel today.

  • Barry Crist

    This isn’t about playing it safe or listening to the “legal beagles.” The incident in question didn’t occur in the company’s compute infrastructure and the identity of the alleged perpetrator(s) isn’t know to us. We’re engaging a number of people both inside and outside the company to insure the safety and well-being of the Chef employee involved as well as everyone in our community. We also want to use this as a a catalyst to discuss appropriate discourse in our community.

    • AnOldHacker

      I am sorry for jumping to conclusions about this matter. Please accept my apologies.

      • Barry Crist

        @AnOldHacker no worries and thank you!

  • rh

    Great post, Nathan. I’m glad this is now policy.