# Kinect - Libfreenect vs OpenNI+SensorKinect [closed]

What are the pros and cons of each? Which is better maintained? Which allows for more functionality? Which utilizes the hardware more efficiently? Etc.

• golmschenk, Thanks for the question. This would likely be a long, interesting discussion, but these types of open discussion questions are not a great fit for this site. It's better to ask very specific questions about problems you encounter in your day-to-day work, otherwise folks are only left guessing how they can help you specifically. These types of questions tend to solicit debate, arguments, polling, or extended discussion which is not generally considered a good fit for this type of Q&A. Good luck with your learning and I hope you'll try again. – Robert Cartaino Nov 28 '12 at 18:26
• @RobertCartaino, Perhaps, but at the same time nearly identical questions (stackoverflow.com/q/7706448/1191087) asked of a different StackExchange community have been very well received. – golmschenk Nov 28 '12 at 18:46
• Oh, okay. I'll let the answer and the community dictate whether these "compare and contrast" discussions are constructive. – Robert Cartaino Nov 28 '12 at 18:50
• I do fully agree that the open-ended discussions are problematic and this is probably on the boarder of such a question. But at the same time, I think this question will result in primarily universal agreements on the what the advantages and disadvantages of each are, rather than a debate on which is better. – golmschenk Nov 28 '12 at 18:54
• I think this question is a benefit to the site. If I'm reading it correctly, the point here is not to discuss which of these software packages is "better"/"best", but rather to list the ways in which they are different. – Ian Dec 2 '12 at 14:01

OpenKinect is a community of people, not a library. The OpenKinect community releases the libfreenect Kinect driver. libfreenect and OpenNI+SensorKinect are two competing, opensource libraries/drivers. libfreenect (Apache 2.0 or GPLv2) derives from the initial, reverse-engineered/hacked Kinect driver whereas OpenNI+SensorKinect is derived from open sourced (LGPL) PrimeSense code.

Both projects work on Windows, Linux (Ubuntu), and Mac OS X. Both projects allow you to access color and depth images from the camera. The projects are not compatible and they can not be used simultaneously.

Differences between the libraries are motor control (libfreenect has it, OpenNI+SensorKinect doesn't), and integration with the NITE middleware for higher-level NUI support (OpenNI+SensorKinect only). These differences tend to drive projects towards one of the libraries.

• What is done by OpenNI and SensorKinect individually? Why do we have two separate components? – Shashwat Oct 8 '14 at 15:03