The RuleML Specification License: Cautious Development of Specifications for Open Implementation

From RuleML Wiki
Jump to: navigation, search

Authors: Harold Boley, Tara Athan, Adrian Paschke

A specification is considered in the following as a defining collection of texts and diagrams. Specifications are widely used for hardware and, as focused here, software artifacts. A license for specifications as such is called for.

The RuleML Specification License, Version 1.0 (RSL1.0), has recently been released by the non-profit organization RuleML Inc. The RSL1.0 text ( supports the cautious development of specifications for open implementation. Initially motivated by the need for a better license for the Specification of RuleML, RSL1.0 has been instantiated for the RuleML specification itself ( as well as for the Grailog specification ( Moreover, it is being proposed for instantiation (by simply filling in three blank lines) by other communities that have been in search for a specification license as distinct from various implementation licenses (which continue to be usable along with the specification license).

Specification development benefits from centralized collaboration while specification implementation calls for distributed competition. Hence, the main assumption behind the RuleML Specification License is that a specification to be licensed by it will seek protection from any plagiarism (the "cautious" part) while encouraging broad adoption (the "open" part). Under the RuleML Specification License (e.g., RSL1.0), a specification can disclose its sources (e.g., its grammars/schemas) in a protected form, while disseminating them, as they belong to this specification, for concurrent (but conformant) implementation. The RSL approach can thus be summarized as Cautious Specification Development for Open Software Implementation.

By requiring that "an unmodified copy of this document is included with all disseminations and derivative works," RSL1.0 protects a specification from being distributed or developed as something else. By requiring that "the Specification itself is not modified in any way, ...", RSL1.0 protects a specification from something else being distributed or developed as it. These complementary kinds of protection are especially important for specifications that act as standards in their space.