FOSS Open Standards/Introduction
What are Standards and Why are They Important?
[edit | edit source]The word "standard" has several different meanings. Working within the context of the subject matter of this document, its meaning in everyday usage,[1][2] can be taken to refer to:
- a level of quality or attainment, or
- an item or a specification against which all others may be measured.
In technical usage, a standard [3] is a framework of specifications that has been:
- approved by a recognized organization, or
- is generally accepted and widely used throughout by the industry.
For the rest of this document, unless specified otherwise, when the word standard is used the technical meaning is implied.
Standards are extremely important in modern society. They ensure that products and services are of adequate quality and that they can interoperate and work together even though they may be from different parties or entities. Ultimately, they raise levels of quality, safety, reliability, efficiency and interoperability, and provide such benefits at an economical cost.[4]
In the IT industry, standards are particularly important because they allow interoperability of products, services, hardware and software from different parties. Without standards, users may be forced to use only hardware and software or services from one party or vendor. Internationally recognized standards define common interfaces and any changes or modifications in the standards are usually carried out by common agreement. For example, the Internet would not achieve its current ubiquitous presence, where it is accessible from almost any type of computer platform and device, if it did not use widely accepted technical standards in its networking infrastructure and supported services.
Open Standards
[edit | edit source]Having defined what standards mean in general and technical usage, let us turn our attention to the main focus of this primer - open standards. There are many differing opinions on what constitutes open standards.[5][6][7][8][9][10]
Definition of Open Standards
[edit | edit source]Well-known Open Source exponent Bruce Perens argues that an open standard is more than just a specification, and that the principles underlying the standard and the practice of offering and operating the standard are what make the standard open.[11] He proposes that open standards should follow the principles of availability, and maximize end-user choice. In addition, there should be no royalty, no discrimination, extension of subset and predatory practices, and certain practices should be followed to ensure that these principles are adhered to. The Perens definition has found wide acceptance among the FOSS communities worldwide.
Principles of Open Standards - Bruce Perens
Bruce Perens has proposed the following principles for open standards. According to his definition,[12] an open standard is more than just a specification. The principles behind the standard, and the practice of offering and operating the standard, are what make the standard open. The principles listed by Bruce Perens are reproduced below.
Principles
- Availability
- Open standards are available for all to read and implement. Maximize end-user choice: Open standards create a fair, competitive market for implementations of the standard. They do not lock the customer into a particular vendor or group.
- No royalty
- Open standards are free for all to implement, with no royalty or fee. Certification of compliance by the standards organization may involve a fee.
- No discrimination
- Open standards and the organizations that administer them do not favour one implementor over another for any reason other than the technical standards compliance of a vendor's implementation. Certification organizations must provide a path for low- and zero-cost implementations to be validated, but may also provide enhanced certification services.
- Extension or subset
- Implementations of open standards may be extended, or offered in subset form. However, certification organizations may decline to certify subset implementations, and may place requirements upon extensions (see Predatory Practices).
- Predatory practices
- Open standards may employ license terms that protect against subversion of the standard by embrace-and-extend tactics. The licenses attached to the standard may require the publication of reference information for extensions, and a license for all others to create, distribute and sell software that is compatible with the extensions. An open standard may not otherwise prohibit extensions.
Practice
Recommended practices for offering and operating each of the principles above have also been discussed by Bruce Perens. (The interested reader should check the reference cited[13] for these.)
The Open Standards Policy of the State of Massachusetts, USA[14] defines it as specifications for systems that are publicly available and are developed by an open community and affirmed by a standards body. The European Commission's European Interoperability Framework (EIF) [15] adds on the requirements that open standards should be available either for free or at a nominal charge for usage, copying and distribution and any patents present are to be made irrevocably available on a royalty-free basis, and there should be no constraints on the re-use of the standard.
Thus, the Perens definition is consistent generally with those of the EIF and the State of Massachusetts, and this approach has gained currency with many policy makers as the basis of their open standards policies.
Other organizations such as the American National Standards Institute (ANSI), the International Telegraph Union Telecommunication Standardization Sector (ITU-T) and the Business Software Alliance (BSA) have also come out with their definitions and policies on open standards. While all of these recognize that open standards have to be publicly available for implementation and participation in development by interested parties, they also recognize the inclusion of essential intellectual property rights (IPR) so long as these IPR can be made available under non-discriminatory terms and for a reasonable fee or for no fee at all.
Thus, we find that while there may be numerous detailed definitions and meanings given to open standards, in general, they all satisfy the following characteristics:
- easy accessibility for all to read and use;
- developed by a process that is open and relatively easy for anyone to participate in; and
- no control or tie-in by any specific group or vendor.
Examples of open IT standards are:
- the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of networking protocols from the Internet Engineering Task Force (IETF);
- the Hypertext Transfer Protocol (HTTP) service protocol from the World Wide Web Consortium (W3C) and the International Organization for Standardization (ISO);
- the Unicode coding standard from the Unicode Consortium and ISO; and
- the Portable Operating System Interface for UNIX (POSIX) portable operating system interface from The Open Group, the Institute of Electrical and Electronics (IEEE) and ISO.
Many organizations as well as governments are starting to emphasize that their IT usage follow or adhere to open standards as far as possible as they now realize that by implementing open standards they can have more flexibility in their choice of technology, vendor and solutions. In an increasingly complex and heterogeneous IT environment, no single technology or vendor can offer solutions on everything and so the ability to mix and match and to interoperate is of critical importance. Information is now exchanged and stored electronically as never before. It is only by following open standards in the exchange and storage/retrieval of the data that an organization can be assured of access to that data, both now and later when the technology or vendor may be long gone.
Some Other Definitions of Open Standards
American National Standards Institute
ANSI has described open standards8 as those standards that are developed by a process where there is consensus by a group or "consensus body" that is open to representatives from all materially affected and interested parties and there is consideration of and response to comments submitted by voting members of the relevant consensus body as well as by the public. There should also be broad-based public review and comment on draft standards. An avenue for appeal is available for participants who feel that the ANSI open standards principles were not respected during the standards-development process.
In addition, ANSI tries to balance the interests of the implementors and users of the standard with the parties who own IPRs that are essential to implement the standard by allowing the payment of reasonable license fees and/or other reasonable and non-discriminatory license terms that may be required by the IPR holders.
BSA, an industry trade association representing commercial software providers, has specified a set of characteristics for open standards. Going by this, an open standard should be published without restriction and in sufficient detail to enable a complete understanding of the standard's scope and purpose and should be publicly available without cost or for a reasonable fee for adoption and implementation. Any patent rights necessary to implement it are to be made available by those developing the specification to all implementors on reasonable and non-discriminatory (RAND) terms (either with or without payment of a reasonable royalty or fee).
International Telegraph Union Telecommunication Standardization Sector
ITU-T has adopted a definition of open standards[16] that reflects the same key elements as ANSI. They define open standards as standards that are made available to the general public and are developed (or approved) and maintained via a collaborative and consensus driven process. These standards should be developed using a collaborative and transparent consensus driven process that is reasonably open to all interested parties.
Intellectual property essential to implement the standard should be licensed to all applicants on a worldwide, non-discriminatory basis, either for free and under other reasonable terms and conditions or on reasonable terms and conditions, which may include monetary compensation.
It should be noted here that wide usage of a standard does not necessarily mean that it is open. Numerous examples are found in the IT industry (e.g. the Portable Document Format or PDF from Adobe Inc., the Powerpoint presentation file format from Microsoft), where some technology or file/data format associated with a popular product is very widely used, so much so that it becomes a de facto standard, i.e. a standard established through widespread usage and acceptance in the industry. However, because this is very often based on a technology by a specific party (vendor or close group) and is under the control of this party, it does not qualify as an open standard. There are potential pitfalls in adopting this as a standard as there is no open mechanism for the user to participate in its development and no guarantee that the party in control will not try to lock in users into its product or technology. In some cases, the owner of the product/technology may agree to submit it to an internationally recognized standards-setting body and in so doing it may then become an open standard.
At the same time, however, governments and organizations should be open to the possibility that some such de facto standards, like PDF for example, are so widely and reasonably licensed and so broadly deployed that it makes sense to temporarily support such standards as part of a government's or organization's interoperability programme. To completely ignore such standards as a rule may actually impair interoperability, particularly if there is no adequate open standard substitute for such a de facto standard
Open Standards and FOSS
[edit | edit source]Many people are confused between the terms open standards and FOSS thinking that they are one and the same or one cannot exist without the other. To be consistent with other publications by IOSN, the term FOSS will be used in this document to refer to open-source software and/or free software. Unless otherwise stated open standards is not the same as FOSS, which refers to software that follows certain principles in its creation, modification, usage, licensing and distribution.[17] In particular, it should have the four fundamental freedoms:
- freedom to run the program, for any purpose;
- freedom to study how the program works, and adapt it to your needs;
- freedom to redistribute copies so you can help others; and
- freedom to improve the program, and release your improvements to the public.
The FOSS: A General Introduction primer [18] from IOSN may be referred for more background and details on FOSS.
FOSS is software whereas open standards refer to standards - two different things altogether. The processes and issues involved in developing software and a standard are also very different. It is entirely possible for a functionality in a non-FOSS software (often called proprietary software) to be implemented following an open standard. Open standards are neutral with regard to software licensing or business models and so it is equally possible for an open standard to be implemented in proprietary software as it is in FOSS. For example, proprietary software like the Microsoft Windows operating system can still implement the TCP/IP networking protocols following the open standards from IETF and be compliant with them.
Widespread usage of standards, and especially open standards, is very important to FOSS. It makes it easier for FOSS to be compatible with proprietary software. It is a practical reality that FOSS needs to coexist with proprietary software and that compatibility with the proprietary platforms is facilitated if standards are adhered to by all. If all software products were to follow standards strictly, they should be able to interoperate and communicate among themselves well and data files could be read and written transparently. While both proprietary and open standards may allow this to happen, the latter are preferred by the FOSS community as they facilitate free access, open development and participation.
FOSS support may be difficult in cases where a proprietary specification is not publicly published but needs to be licensed. In the past, one way to work around this problem is to reverse engineer some proprietary product that implements the specification or protocol but, in recent times, more and more proprietary licenses have specifically forbidden this. In some countries, legislation has also been passed (e.g. the Digital Millennium Copyright Act in the USA) that makes it illegal to reverse engineer a product if it is deemed that the process can assist in the circumvention of measures implemented to protect against illegal copying of the product. These developments have re-enforced the important role that open standards play in ensuring that FOSS can interoperate well with proprietary software. The emergence of FOSS and the open standards that it uses highlight the needs and benefits of open standards in a world where interoperability is required.
FOSS has also benefited much from open standards in that the current widespread usage and popularity of FOSS owes much to the Internet and the open standards that the Internet utilizes. While programmers (and many users who write their own programs) have been freely exchanging programs with source code since the early days of the computer, it was only after the Internet explosion in the 1990s that the idea and culture of FOSS became widely known and accepted by the mainstream IT industry. FOSS that implements the open standards and protocols used on the Internet like TCP/IP, HTML, Simple Mail Transfer Protocol (SMTP), etc., were easily available and many people as well as organizations started to use these. From there they became aware of FOSS and the latter grew in strength and acceptance as more and more used it and contributed towards it.
Some may argue that the freedom in FOSS for anyone to modify the software source code will allow and may even encourage the inclusion of code that does not conform to published standards. This is possible but in practice it is seldom done (i.e. modifying a FOSS mainstream product to make it non-compliant with an open standards and redistributing the modified software). Also FOSS project owners guard against this as they realize that it is to the advantage of FOSS if open standards are adhered to as much as possible. In fact, it is very natural for FOSS to promote the adoption of open standards since the ideals and development model of FOSS itself encourages availability, openness and participation by all - the very traits and characteristics of an open standard.
FOSS is Useful for Popularizing Open Standards
FOSS can play a useful role in popularizing an open standard. A FOSS implementation of a standard usually results in an open and free-working reference implementation. A lot of the benefits of open standards are negated, if its only implementation is a closed and proprietary one. The availability of a FOSS implementation will spur quicker adoption and acceptance of the standard as everyone has easy access to the implementation of the standard and so can try and test it out. A very good example of this is the Internet HTTP standard. One reason why this service became universally accepted is that very early on there were free and open implementations of both the HTTP server (e.g., National Center for Supercomputing Applications or NCSA HTTPd, Apache) and client (e.g., NCSA Mosaic).
Focus of the Primer
[edit | edit source]This primer is part of a series of primers on FOSS from IOSN serving as introductory documents to FOSS in general, as well as covering particular topics that are deemed important to FOSS in greater detail. As such, the issue of open standards is approached from a FOSS perspective and emphasis is given to the relationship that some of these standards have with FOSS. While open standards are available and important for both hardware and software, the examples and references given in this primer focus mainly on standards related to software.
Footnotes
[edit | edit source]- ↑ Merriam-Webster Online Dictionary http://www.m-w.com
- ↑ Wiktionary - a wiki-based Open Content dictionary http://en.wiktionary.org/wiki/Main_Page
- ↑ Webopedia - the online computer dictionary for computer and Internet technology definitions http://www.webopedia.com/TERM/s/standard.html
- ↑ Overview of the ISO system - Why standards matter http://www.iso.org/iso/en/aboutiso/introduction/index.html
- ↑ Perens, B., "Open Standards Principles and Practice" http://perens.com/OpenStandards/Definition.html
- ↑ Open Standards Policy, IT Division, Massachusetts, USA http://www.state.ma.us/itd/openstandards.htm
- ↑ Euporean Interoperability Framework v1.0 http://ec.europa.eu/idabc/en/document/3473/5585
- ↑ ANSI, "Current Attempts to Change Established Definition of Open Standards" http://public.ansi.org/ansionline/Documents/Standards%20Activities/Critical%20Issues%20Papers/Open-Stds.pdf
- ↑ BSA, "BSA Statement on Technology Standards" http://www.bsa.org/usa/policy/loader.cfm?url=/commonspot/security/getfile.cfm&pageid=22407&hitboxdone=yes
- ↑ ITU-T, TSB Director's Ad Hoc IPR Group, "Definition of Open Standards" http://www.itu.int/ITU-T/othergroups/ipr-adhoc/openstandards.html
- ↑ Perens, B., "Open Standards Principles and Practice" http://perens.com/OpenStandards/Definition.html
- ↑ Perens, B., "Open Standards Principles and Practice" http://perens.com/OpenStandards/Definition.html
- ↑ Perens, B., "Open Standards Principles and Practice" http://perens.com/OpenStandards/Definition.html
- ↑ Open Standards Policy, IT Division, Massachusetts, USA http://www.state.ma.us/itd/openstandards.htm
- ↑ Euporean Interoperability Framework v1.0 http://ec.europa.eu/idabc/en/document/3473/5585
- ↑ ITU-T, TSB Director's Ad Hoc IPR Group, "Definition of Open Standards" http://www.itu.int/ITU-T/othergroups/ipr-adhoc/openstandards.html
- ↑ Free Software Foundation, "Free Software" http://www.fsf.org/philosophy/free-sw.html
- ↑ Wong, K., "FOSS General Introduction Primer" http://www.iosn.net/foss/foss-general-primer/