The Open Source Definition

The Open Source Definition (OSD) is the precise specification that decides whether a software license may carry the “open source” label. Maintained by the Open Source Initiative, it is not a license itself but a set of criteria that any license must meet. The OSD notes that it was “originally derived from the Debian Free Software Guidelines,” the document Bruce Perens wrote for the Debian project in 1997.

Perens has described the lineage firsthand. As leader of the Debian project he proposed both a Debian Social Contract and the Debian Free Software Guidelines in 1997. When Eric Raymond approached him with the idea of “open source,” Raymond felt the Guidelines were the right document to define it but needed a more general name and the removal of Debian-specific references. Perens edited the Guidelines into the Open Source Definition, and the original announcement was made on February 9, 1998.

The definition lays out ten criteria. The first is free redistribution: “the license shall not restrict any party from selling or giving away the software.” The second requires that the program include source code and permit distribution in both source and compiled form. The third demands that the license allow modifications and derived works under the same terms.

The remaining clauses guard against more subtle restrictions. The license may protect the integrity of the author’s source code, but only by allowing distribution of patch files. It must not discriminate against persons or groups, nor against fields of endeavor, so a license cannot, for example, forbid commercial or military use. The rights attached to the program must flow to all who receive it; they must not depend on the program being part of a particular distribution; and the license must not place restrictions on other software distributed alongside it. A later clause adds that no provision of the license may be predicated on any individual technology or style of interface.

Taken together, the ten points draw a bright line that visibility of source code alone does not cross. Many “source available” programs publish their code while restricting how it can be used or shared, and under the OSD those programs are not open source. By codifying the freedoms in a checkable list, the definition gave the movement a common standard and made OSI’s license review process possible.