Sep 26

Open Source Ticket Triage

By Bryan McLellan 6 Comments
Be Sociable, Share!
  • HackerNews
  • Reddit
  • Tumblr
  • email

In May we formed an internal group for open source ticket triage. It was populated with Opscode employees who had different backgrounds and roles but one thing in common: they volunteered to participate because they loved open source. In about 20 meetings, we have triaged over 325 tickets!

With the increase of contributions, our irregular schedule of merge passes wasn’t cutting it. The goal was to work through the backlog of tickets marked “fixed/resolved,” indicating that the new feature or bug had a solution attached, and decide what the next step. We meet weekly using online collaboration tools and review tickets for items such as if the patches include, if the contributors have signed a CLA, and if the solution is a good one for the project as a whole. After the first meeting we produced an email to the Opscode development community relaying our activity to keep everyone informed, a process we’ve continued to refine since.

Sometimes the issues and contributions are cut and dry, largely due to an great experienced community, and we work through a lot of them. More complicated issues either trigger an email to the development community for discussion or the triage meeting transforms into an ad hoc planning session. This, and other events, can make the output a bit variable but we’re happy to have a process in place that can be counted on to ensure that the open source projects that Opscode stewards have regular releases containing the work of the community.

The result is that we’ve worked through the backlog and contributions are reviewed regularly, creating a tight feedback loop for you. New community members can make a contribution and we can help steer them in a better direction creating both a stronger project and a stronger community.

If you are not already on our community mailing lists, then consider signing up. They’re a great place to find help using Chef and where most of the discussion about where Chef is headed takes place.

  • Andrea Campi

    Nice to hear. You don’t mention cookbook tickets, does the same apply? Tickets with patches have been known to sit in Jira for 2-3 months without any activity. Frankly, it’s been discouraging. I love chef, I’d love to help but the current state of things means I’ve been sitting on a ton of local changes. If I have to spend the time to clean them up and submit them, I need to know they’ll be committed or rejected in a reasonable time.
    Keep up the great work :)

    • Matt Ray

      Cookbook tickets (COOK) go through the same review process and are triaged just like Chef-core tickets (CHEF). Unfortunately COOK tickets haven’t been given the dedicated development resources that CHEF tickets have gotten, the process has been somewhat unstructured. That said, there are some internal changes at Opscode that should help address this, with more dedicated time from engineering specifically around fixing cookbook tickets. We appreciate your patience and will continue to improve the situation.

    • http://loftninjas.org Bryan McLellan

      I’d like to double-down on Matt’s comments; I agree that we haven’t been very good at getting contributions merged for a while, which is why I’ve personally been working on building process to resolve this. We started getting a triage process built for our products, and now we’re working on merges and release cycles for the projects. The Chef and Ohai projects are both to the point of improved release cycles, and we’ve just started the new process for improved merge and release cycles for the Opscode Cookbook project.

      Thanks for your contributions and comments. They’re always welcome and appreciated.

  • Gabriel McArthur

    I am quite discouraged at the relatively low throughput on the issues list. There are some issues marked as “priority” that have been around since 2009 (http://tickets.opscode.com/browse/CHEF-142). I really don’t understand that at all. My expectation, as an open source project, is that even though it is led by internal developers, external developer’s contributions and issues should be reviewed promptly, and given sufficient community approval, allowed to be committed directly to the central repository by trusted developers — even developers who are not part of the company who shepherds the project. At the very least, I would guess that someone would have to be devoted, full time, to triaging these issues and organizing the fixes.

    Currently, I have to use my local changes for core chef in order to get some of my cookbooks and plugins fully functional. I dislike that, immensely. I don’t want to have to support my own fork of the chef code base. As it stands, none of the tickets I have filed over the past month have been looked at, and that puts me in a very awkward position of having to wait for fixes I need merged potentially sitting unresolved for several months or more. Indeed, the average age of non-closed tickets, taken over the past 120 days in JIRA, is now 332 days (!!). 

    I sincerely hope that you are able to improve this process. Situations like these make me extremely hesitant as a potential contributor, and is bound to give me pause when I consider long-term maintenance of everything I write.

    • http://loftninjas.org Bryan McLellan

      I’m not sure exactly what problem you’re running into as all tickets with fixes or contributions are being merged regularly. If you want to email me directly at ‘btm@opscode.com’ I’m sure I can help you out.

      Commit access to the repositories hasn’t been an issue as far as I know, and some community members have had commit access.

      The Jira reports on unresolved tickets aren’t useful because of the number of old open tickets that need to be reconciled because they have been fixed indirectly. Community members have access to do this and are encouraged to do so. It would be great to see this happen, but we all only have so many resources. I’d love it if you could help out here. Let me know if you’re interested.

      Those that don’t want to participate in the community process can get response commitments under SLA as Opscode customers via http://help.opscode.com.

  • Adam Greene

    hey bryan and matt,

    all sounds good!  If the community can help out with the COOK triage in other ways (the cleaning up of old tickets that have been indirectly fixed is a good suggestion), please share.

    I’m looking forward to seeing a few of these tickets that have patches (such as http://tickets.opscode.com/browse/COOK-458) being merged.