Open source, open standards
Karen L. Coyle · Information Technology and Libraries · 2002
When people speak of source software they are referring to computer code--programs that run. But code is only the final step in the information technology process. Prior to writing code the information technology professional must do analysis to determine the nature of the problem to be solved and the best way to solve it. When software projects fail, the failure is more often than not attributable to shortcomings in the planning and analysis phase rather than in the coding itself. Open source software provides some particular challenges for planning since the code itself will be worked on by different programmers and will evolve over time. The success of an source project will clearly depend on the clarity of the shared vision of the goals of the software and some strong definitions of basic functions and how they will work. This all-important work of defining often takes place through standards and the development of standards that everyone can use has become a movement in itself: standards. ********** Open standards are publicly available standards that anyone can incorporate into their software. An example from the library environment is the MARC record standard. The original documentation for the MARC record was published by the American National Standards Institute. (1) The most common use of the standard, that of the MARC21 records that libraries adhere to, is also published and available for use. No one owns the MARC record format; there are no fees for its use and no restrictions on who can use it in their products. Any software developer who wishes to write for library systems therefore has access to a vital part of the system needs: the basic data structure that libraries use today. This may seem so obvious that its importance is hard to grasp. In fact, the library world has probably made more use of standards than practically any other industry. Let's face it, open is practically our middle name. Examples from the non-open world of proprietary software might help us understand the importance of our preference for standards, and the examples are not hard to find: Microsoft Windows versus the Macintosh operating system; VHS versus Betamax; Nintendo versus Sega. In each case you have unique products that are inherently incompatible. As a matter of fact, this incompatibility is purposeful and actually enhanced by the companies in question as part of their market strategy. If you need to compete, then openness is a disadvantage. If you need to cooperate, then openness is the way to go. Goals of Open Standards Open standards can serve multiple needs. The most common one is the need for interoperability. Interoperability refers to communication between systems or system parts. In the highly networked world of the twenty-first century, the ability for computer systems to exchange data in order to carry out basic functions is absolutely vital since most systems operate in a vast and varied digital community. Our library systems communicate electronically with sources of bibliographic records, book vendors, and users. They also now interconnect themselves with networked information resources outside of the library and deliver these through library-maintained interfaces. Much of this communication is through open-standard interfaces, such as Z39.50, Electronic Data Interchange (EDI), and hypertext transport protocol (HTTP). (2) These standards operate at the point where system boundaries touch; they determine the rules of the digital membrane but do not determine how systems handle data up to that point of permeability. Internally, few systems store bibliographic data in the format prescribed by ANSI Z39.2, the basis for the MARC record. But they are able to transform the data into that format for communication with other systems. Another purpose of standards is to create the framework for a community. In many ways this is the prime reason for many library standards. …