What Does the New Chef Mean for the Community?

Chef would not exist without its community. Our Open Source community built the foundation upon which every part of Chef stands. Together we continue to evolve and grow and shape each other as Chef moves into its third chapter.

At Chef we firmly believe that Open Source Software – built by a community of contributors across industries – is better quality software.  More eyes on the code, more perspectives, and more contributions make better software. Better software and better community means Chef has a bigger impact on the world. Open Sourcing more of our kit (starting with Automate) means more opportunities for both internal Chef engineers and external contributors to interact with each other, learn from each other, and build on each other’s knowledge and experience.

A desire to make managing my infrastructure less painful is what brought me to Chef as an engineer. The community is what made me stay and keeps me here to this day. Every member honestly wants every other member to succeed. We both celebrate and build upon each other’s successes — as I learned so clearly as a core maintainer of Supermarket and of Habitat. When any member of the Chef Community thrives, we all thrive. This is unusual for any community. It’s shocking for an online community.

Community is not just something that makes us feel good, community is absolutely mandatory at a business, industry, and world level. The technical problems we face as organizations, industries, governments, even as humanity itself are impossible to solve alone. The stakes are too high not to code together, to collaborate and build upon each other’s work. The DevOps movement started with the (still) radical concept that managing technology does not have to be as hard and as deeply painful as it has historically been. I remember telling Gene Kim about the first time I read The Phoenix Project. The first half made me cry because it was so familiar, how an organization can be paralyzed and crippled under the weight of both it’s technical and cultural debt. This burden is too much for one person, one team, one company, even one industry to bear by themselves. Community means no one is alone.

The reason for commercializing the builds of our software (while keeping the code open source) is to provide the financing for continuing development on these projects as well as the creation of new projects. Our previous “freemium” model provided incentive to keep some code closed, which ultimately was negative for both our software and our community. Our new business model financially incentivizes us to create more Open Source software and more community around that software. The business tension between whether to put resources on the “free” offerings or the “paid” offerings is no more.

What does this mean for members of the Chef Community?

Chef’s Open Source codebases are and will remain (including Chef Automate within the month) under the Apache 2.0. License. Anyone is free to fork, build, and distribute our software within the bounds of the Apache 2.0 license (and as long as our trademarks are respected) – for more guidance on this, see our trademark policy and our guidelines for distribution.

What is changing is the license on the distributions/builds of these products produced by Chef Software. Starting with the next major version of all of our products (i.e. Chef 15 and InSpec 4), any distributions created by Chef will require acceptance of new license terms. The license acceptance will be required on use of the product, not on download (you will be able to accept the license automatically through a command line flag, an environmental variable, or having a specific file located on the disk) – which means it is easily automatable. These new license terms will NOT apply to previous versions of our products (i.e. Chef 14 and InSpec 3) – you may continue using these versions with no changes (though support for them will end one year after the release of the next major version).

What’s in the new license on distributions?

What does this license say?

  • If you are an individual using Chef’s distributions for personal use, you can use them for free
  • If you are an organization that is experimenting or prototyping with Chef’s software, you can use Chef’s distributions for free
  • If you are an organization using Chef for commercial purposes, you are required to have a commercial relationship with Chef in order to use Chef’s distributions.

Does that mean all organizations have to pay money to use Chef’s distributions?

  • If you are a non-profit or other “for good” organization (within limitations – guidance on this is coming shortly), you can use Chef’s distributions for free
  • If you are an organization who has made a significant contribution to our Open Source projects, you may be eligible to apply for a commercial considerations related to licensing Chef’s software. Details on this process will be coming shortly.

What if your organization does not fall into those categories and you don’t want to pay for a Chef distribution? You have two options:

  • You can freeze on the previous version of the product (which will be supported for one year after the release of the next major version)
  • You can fork the code, remove trademarks, and build your own distribution (see our guidelines for distribution for more information).

What about forks or community distributions?

A question that has come up frequently since we announced our business model change is what if someone creates a community fork or distro of a Chef product? The answer is we would welcome this with open arms. Anyone is free to fork our products. Anyone is free to build and distribute and even commercialize our products in any way they see fit, as long as our trademark policy is respected. Together, we hope to build upon each other’s learnings and successes as a vibrant technical community.

Another question many have asked is “Why doesn’t Chef create and run a community fork or distro, like RedHat does with CentOS?” It’s important to remember that although CentOS is sponsored by RedHat today, it was separate from RedHat for the first 10 years of its existence. By the time RedHat took ownership of CentOS, CentOS had proven its viability and wide adoption across the industry. Could a community fork eventually be sponsored by Chef? Yes, that is a possibility, but we need to see a fork’s viability and adoption over a long period of time before we consider bringing it directly into Chef. If you are interested in this, join the #community-distros channel of the Chef Community Slack.

How will we function as a community?

Changing to a model of 100% Open Source Product code makes both Chef the company and the Chef community stronger. Historically, Chef has consisted of three separate communities (Chef, Inspec, and Habitat) – each with their own Open Source governance processes. With the addition of Automate, our Open Source footprint has grown considerably. Separate governance systems and separate communities are no longer viable – we need one consistent (though not necessarily uniform) system of governance across all of our projects as one community. When someone contributes to a Chef project, they should be able to follow nearly the same process to contribute to an InSpec or Habitat project.

An internal tiger team at Chef (including myself, Robb Kidd, Tim Smith, Ian Henry, Miah Johnson, Jerry Aldrich, and Gina Peers with the wonderful help of community members brought in under NDA) have created “The Chef Book of Open Source” – which defines how we create Open Source software at Chef and how we function as an Open Source Community. The processes defined in this book will be rolled out in stages across Chef’s 1000+ Open Source projects over the next several months. What is in the repository today is only the first draft of this book, as a community we will learn and iterate on it as we go along. Want to be involved? Check out the repository, create issues, create pull requests, let’s get the discussion going!

We need your help! Let’s start the conversation online in the Chef Community Slack and Discourse Forums. Additionally, we will be holding a Community Summit on Monday, May 20th as part of ChefConf. You can register for both ChefConf and Community Summit for a discounted rate of $595 with the code SummitChef19.  

Please join me in building and growing the Chef Community and the future of Chef together!

Avatar
Nell Shamrell-Harrington

Nell Shamrell-Harrington is a Principal Software Development Engineer and Community Engineering Lead at Chef. She is also a member of the Habitat core team. She specializes in Open Source, Chef, Ruby, Rails, Rust, Regular Expressions, and Test Driven Development and has traveled the world speaking on these topics. Prior to entering the world of software development, she studied and worked in the field of Theatre. The world of Theatre prepared her well for the dynamic world of creating software applications. In both, she strives to create a cohesive and extraordinary experience.