Proprietary Communication Protocols

It seems that it is an irresistible attraction for private companies to create their own proprietary protocol. During my working life, I've seen that the most common pattern is "take a well-known protocol and change something".

Sometimes new types of message are added, claiming that this is absolutely necessary for the company's needs. Other times only a small part of the protocol is implemented. In a couple of situations, I've seen message types associated with data different from the original protocol.

In some cases, there are good rationales to do that (especially in case of a partial implementation), but I'm afraid that, most of the times, the reason is different.

Since full interoperability is guaranteed only for products of the same company, a proprietary protocol forces the customer to buy everything from the same vendor. So you end up with devices that fit your needs, together with others that suck but you cannot replace.

Of course, this makes sense from a business point of view. Unfortunately for users, this is a constraint they are happy to get rid of, as soon as it's possible. A new player on the market can gain market share if it demonstrates to be open and interoperable.

In this case, the market follows the rule of the fax: the first device is useless, but the more new faxes are installed, the more their importance increases. Similarly, the more your device can communicate with others, the more its perceived value raises.

As a final consideration, you must also consider that no secret lasts forever. So it's probable that, if a proprietary communication protocol designed to exclude the competitors is widely used, soon or later someone will decode it.


Cover image by Sebastien Wiertz taken from Flickr licensed under the Creative Commons Attribution 2.0 Generic license.

Luca Sommacal

Luca Sommacal

Italian developer (mainly in C for embedded platforms), Linux learner, addicted to rock music, history, science and few other things. Follow me on Twitter

comments powered by Disqus