Notice: Now on HTTPS. Report any rough edges to


From OpenKinect
Revision as of 10:02, 11 February 2011 by BankP (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page describes project policies.

Community Name Policy

The name of the community is OpenKinect. We are aware that Microsoft has registered the trademark on the word Kinect for goods and services related to "computer software, computer hardware, and computer peripherals." We are using Kinect the same way as any user group would use it.

Any software or hardware that the community or community members create should not use the word Kinect.


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 community 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 personal conflict or lack of consensus, people look to the project lead to resolve the conflict. In normal circumstances, everyone cooperates and the project lead is just another community member.

Language Policy on the OpenKinect Wiki

  • English is the main reference language, and all root pages should be named and written in English
  • Other languages should be placed in an appropriately named sub-page of the English version. For instance the French version of Help_Contents should be at Help_Contents/fr (not Help_Sommaire, Aide_Sommaire or Help_Sommaire/fr)
  • Language sub-pages should be named using the appropriate language code for that language (see the Languages Template)
  • If an international version of a page exists but an English version does not, then please create a stub article for the English version as this aids navigation
  • For technical information on how contribute a translation, see this

Policy Policy

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