Open Standards Bill in Minnesota

Again through ConsortiumInfo: Minnesota is introducing a bill that will require the state CIO to chose products that support open standards over those that feature proprietary ones. This is definitvely good news, particularly when looking at the extensive definition of “open” in the text (H.F. 3971, 1.1 (f)):

(f) "Open standards" means specifications for the encoding and transfer of computer 
data that:
(1) is free for all to implement and use in perpetuity, with no royalty or fee;
(2) has no restrictions on the use of data stored in the format;
(3) has no restrictions on the creation of software that stores, transmits, receives, or
accesses data codified in such way;
(4) has a specification available for all to read, in a human-readable format, written
in commonly accepted technical language;
(5) is documented, so that anyone can write software that can read and interpret the
complete semantics of any data file stored in the data format;
(6) if it allows extensions, ensures that all extensions of the data format are
themselves documented and have the other characteristics of an open data format;
(7) allows any file written in that format to be identified as adhering or not adhering
to the format;
(8) if it includes any use of encryption, provides that the encryption algorithm is
usable on a royalty-free, nondiscriminatory manner in perpetuity, and is documented
so that anyone in possession of the appropriate encryption key or keys is able to write
software to unencrypt the data.

Wow – this goes definitively far beyond RAND and comes pretty close to my understanding of what ‘open’ really means.

It seems noteworthy that as per provision (6) in this list, the ‘openness’ of a data format is quite viral in the sense that it requires all descendants to be ‘open’ as well. One problem that I have with this provision is that the standard itself cannot gurantee that any descendants will be open – if there is an extension point, any implementator could choose to extend without documenting. This should be clarified in the text, maybe to the extend that it should reference the implementation, not the standard.

Leave a Reply

Your email address will not be published. Required fields are marked *