Industry standards morph into functional computer software. I use the word “morph” on purpose to avoid any term that can be found in US copyright or patent law. Morphing is a special effect in motion pictures and animation to turn one image into another through a seamless transition. Wikipedia shows an image of George W. Bush morphing into Arnold Schwarzenegger, and so too the morphing of an industry standard into software can result in something that looks entirely different at an expressive level and that potentially does useful things.
In the case of software industry standards, morphing transforms a written specification into working code through a mental process conducted internally by programmers and engineers. The end result – functional software – is a created outcome of human intellect that starts with a written specification and ends with a working implementation.
For attorneys, software specifications are unusual beasts. A specification may be the description of something patentable, but it is not itself patentable. Only an implementation of a specification, something that can be made, used, or sold, may be subject to patent infringement lawsuits (35 USC 271). Likewise, a specification itself can also be copyrighted, although the copyright does not extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in the specification (17 USC 102(b)). The rights to intellectual property in an industry specification (and thereby perhaps control over its intellectual content) are thus subject to some difficult legal questions with uncertain answers.
This topic gained added relevancy recently because of the patent and copyright infringement lawsuit by Oracle against Google relating to Java. We have been led to believe that Java is an industry standard for a programming language. In compliance with the rules of the Java Community Process (“JCP”), the Java community develops final specifications for technology to be included in the Java platform and publishes free implementations of those specifications under open source licenses. There are currently more than 300 published specifications for the Java language. There is much free and open source software implemented in compliance with these Java specifications. Many companies, individuals, and non-profit foundations (including the Apache Software Foundation of which I am a member) participate in the JCP with the goal that those specifications be available to all free of charge. The Oracle v. Google lawsuit has placed a patent and copyright cloud on Java specifications and software.
Specifications are different from software, but they are weapons in the competitive software wars and they are subject to legal control by contract and by law. Companies try to control specifications because they want to control software that implements those specifications. This is often incompatible with the freedom promised by open source principles that allow anyone to create and distribute copies and derivative works without restriction.
This article explores ways that are available to compromise that incompatibility and to make open standards work for open source.