Russ Nelson's blog

[ Home | RSS 2.0 | ATOM 1.0 ]

Fri, 12 May 2006

Open Standards

There are many, many opinions on what defines an open standard. Here's my opinion (not OSI's opinion):

If you're distributing hardware, an open standard might include patents which need to be licensed. That's okay, because nobody gives away hardware at zero cost. For example, an MP3 decoder chip could be part of an open standard, because the license for the MP3 patent would be paid by the chip manufacturer.

If there is no hardware being distributed, an open standard can't include royalties. Software can be copied at zero marginal cost; no room for royalties there. A software open standard must include royalty-free licenses for any patented elements.

More than that, though, are incompletely-documented open standards.

As a real-life example, my Crynwr Packet Drivers are written to an open standard -- the FTP Software Packet Driver Specification. However, all of MY packet drivers include an extra feature which makes callbacks easier (the standard requires a far return; my packet drivers work with either a far return or an interrupt return since an interrupt return is easier to code without using assembly language). I have written some applications which rely on this behavior. They won't work on non-Crynwr packet drivers.

Because I implemented to somebody else's spec, you can easily say that my software is simply not up to spec, and you'd be right. However, what if it was a specification that I had written, and was claiming that it was an open standard? If I hadn't included my proprietary improvements, is the standard truly open?

posted at: 16:13 | path: /opensource | permanent link to this entry

Made with Pyblosxom