Consider an API whose normative specification is maintained in an XML file describing enum values, entrypoints, etc. The XML file is covered under Apache 2.0. I write a python script to parse that XML and emit a C header describing that API. What license options do I have for that header?
My amateur reading of Apache 2.0 Section 4 (Redistribution) is that I can choose whatever I want for the generated header. The last paragraph in particular:
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
The header is the Derivative Work, and I need not distribute the source XML at all. On the other hand, my amateur reading of the definition of "Derivative Work" in Apache 2.0:
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
Suggests that such a header file would not count as a Derivative Work; I'm not sure what it would count as, but as it's merely a binding to the interfaces defined by the Work...
- ajax