I have been working on HW and SW business quite long time.
In this forum many users are wanting to have product X or Y support for djpro.
What I’ve learned while I was doing these things.
A) Our HW company said “No, you are not allowed to add support for our device X” for “SW” company, there’s not much our company can do without getting sued to court.
B) Our HW company delayed several years to give specific details about the integration how another SW vendor could add support for our HW.
C) Our company delayed several years to give specific details how company B can connect their HW to our SW.
D) As our HW company decided that there won’t be support for specific platform like linux, like providing drivers for our HW. If SW company decides to make the support, HW company might sue SW company to court, because they are doing it without having agreement from us.
As in most of the cases the issues between hw and sw would also mean that our support needs to be ready to answer those kind of questions.
And if you read carefully any sw or hw “End User Licensee Agreement”: they are full of lines like
“no reverse engineering allowed”, so when you buy the product you agree that you won’t reverse engineer it.
So without any legal agreement between HW and SW company, SW company can’t do much without getting sued to court.
And we did all of above, because
-our company wanted that some specific functionality of our HW works only with our SW
-if company B wanted to have integration to our HW or our SW, the only way to do those was to do by specific standards and those standards gives just “basic functionality”
-if company C wanted to have more detailed info of our patented/secured stuff, there were a legal agreements with quite big license fees and penalties/sanctions if agreement was broken
And yes, in many cases the license fee or the penalty was so high that smaller companies couldn’t afford it.