Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Bypass 3rd party driver or SDK

  1. Sep 2, 2014 #1

    This is more a question in law rather than a programming issue. But I think here is the right place to get an answer. Could'nt get much answers from google.

    Suppose I buy a device from a company and I'm not very happy with the SDK and or drivers they supply (due to bugs or whatever). Is it legal for me (or my company) to develop my own driver for communicating directly with the device firmware? Where I for example use USB snooping to figgure out the device's communication protocol.
  2. jcsd
  3. Sep 2, 2014 #2


    User Avatar

    Staff: Mentor

    The SDK will almost certainly come with some sort of license agreement. Have a look at that to see what is allowed in terms of modification. If you are just modifying some part of the SDK for your own use, that would probably be different than if you modified part of the device and resold a number of them (thus profiting from the partial intellectual property of the SDK developers).
  4. Sep 2, 2014 #3
    Thank you berkeman. That sounds reasonable.

    A follow up question then:

    Is a company allowed to modify the licence agreement for single customers (like me) if asked for permission to build a "custom" device?
  5. Sep 2, 2014 #4


    User Avatar

    Staff: Mentor

    I believe so. It depends on the company, and how interested they are in helping you with your product. My company fairly often does such modifications and custom license agreements, especially if it looks like it might open up new markets for our products.

    The bigger the company you deal with though, generally the harder it is to do such deals. Maybe give their Customer Support folks a phone call to ask about such a license modification. Heck, in the end they may want to pay you to incorporate your improved drivers into their standard products! :smile:
  6. Sep 2, 2014 #5
    Thank you, its worth a try then to talk to this supposed company :)
  7. Sep 2, 2014 #6


    User Avatar
    Homework Helper

    In the USA it could be legal to develop your own driver, but it might require a "dirty room" / "clean room" environment. The dirty room employees are allowed to reverse engineer the product or in this case the driver. They then have to produce a document that describes the driver from an external viewpoint (it's expected outputs for given inputs), which is usually reviewed by a lawyer that's familiar with the laws and the type of product involved to make sure no copyright infringment exists within the document. If the device is using some unique proprietary protocol, that could be an issue. A company could create it's on device and it's own protocol, but I'm not sure about using an existing protocol. Links to wiki articles about reverse engineering, but you'd need to consult a corporate attorney.


    Last edited: Sep 2, 2014
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook