Recently I was helping in the kitchen (a not-so-frequent event in my case) and asked to keep the lid of a pot "open." I interpreted this to mean not completely closed -- loose, with a small gap to let steam escape. I was wrong. The lid needed to remain completely open -- off the pot altogether. (Seems I need to spend more time in the kitchen!)
This got me to thinking about the various degrees of "open" in the software world. Before long I surfed my way to a related document from the National IT and Telecom Agency in Denmark, discussing this very issue and the difference between various types of standards (open vs. proprietary; de facto vs. de jure). It notes in part:
A completely open standard has the following properties:
- It is accessible and free of charge to all
- It remains accessible and free of charge
- It is accessible free of charge and documented in all its details
This document also details a number of factors that must be taken into consideration by "a public player able to choose between standards with varying degrees of openness, or who wishes to influence openness in the future choice of standards."
I'm sure there are a wide variety of definitions and interpretations of open. I think it would be nice, though, if the industry could agree on the term's meaning and use it consistently. (Sun's Jonathan Schwartz seems to have the opposite objective, having written earlier this year that "Only a customer can define the word 'open'" and then immediately contradicting himself and confusing the issue by defining "open" himself -- "open describes the level of effort it takes to enable substitution" -- and concluding Linux is not open.)
I'd particularly welcome comments with links to definitions of "open" that you deem apt or noteworthy. Especially if you're an experienced chef (in the software development kitchen, that is).