I’ve been working for the technology licensing units more than ten years, and there seem to be confusion of why companies license technologies to other companies, and from other companies. Isn’t it easier/better/more reliable to develop your own?
And understanding why it happens is very important, because for example when you design the SDK for the licensing, many design decisions would be influenced by this reasoning. Hence this explanation is necessary, so the engineers would understand what is needed.
Let’s imagine Company A has developed a good anti-malware engine. The company has a large team of researchers, acquired significant knowledge, built good relationship with other industry players, and has good professional reputation. The company also makes products using its anti-malware engine, and the users generally like it and praise the quality of the engine.
Then let’s imagine a company B has a product which would benefit from integrating the anti-malware engine into it. Maybe it is an e-mail server, a backup software or even online banking application, this is not important. What is important is that the product marketing team believes that adding the malware detection into the product would make it much more valuable, resulting in larger sales and happier customers.
Now a company B has a dilemma: should it develop their own anti-malware engine or should it get it from someone else? While developing its own sounds like a natural, reasonable way for some engineers (no doubt “not-invented-here” came from engineering), this is generally a more risky approach for the company. It will take significant time and effort to get the first version out – and this time could be spent polishing and improving the company’s own product. Also, unless the company B wants to make the anti-malware engine their core competence, there is a good chance the result product would be more of “so-so”, and not exceptional by any means.
Hence the first main conclusion: when someone licenses your technology, they do it because they want to make their product more valuable for a market (and users), while at the same time:
- Get into the market quickly, and start benefiting from extra functionality right away;
- Save the effort (meaning time and money) which would be required to develop and support the new technology;
Those points are important to keep in mind when you plan to market your technology for integration, as they affect the way the technology should be presented. Many points of SDK design are directly based on those.