When I was writing my posting on “Open Standards and Vendor Neutrality”, I figured someone would bring up the old argument on how can OPC be considered an Open specification, if you have to be a member to access the documentation? Sharon Rosner had this to say:
“The article discusses ODF and Open Office XML as two competing standards, the specifications for both of which BTW are readily available for download. When will the OPC foundation offer the OPC specifications for download by anybody? “Can OPC UA really be considered an ‘open standard’ when it’s really open only for secret club members? I find the behavior of the OPC foundation to be really baffling. You say one thing and you do another. But by your policies you shut out a large number of independent developers who are thirsty for more information on OPC. There are many OPC products out there which were developed by reverse-engineering rather than by implementing the standard. If O’Reilly were indeed to do a book on OPC, would you let them publish the specs? ”
It seems the argument boils down to the question “Does Open = Free?”. Since I’m an engineer, my first logical thought is to find the accepted definition of ‘open standard’. The ever useful Wikipedia has this to say on open standards.
An Open standard is a standard that is publicly available and has various rights to use associated with it. The terms “open” and “standard” have a wide range of meanings associated with their usage. The term “open” is sometimes restricted to royalty-free technologies while the term “standard” is sometimes restricted to technologies approved by formalized committees that are open to participation by all interested parties and operate on a consensus basis. Some definitions of the term “open standard” permit patent holders to impose “reasonable and non-discriminatory” royalty fees and other licensing terms on implementers and/or users of the standard.
If you read the entry in detail it turns out that according to ITU-T and EU definitions Open is not necessarily free, but if you are Danish or Bruce Peren it is. Which amounts to a sticky wicket that doesn’t really answer things at all. Of course finding a definition to stand behind is just semantics anyway.
The real question is “Should the OPC specifications be available for free download by everyone?”. The OPC Foundation DID offer the OPC specifications for download by anybody for almost ten years. The OPC Board of Directors did not make the decision to limit access to members only until May 1, 2006. It was not a decision they came to lightly, and knew that it would have an impact on OPC implementation. The main influence was the message coming from the end users. “We don’t what more OPC products, we want better OPC products.” As Tom pointed out in one of his early blog postings, there were many client applications built on the OPC technology by non-members that did not measure up to the expected quality and had many interoperability problems.
If the Foundation has to sacrifice some quantity in order to increase quality then so be it. In the long run, a solid, reliable, truly interoperable standard will become the preferred and demanded choice. However, allowing things to continue as they were would lead to increased frustration among the existing OPC user community and eventually result in decreasing trust and adoption of the OPC specifications. Ultimately everyone would lose.
In order to improve quality of implementation means the OPC Foundation needs to know who is doing the implementation, be in communication with them, and ensure they have access to and are using the appropriate development, validation and testing tools. They have followed the lead of many other organizations in requiring membership to track who is developing the technology. I think that is a key distinction. You don’t have to be a member to make use of the technology, but you should be a member if you are developing OPC products that will be connected to OPC products from other vendors. (Even this is not necessarily true if you are developing using a third-party toolkit.). The club is not secret. Anyone can join and many have.
If the cost of membership is a barrier to entry for some developers, then what about the costs associated with testing, validation and compliance? Will they be deemed too expensive to undertake as well? What assurances do end users have that an OPC product developed completely outside of the OPC Foundation support and testing structures will be interoperable? I’d concede there may be some cases where someone may wish to see in detail what OPC offers, before deciding whether or not to embark on a development cycle, such as open source projects, or initial R&D phase of a product. Tom mentions plans to address these cases in another of his posts. To my knowledge that plan is still true. In any case, I’d argue that there are tutorials, free tools, training classes or other ways to get enough understanding of what is involved without seeing the specifications.
Will the current ‘pay to play’ model improve overall quality of OPC installations? Time will tell. Personally I believe it will, but of course I don’t know for sure. What I do know is how it was before wasn’t working well enough. (If I had all the answers, I be independently wealthy, living in a remote seaside cabin enjoying the sunshine and a tall Guinness.)