A bounty of $2000 has been offered for the first open sourced drivers for the Microsoft Kinect whole body input device. Sounds good, but it's all very complicated.

This is something of a first. Adafruit industries offered a reward of $1000 for the first open source drivers for Microsoft's Kinect hardware. Microsoft wasn't pleased at the idea that its hardware might be diverted to some other purpose and told Adafruit exactly what it thought of the idea. Adafruit responded by doubling the reward to $2000 and warned Microsoft not to make them go to $3000.

There is a serious side to this situation, however, and two sides to every story. The first thing is that the Kinect whole body input hardware for the Xbox 360 has a lot of potential uses, some of them the sort of good cause that Microsoft's ex-boss Bill Gates might approve of such as reading sign language, and it also has the potential to be useful in robotics as a wide field depth sensor. The device works by correlating the output from a video camera and an infra-red camera which measures the distance of each pixel of the image so making tracking objects much easier.

You can buy similar technology off-the-shelf but the price is in the thousands of dollars. The Kinect hardware is much cheaper - in fact so cheap it is likely that Microsoft is selling it at a loss hoping to make a profit on the games it sells. Hence the response from the other side of the story. Microsoft really doesn't want people buying Kinect hardware and using it for other purposes. It claims to have:

"built in numerous hardware and software safeguards designed to reduce the chances of product tampering."

The Kinect is a USB device and so the task of building drivers comes down to working out the conversation between the two devices using a USB analyser. The only real anti-tampering that Microsoft could have added is to encrypt the data stream and this seems unlikely given that speed of operation is a very big consideration. At most encryption is probably used only in the initial connection but this still makes the task harder.

To win the prize all you have to do is provide:

Open source drivers for this cool USB device, the drivers and/or application can run on any operating system – but completely documented and under an open source license. To demonstrate the driver you must also write an application with one “window” showing video (640 x 480) and one window showing depth. Upload all of this to GitHub.

The idea of offering a prize for this sort of open source reverse engineering seems to have struck a chord wth the open source hardware community. Some are commenting that it shold be setup like the X prize to allow others to contribute to the pot. Others are pointing out that offering a prize of any sort makes the task harder because rather than sharing information the drive to win the prize makes for secrecy. It's only open after the prize is won.

More to the point, a bounty of $2000 or even $3000 doesn't really cover the time and effort you would have to put in to reverse engineer something like Kinect, so its role as a spur to getting the job done is slightly in doubt. Make it $30,000 or better $300,000 and you might get some extra people firing up their USB analysers.

While offering a bounty seems innocent enough it could put a stop to the manufacturers' strategy of offering hardware at below cost on the assumption that they will get the money back on games or media used to feed the device. It might even make the task of reverse engineering the device harder because of the penalties of sharing data - and finally it probably doesn't do any good other than to attract the attention of the world and the manufacturer to something that would happen anyway...

Further reading:

Version 1 of RStudio, the IDE for R, is now officially released. The new version, which is the 10th major release since its initial launch in 2011, has integrated support for the sparklyR package and [ ... ]