Two frequently discussed topics in the community have been issue tracking and the contribution workflow. JIRA has been our issue tracker for a long time and we’ve been using Github from the beginning to host the source code. Our contribution workflow have evolved around the combination of these tools. Having two sources, one for code and one for discussions, has created a frustrating contribution experience for our contributors. Contributions frequently fell out of the cracks, which caused long response times from us.
In order to fix this, we have been trying out using only Github Issues for the last couple of weeks. It significantly improved our response times to the pull requests and issues. So we’ve decided to move issue tracking off of JIRA and use a simpler contribution workflow using just Github Issues.
Starting today we are making Github Issues the primary channel for issue tracking and contributions for our open source projects. We are also making some minor changes to our process which are described in our CONTRIBUTING.md file in detail.
Our contribution process now can be summarized as follows:
- Sign a CLA once (unless your contribution is covered under our obvious fix policy)
- Create a Github pull request
- We will review your code with you via comments on the pull request
- Your PR gets marked as Ready for Merge
- We will make the necessary changelog and documentation updates, and merge your PR
Similarly, you should now use opscode/chef project on Github to report any issues you are running into with Chef. In order to further reduce our response time we have created an issue template which includes the common information we need to resolve the issues. If you’re looking for help, you should continue using the Chef mailing list.
We will turn off new issue creation in the existing issue tracker on 6/23 Monday. All the existing tickets will remain in the system for search and you will be able to comment on the existing issues to facilitate finishing them up. We will be watching the new comments and make sure all the concerns are addressed.
What happens to JIRA and existing tickets?
In the past few months we have gone through all the tickets in our tracker and classified them into 3 based on their impact on the user experience and commonality of the issue:
Triaged for Next Minor: Issues with high impact and ideally would be fixed in a minor version release soon.
Triaged for Next Major: Issues with compatibility impact and large scope that would require them to be fixed in the major release.
Triaged for Later: Issues with small impact and would be nice to fix for overall experience.
We will be migrating the
Triaged for Next Minor &
Triaged for Next Major tickets to Github and have pointers to find the matching Github issue from the existing issues.
Triaged for Later tickets will remain in the existing tracker and will not be migrated. If you think any of these issues are important for you feel free to file a new issue on Github or leave a comment on the ticket and we can do the issue migration for you.
What about other projects?
As the first step we will be moving Chef Client, Chef Development Kit, and Chef Server projects over to Github. Our Cookbook projects will follow suit when the newer and better version of our community site (called supermarket) is released.
We need your help filing and documenting Chef issues. We think it’s important to have a single place where you can file an issue, regardless of the underlying Chef component the issue is in. The opscode/chef project is the primary repository and you can file any issues there. If you are familiar with Chef internals however, feel free to start a conversation on another specific repository.
We hope that this change will make our interaction much smoother and ease the process of contributing to Chef. As usual, let us know if you have any questions or concerns about this change.