Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!

Hero

Things You CAN’T Do With The Microsoft Kinect SDK: You can’t start a business, make money, sell services or consulting, it’s all non-commercial and in my opinion, a dead-end for most/all developers.

Can I use the SDK Beta to build applications that are used in-house in running my business, so long as I do not share them with my customers?
No. Under the terms of the license for this SDK Beta, you cannot deploy applications created with the SDK Beta for use in your business operations. Even if no fee is charged or received in connection with such use, such use in a business is still a commercial use and is not permitted under the SDK Beta license.

I saw the clever use of the Kinect sensor with a PC in a department store window. Can I create an application to use as a showpiece for customers who visit my store?
You may publicly display applications you create with the SDK Beta so long as it otherwise complies with the terms of the SDK Beta license agreement, including its restrictions on commercial use. Under the terms of the SDK Beta license, you cannot receive payment in connection with your application, use your application for advertising, use your application to solicit donations, or use your application in your internal business operations. Also, because this is a free, public beta, and it is broadly available, Microsoft is not necessarily aware of all uses that licensees are making of the the SDK Beta. Accordingly, you should not assume that any particular use you see is allowed under the SDK Beta license.

It’s cool that after 6 months of the open source community making amazing things Microsoft wants to join this party, but you’re coming to our house and the house rules were built on open source licensing – which means commercial use is allowed.

It’s unclear if someone would even be allowed to show their cool projects with the Microsoft SDK online and have ads on their pages, that too could be considered commercial use.

At least Microsoft can’t just look at your projects and do anything they want with them. Oh wait… Read this:

d.    License to Modifications. If you make modifications to the Sample Code and make those modifications public in source code, text, or any other descriptive (non-binary) format, you give to Microsoft, without charge, the right to use, share, and commercialize those modifications in any way and for any purpose.

Why would anyone want to use the Microsoft SDK when the open source drivers are out there and you can build a business and company around them? AND use them with non-Windows system (yah, that’s part of the license too, you cannot: “(4) use it with a platform other than a Windows platform.”).

Microsoft would not even be doing a SDK if the open source community didn’t completely dominate all the “wow, Kinect is amazing” headlines from the open source / hack projects for the last 6 months.

Phillip Torrone

Editor at large – Make magazine. Creative director – Adafruit Industries, contributing editor – Popular Science. Previously: Founded – Hack-a-Day, how-to editor – Engadget, Director of product development – Fallon Worldwide, Technology Director – Braincraft.


Related

