Skip to content

Code Contribution Workflow

bilderbuchi edited this page Feb 25, 2012 · 17 revisions

This page describes the contribution workflow for the openFrameworks core.

History

Contribution to openFrameworks has been historically restricted to the core developers (Zach, Theo and Arturo), using a private Subversion repository (and before that, ZIP files). In late 2009, development was moved to GitHub. In early 2011 the first openFrameworks developers conference was held, hosted by the STUDIO for Creative Inquiry at Carnegie Mellon University. While contributed code had been pulled throughout 2010, this conference represented the first major community-supported development of openFrameworks. In mid 2011 openFrameworks 007 was released, containing contributions from a huge network of people. Throughout 2011 and into 2012 the core received an increased number of contributions via pull requests, but the expectations and requirements for contributed code were unclear and a large number of pull requests were ignored. In early 2012 the second openFrameworks developers conference was held, hosted at OmniCorpDetroit and supported by a number of other groups. During the conference we resolved the essentials of the following workflow.

Workflow

The administrators of the repository are comprised of the core developers and the section leaders. The current section leaders (January 2012 - July 2012) are:

The section leaders have a number of responsibilities and freedoms:

  • All changes (bug fixes and feature requests) should first be submitted as issues. Pull requests for features developed without discussion or approval may not be considered.
  • Simple bug fixes may be merged by anyone.
  • Leaders should be active in commenting on, reviewing and analyzing any issues or pull requests that fall under their section.
  • Feature proposals will be collected, discussed and approved during a monthly IRC chat.
  • Approved features, submitted as pull requests, will be reviewed by the core before being merged.
  • All development should be in forks, and submitted as a pull request, except the most minimal bug fix merges.

Section leaders should follow the openFrameworks git workflow and openFrameworks Coding style guidelines.

Issue and pull request management details

Incoming issues are labeled according to the already existing and pretty complete label collection. Issues and PRs are categorized into the relevant section by assigning them to the respective section leaders. This way, it is easy for section leaders to view bugs relevant to them by using the Assigned to You button on the left side of the issue tracker. Where applicable, issues and PRs are also assigned to Milestones according to the Roadmap document and further considerations/common sense.

Initial treatment/labeling/assignment of newly incoming issues and labels is mainly done by the issue tracker leader. It is most appreciated, though, if new section leaders go through the list of existing issues, assign relevant bugs to themselves (or others as applicable), and give their new bugs some love - make sure they're still relevant, get necessary information from the reporter, and start working on resolving them. There's a list of Canned-responses which may prove useful when dealing with bug reports.

Clone this wiki locally