Notice: MediaWiki has been updated. Report any rough edges to


From OpenKinect
Revision as of 17:58, 17 November 2010 by Zarvox (talk | contribs) (Decision Making Policy =)
Jump to: navigation, search

This page describes project policies.


This project is dual-licensed. Users may choose to use the project under either the Apache 2.0 license or the GPL v2 license.

All source files should include the OpenKinect Source Code Header at the beginning of the file.

OpenKinect Source Header v1.0

 This file is part of the OpenKinect Project.
 Copyright (c) 2010 individual OpenKinect contributors. See the CONTRIB file 
 for details.
 This code is licensed to you under the terms of the Apache License, version 
 2.0, or, at your option, the terms of the GNU General Public License, 
 version 2.0. See the APACHE20 and GPL20 files for the text of the licenses, 
 or the following URLs:
 If you redistribute this file in source form, modified or unmodified, 
 you may:
 1) Leave this header intact and distribute it under the same terms, 
 accompanying it with the APACHE20 and GPL20 files, or
 2) Delete the Apache 2.0 clause and accompany it with the GPL20 file, or
 3) Delete the GPL v2.0 clause and accompany it with the APACHE20 file
 In all cases you must keep the copyright notice intact and include a copy 
 of the CONTRIB file.
 Binary distributions must follow the binary distribution requirements of 
 either License.

Contribution Policy

All contributions should follow the process described in Contributing Code.

In summary:

  • Contributed code must be under both of the distribution licenses
  • Every contribution must be certified by all contributors to that contribution
  • Certification means the contributor certifies the statements in the Developer's Certificate of Origin are true for the contribution in question

OpenKinect Developer's Certificate of Origin v1.0

 OpenKinect Developer's Certificate of Origin v1.0
 The OpenKinect Project distributes software under two licenses: 
 the Apache License v2.0 and the GNU General Public License v2.0
 (referred to as DISTRIBUTION LICENSES).
 By making a contribution to this project, I certify that:
 (a) The contribution was created in whole or in part by me and I have the 
     right to submit it under the terms of all DISTRIBUTION LICENSES; or
 (b) The contribution is based upon previous work that, to the best of my 
     knowledge, is covered under the terms of all DISTRIBUTION LICENSES or 
     under another license that permits me to submit the work under the terms of 
 (c) The contribution was provided directly to me by some other person who 
     certified (a), (b), or (c) and I have not modified it.
 (d) I understand and agree that this project and the contribution are public 
     and that a record of the contribution (including all personal information
     I submit with it, including my sign-off) is maintained indefinitely and 
     may be redistributed consistent with this project or the open source 
     license(s) involved.

Developer Coordination Policy

The OpenKinect community includes people from all around the world. It is very possible that when you go to sleep with an unresolved issue, someone will have solved it by the time you wake up. Developers need to send courtesy notifications so they can coordinate efforts and hand-off problems to others.

When you start working on a fork

  • Get on IRC (#OpenKinect on and check who is doing what.
  • Update the People wiki page with what you're working on

When you finish working on a fork for the day

Mention in IRC and email the mailing list with:

  • What you accomplished
  • What remains to be done
  • Whether you have submitted a pull request to incorporate complete changes into an official repository.

We recommend that at minimum you push your code to your personal fork if it is incomplete. That way while you are away others can keep working on it.

Decision Making Policy

Joshua Blake is the founder and project lead of the OpenKinect project. The project lead will use the benevolent dictator philosophy and seek to build a consensus for decisions. The project lead will seek guidance from highly active contributors for minor decisions and for major decisions will use lazy consensus on the mailing list. In the event of conflict or lack of consensus, the project lead has the final say.

Policy Policy

The project lead writes policies based upon his judgement and consensus among the community.