Comments

  1. riley porter says:

    Right on Phillip…  Thanks for pointing out the ‘gotchas’.  I knew they would come with the SDK.  However I hope one of two things happen.  MS opens up this SDK or people know up front the “fine print” associated with things they build.

  2. Anonymous says:

    I think this post hits the nail on the head, Phill. Maybe they will move on to an official SDK where they will remove some these limitations. But anyhow, it’s easy to see Microsoft’s roadmap, keep the Kinect within Microsoft’s ecosystem, no outside OS. Other than if the SDK offered some amazing stuff that the open-source doesn’t, I don’t see why any self respecting developer would care to use it at this point, especially since I’m guessing that part of the beta SDK will find it’s way into the open drivers in some way.

    What I’m afraid of is Microsoft trying to cut out the open-source drivers, having some kind of DRM…

  3. johngineer says:

    “Why would anyone want to use the Microsoft SDK when the open source
    drivers are out there and you can build a business and company around
    them?”

    Why, indeed. I’ve been asking myself the same question. Setting aside the choke-hold licensing issue for the “official” SDK, from what I’ve observed since November, the open source drivers are just better. There is an active peer-review going on there, and regular debugging.

    Microsoft, you missed the mark. Truth be told, nobody was looking to the official SDK because it promised better software (as if). We were giving you an opportunity to show us that you’d changed your ways (a long shot to be sure, but bear with us as we dream of a better world). Sadly, this is not the case. Thanks for playing.

  4. Bryan says:

    Those restrictions are pretty typical of MSFT’s beta licensing.  If they follow their typical pattern, after it’s been in beta a while, they will release a “release candidate” that may or may not include a “go live” license.  Usually the first release candidate does not have that “go live” license.  Then, after that’s been out a while, they will either release a “release candidate 2″ that does have a “go live” license or they’ll put out the final release.  Of course the final release will be licensed for pretty much any use.

    As far as using the SDK on non-windows platforms is concerned, I’d be very very surprised if MSFT created a version of the SDK that would be usable on other platforms.  I can also understand why MSFT might consider using the Kinect device with 3rd party, OSS or otherwise, drivers to be a warranty violation.  With their own SDK, MSFT controls how the software communicates with the device.  With 3rd party drivers, how is MSFT to know what unexpected code paths might be triggered in the Kinect firmware?  Might the 3rd party driver exploit some firmware bug to do whatever it does?  If so, it’s possible that such exploitation might corrupt the firmware causing the device to stop working.  MSFT shouldn’t be responsible for fixing the device if that happens.  The Kinect was designed to be used with Windows/XBOX systems.  MSFT isn’t the first company to void warranties because someone used their product in a manner for which it wasn’t designed.  They wont be the last.

    1. Anonymous says:

      @openid-53610:disqus in the 6 months of the open source community making all the amazing projects have you seen or heard of a single incident where there was a warranty issue? of course not.

      microsoft is specifically trying to scare people away from using the OSS drivers. they didn’t need to include that.

      back to the post here…

      why would anyone want to use the microsoft SDK when the open source
      drivers are out there and you can build a business and company around
      them?

      1. riley porter says:

        Phillip,  The one and only thing I could say to this question of why is.  Because Microsoft’s SDK will lower the bar to entry in Kinect hacking projects.  I am sure it will have a fancy installer and integrate right into visual studio etc.  For lots of us coders/reverse engineer’s this is not a great selling point.  However for people that are not coders by trade etc, they are going to want to get up and running with the least amount of effort.  I have been in the open source community for some time now and my advice for continuing success with the open source kinect drivers would be to try to lower the bar to entry into kinect hacking as well.  I have not played with the kinect as of yet so my advice is really “historical” advice vs. hands on advice.  

        My 2 cents.  

      2. caupolican says:

        Why would you not want to use the official API’s to a product?  Why in this earth will you want to build a business around unsupported drivers? 

        This is in BETA stage,  if you have ever used any beta release from MS you will know that they do not give a go live license until is done.  You don’t seem to understand how an official SDK works. Beta releases can have breaking changes introduced at any time, you have no guarantee that your code will continue to work on each release. That will continue to be the case until a Release Candidate is released, then and only then the API’s will become final.

        Why not wait until is release to make judgment? but then again it seems to always be hip to bash Microsoft on everything they do.

        1. riley porter says:

          I hardly think there was any MS bashing going on.  More like making the fine print of the SDK known up front.  Also, building a business around “unsupported drivers” is basically what anyone running linux on a commercial product is doing.  (with the exception of Redhat stuff)

          I truly hope MS does change their fine print on future releases.  Not for commercial reasons but in the spirit of making. Just because I want to make a project to USE (not sell) at my workplace should not be violation.  So we will see… Time will tell.

        2. Anonymous says:

          @twitter-1791621:disqus you can’t build a business *at all* around microsoft’s tools for the kinect. there’s isn’t any bashing, it’s a reasonable suggestion that they consider. this isn’t like other SDKs or releases from microsoft they specific talk about the “open drivers” as some bad and “warranty voiding” – that’s silly.

  5. This is a surprise because when the OS drivers were released, MS clarified that as long as the hardware was not modified that they didn’t mind what we did with it and were in fact intrigued and inspired by what the community were doing. It turns out that was an engineer speaking. Now that the lawyers have got hold of it it turns out that they don’t want you doing anything that might make you fame and fortune. You must basically use Windows, VS 2010, and do nothing whatsoever that could be commercial.
    Just as well the Open Source drivers are so good. I am developing some kinect apps on a consultancy basis and the client was hoping to use the MS drivers. No hope of that now.

  6. Microsoft is becoming the new apple, restrictive and closed. That’s why I use ubuntu. My advice to any one who does not want to use the open source drivers because Microsoft doesn’t allow it, “If you cant open it you don’t own it” I’m a maker and I always will be.

  7. Phillip, that last point was only in regards to modifying the sample code, not to new projects. They’re basically saying if you post an improvement to the sample code on your blog, they can integrate your improvement.
    If you create something new, that is not covered by their “section d” above. Furthermore, it clearly states it only covers plaint-text, non binary work that is made public. So, no, they can’t just look at your project and do what they want with them, but they can read your blog and use your published ideas, JUST LIKE ANYONE ELSE COULD.

    Meanwhile, this is a beta SDK, of course they’re going to impose restrictions. Just like any beta SDK. It’s not final, its not complete. They’re trying to avoid the situation of having someone build a commercial product around an unfinished product, and being screwed over when the SDK changes, or when something performs improperly.
    When the final SDK is released, the license will doubtless have changed.

    Third of all, I disagree with your opinion of “Microsoft would not even be doing a SDK if the open source community didn’t completely dominate…”.
    I have no doubt that the existence of the OpenKinect/softKinect projects pushed the release date forward, but there is a stack of evidence of Kinect support being deeply integrated into Windows 8, and if so, the Windows Kinect SDK was ALWAYS going to happen, and it was always going to happen well before the launch of Windows8, so that they could have “launch titles”, so to speak.

    Frankly, this entire article reads like sensationalist anti-Microsoft ranting. Not sure if thatwas your intent, but that was the outcome from my perspective, and I’d like to expect more from Make Magazine.

    1. Anonymous says:

      @facebook-1628244064:disqus i’m not sure you’re reading my post, they’re coming in to a community with thousands of hacks, projects and mods – they need to at least consider that some people (me included) think a restrictive SDK with non-commercial use could be improved.

      when it’s final and complete i’ll have a follow up, do you think they’re allow commercial use without a fee? i don’t. but i hope they do.

      you wrote – “I have no doubt that the existence of the OpenKinect/softKinect projects
      pushed the release date forward, but there is a stack of evidence of
      Kinect support being deeply integrated into Windows 8, and if so, the
      Windows Kinect SDK was ALWAYS going to happen, and it was always going
      to happen well before the launch of Windows8, so that they could have
      “launch titles”, so to speak.”

      people from microsoft contacted me during the bounty, based on what they said i can say there were zero plans for this until the open source community completely rocked out the demos.

      microsoft is doing this SDK because of the hackers, it’s awesome that they’re trying – but they also need to get some feedback on their licensing.

    2. Ersi Ni says:

      I am not sure you’ve understand the article, or the software development scene at all. Microsoft is including kinect or nui support for Win8 *because* oss communities shed light on nui. And take a 1000 steps back, 3D sensor based NUI are not even microsoft technologies, they belong to PrimeSense, the contributors behind OSS OpenNI. If you really played a bit with this beta SDK, you would have noticed that the *key* feature is audio, which is completely a joke, considering Microsoft Research has spent last decade pursuing speech recognition as NUI, so that putting that portion of code into a SDK is basically copy and paste operations…
      Before you start with skeletal tracking, that was implemented by PrimeSense, microsoft has only improved some algorithms and the whole didn’t even function better than the original implementation. 
      Finally you expressed the feeling about people bashing Microsoft, well, frankly I have the feeling that people like you are licking some part of Microsoft, sometimes even without a cause. 

    3. Ersi Ni says:

      I am not sure you’ve understand the article, or the software development scene at all. Microsoft is including kinect or nui support for Win8 *because* oss communities shed light on nui. And take a 1000 steps back, 3D sensor based NUI are not even microsoft technologies, they belong to PrimeSense, the contributors behind OSS OpenNI. If you really played a bit with this beta SDK, you would have noticed that the *key* feature is audio, which is completely a joke, considering Microsoft Research has spent last decade pursuing speech recognition as NUI, so that putting that portion of code into a SDK is basically copy and paste operations…
      Before you start with skeletal tracking, that was implemented by PrimeSense, microsoft has only improved some algorithms and the whole didn’t even function better than the original implementation. 
      Finally you expressed the feeling about people bashing Microsoft, well, frankly I have the feeling that people like you are licking some part of Microsoft, sometimes even without a cause. 

  8. “but you’re coming to our house and the house rules were built on open source licensing – which means commercial use is allowed.”

    Wow. MS is coming to your house? They created this product! Not you, all you do is f around with it and try and make cool little tech demos. Its like being a child who has been doing something for weeks that the parents don’t like and the parents just found about, and THEN the kids being like, this is our party, we will do what we want, your bad mom and dad.

    You should be grateful they spent the years and millions of dollars in creating that product for you to mess with in the first place.

    1. Anonymous says:

      @facebook-503053931:disqus ms did not create the wonderful open source community with thousands of kinect hacks, we did.

      ms should be grateful, not the other way around. and from what i can tell they are, the SDK is a good first step, they need to hear some feedback on the licensing. non-commercial use is a dead-end for any developer.

    2. Ersi Ni says:

      ignorance is a bless. kinect is only a product *name*, the camera and its software implementation are not made by microsoft, instead, they are from the very same people that built the community that hacked the kinect. Get your facts straight.

      1. Anonymous says:

        Folks, please keep your comments civil. We can carry on a conversation without being snarky and surly about it.

      2. Anonymous says:

        Folks, please keep your comments civil. We can carry on a conversation without being snarky and surly about it.

  9. Adam Ödlund says:

    I dont get it… How come more or less all your posts seem to be part of some personal crusade against the big coorporations? I mean, sure i get your point… but i have to disagree with your opinion tho.. It’s not like they made the SDK for the makers, do you think commercial kinect developers, third party or ms, write their code in assembler or 1s and 0s.. Ofcourse youre entitled to your opinion, but i dont think the make blog is quite the right platform for subjective thinking in that way. And yes ofcourse the final sdk wont be totally open and free of licensing regardless of the application, MS develops products to make money, not to help other business make money. so just do what everyone else does, if you dont want to pay for software download it from piratebay, and if u dont like a coorp. telling not to put their product in ur displaycase/window then just do it anyway. or in the spirit of making, develop your own motiontracking/computer-vision hardware.. its not like they claim you cant use the technology itself for ur own gain, just that you cant use theirs. so i dont really get what ur complaint is all about tbh. Im all for open-source soft-and-hardware, but if i want that i dont turn to one of the largest mega-coorporations in the world looking for it.

    1. Anonymous says:

      @facebook-562449691:disqus my post is quoting exactly what ms will not allow if your use their SDK (you can’t make money at all).

      ms is looking to join a community *we* created, i think feedback on their licensing is completely fair.

      1. Adam Ödlund says:

        i have to disagree im afraid.. im quite sure the sdk itself would exist regardless of the communitys interest in the hardware, although probably not in the exact same form if it wasnt for said community..However, thats just a detail anyway. my main issue with your reasoning is the whole community aspect in itself.. *we* actually didn’t create anything tbh. we used a prefabricated product, and adapted it as we saw fit. It was us who joined their community, not the other way around. and as much as it hurts to say this: im quite sure the kinect development team knows fudge-loads more then we do about its inner workings, despite our communitys countless innovations. At the end of the day, it is their hardware, and we adapt for our own uses. To say that they are on our turf is kinda like assuming the kinect just magically appeared out of nowhere imo. no offense mate

  10. JohnFx says:

    It sounds like these terms are included because the SDK is still in beta. Any idea when it is expected to leave the beta phase?

In the Maker Shed