Hi 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.