This article follows up the How to present the licensed technology the right way? and explains the SDK design goals necessary to present the technology properly. As I promised in that post, it would be followed up by several short posts explaining various design goals, and this is the first one.
The first, and probably one of most important goals, is to design the SDK the way that it could be integrated quickly.
Why is it so important?
During the last few years I had developed several multimedia applications. The applications were open-source, free and cross-platform, and therefore they needed the multimedia frameworks which would be open-source, free and cross-platform. Thus during those years I have used the following frameworks Qt native multimedia framework. First it was Phonon (Qt4) and then QmediaPlayer/Qt5, FFMpeg, and Gstreamer.
In this article I will summarize my personal experience with each framework, as well as provide some guidance where it should and should not be used based on my experience.
and why is it even important??
You may have created a good anti-malware engine, a good OCR engine, a good video encoder or whatever. And your product marketing believes there is market for offering this technology to other companies, and thus asking if the technology is ready to be presented to 3rd parties for the reasons mentioned in the article Why companies license technology from other companies?
Or maybe you have created a good product, which is successful on the market, but which would benefit from being integrated into 3rd party tools or components, for the reasons described in the article Why companies license technology to other companies?
In both cases you already have some code which implements the technology. This code is working, is well-received on market, has few issues and the customers are happy with it. This is all a licensee would need, so you’re ready right away, right?
Unfortunately, this is not enough.
The first built camera was installed in a remote place with no Ethernet connection, so it had to be WiFi-connected.
The second camera, however, would replace an existing outdated IP camera, so there was Ethernet connection. Considering this, I decided to power it through Ethernet.
Or does technology licensing work against the company?
In the previous article I mentioned the reasons for licensing the technology. But still one question remains unanswered: if you license technology for financial reasons – to earn money – is it worth it? Or, stated more typically,
Yes, it is good to make extra money, but by licensing our technology, aren’t we just creating or empowering our competitors, who would now directly compete with our own products, and therefore damage our profits?
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.
and how did we end up in this situation?
There is a couple of wires inside your car which control many car components, from lights and signal to trunk, ABS and even brakes. This couple of wires is called “CAN bus”, CAN meaning Controller Area Network. Access to this bus by hackers gives them significant control of the car, and as has been shown in recently published car hacks, this is possible, and has been done.
At the source of the hack is the fact that CAN bus has no security, and anyone with the ability to intercept and inject messages can take over the car. Therefore right after reading about those hacks, many people who are familiar with security but not with car manufacturing process, often ask this question: why does the CAN bus is so insecure?
In this article I will try to explain, why CAN bus evolved this way, and what are security challenges to secure it.
I have developed several multimedia applications using Qt4 and Qt5. In past, when creating Karaoke Lyrics Editor with Qt4, I initially used Phonon, which was offered by Qt4 multimedia framework. Unfortunately I quickly found the issues with this framework, making it less useful for my purpose: