ODF and IPR/Licensing Concerns
Here are some apple-orange notions that have come to my attention in an oddly-convergent way.
New OASIS Technical Committee IPR Mode
OASIS has just announced the pending addition of a 4th IPR Mode to the set that technical committees can use as the way intellectual property (mainly essential claims of patents) will be made available to adopters of a TC-produced specification:
- RAND Mode, requiring the essential IPR of participants and contributors to be licensable under Reasonable And Non-Discriminatory terms
- RF on Rand Terms Mode, a Royalty-Free RAND mode that may have certain limitations
- RF on Limited Terms Mode, where the limitations allowed to RF on Rand Terms are not allowed
- Non-Assertion Mode, the new mode in which all contributors and participants make a non-assertion covenant with regard to the specifications that obligate them to do so
The ODF TC operates under the RF on Limited Terms Mode, the most-generous mode available until now. As stated under the OASIS IPR Policy, a TC may not change its IPR Mode without closing and submitting a new charter. I don’t expect such a shut-down and restart to happen, especially before ODF 1.2 becomes a ratified OASIS Standard.
Many will welcome this new mode. I know that my willingness to participate in OASIS Technical Committee activities increases exponentially as we move down the list. The RF on Limited Terms and the new Non-Assertion modes are the only ones that I have no hesitation about.
The Non-Assertion Mode is comparable to everyone obligated by the IPR mode having automatically made an equivalent of the Microsoft Open-Specification Promise with regard to the specifications produced by the TC during their participation.
Of course contributors, participants, and anyone else can provide non-assertion covenants with regard to any specification, as Sun Microsystems did for ODF in September, 2005.
Implementation License Models and Interoperability
The licenses under OASIS IPR modes apply to implementations of the applicable specifications, such as ODF.
I have recently been dealing with provisions of the ODF specification that do not seem to be understandable on their own, not even by consulting referenced source materials. In that case, there is no way to ensure interoperability without consulting an implementation or two. In complex cases (such as figuring out how to decrypt an ODF document that is encrypted using the approach sketched in the ODF specification), it is actually necessary to inspect code to determine what the missing but essential details might be. (It would be better to find implementation descriptions that explain how the specification is being satisfied, but too often the code is the only reliable implementation description.)
When the code is available in an open-source implementation, it may be possible to reverse-engineer an implementation-independent interoperable interpretation. That is what I would look for, assuming that I could master such code well enough to resolve questions the specification leaves open.
Consulting code works for detective work around clarification and hole-filling of the specification. If I want to make an implementation based on that interpretation, I must be especially careful about the license on that code. For example, LGPL and GPL code and other reciprocal-license open-source software is not useful to me in producing software under a license that I prefer (Open BSD, Apache, etc.). I am cautious about digging around in voluminous code anyhow, but I am particularly wary about risking that I might copy GPL code.
In this case, I am reluctant to rely too strongly on an abstracted interpretation unless the specification itself is updated and issued with an interpretation I can then safely rely on.
In effect, specifications that are sufficient for implementation-independent achievement of interoperability, along with royalty-free licenses or covenants, provide the ultimate clean-room support for achievement of unencumbered independent implementations.
That’s what I’m after.
Links to this post: