New Hampshire Passes Open Source Bill

Via Slashdot, a bill passed in New Hampshire requires state agencies to consider open source software when acquiring software and to promote the use of open data formats. Here’s the meat of it from the comments:

I. For all software acquisitions, each state agency, in consultation with the department of information technology, shall:

(a) Consider whether proprietary or open source software offers the most cost effective software solution for the agency, based on consideration of all associated acquisition, support, maintenance, and training costs;
(b) Except as provided in subparagraphs (d) and (e), acquire software products primarily on a value-for-money basis, based on consideration of the cost factors as described in subparagraph (a);
(c) Provide a brief analysis of the purchase decision, including consideration of the cost factors in subparagraph (a), to the chief information officer;
(d) Avoid the acquisition of products that do not comply with open standards for interoperability or data storage; and
(e) Avoid the acquisition of products that are known to make unauthorized transfers of information to, or permit unauthorized control of or modification of a state agency’s computer.

II. All state procurement documents related to software acquisitions shall include language that requires adherence to this section.

Happy Troll is Happy

Amen. I don’t want open source to have a competitive leg up, I just want it considered. Unless you mandate it be considered, it won’t happen. Open source projects aren’t generally looking for government RFP’s to reply to, and I can count the number of times I’ve seen a IT project manager research open source options on no hands.

The definitions of open source and open standards in the legislation itself are pretty good. Kudos New Hampshire.

I. “Open source software” means software that guarantees the user:

(a) Unrestricted use of the software for any purpose;
(b) Unrestricted access to the respective source code;
(c) Exhaustive inspection of the working mechanisms of the software;
(d) Use of the internal mechanisms and arbitrary portions of the software, to adapt them to the needs of the user;
(e) Freedom to make and distribute copies of the software; and
(f) Modification of the software and freedom to distribute modifications of the new resulting software, under the same license as the original software.

II. “Open standards” means specifications for the encoding and transfer of computer data that:

(a) Is free for all to implement and use in perpetuity, with no royalty or fee;
(b) Has no restrictions on the use of data stored in the format;
(c) Has no restrictions on the creation of software that stores, transmits, receives, or accesses data codified in such way;
(d) Has a specification available for all to read, in a human-readable format, written in commonly accepted technical language;
(e) 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;
(f) If it allows extensions, ensures that all extensions of the data format used by the state are themselves documented and have the other characteristics of an open data format;
(g) Allows any file written in that format to be identified as adhering or not adhering to the format; and
(h) If it includes any use of encryption or other means of data obfuscation, provides that the encryption or obfuscation algorithms are usable in a royalty-free, nondiscriminatory manner in perpetuity, and are documented so that anyone in possession of the appropriate encryption key or keys or other data necessary to recover the original data is able to write software to access the data.