Open amitdo opened 4 years ago
It is on the to-do list, but as with the other "experimental nature" concerns, we left it off initially to discourage people from citing and spreading it before it took final form — since it has no official status.
Been revisiting the license-selection topic recently, in light of the overall state of the repo. There are several important questions to ask for choosing a license for something that is designed to be a functional specification useful for outside implementations.
Here are some of the general categorical principles:
Not an appropriate fit, at least among the major licenses that I have poked at. The use-cases defined in most software licenses focus on making and publishing modifications. Ideally, we do not want the "standard" to be forked or to circulate in multiple derived-work forms.
Also, it may go without saying, but just in case: it's likely a disadvantage to apply a copyleft(ish) license that would impede proprietary projects from implementing the same behavior. The implicit goal, which I suppose we ought to make explicit, is maximal compatibility, which means that there should be nothing preventing a proprietary app from using the docs as a schema to write a shaping engine from, because users benefit more when every implementation is compatible.
In addition, I think a lot of the standard-issue terms-and-conditions in FOSS software licenses (such as detailing how compiled binaries are distributed and making offers of source) are sufficiently irrelevant to a set of documents that they would only cause confusion.
I have also batted around the Creative Commons licenses and the GNU Free Documentation License.
The CC license suite's terms are, roughly:
Attribution is important because it permits us to include a reference back to the original copy (beyond that, it's not high on my list). NonCommercial, ShareAlike, and NoDerivatives all seem problematic to me, specifically because they would interfere with other people's ability to make translations or to quote from the documents in another work — most importantly, to copy and paste quoted sections in source code.
But Attribution-Only (CC-BY) seems vulnerable to the divergent-and-incompatible-forks problem. It would seem to be better to find a license that explicitly discusses the use of quotations in source files. For example, some of those quotations could be comments (to keep a description close to a function that implements it) but other quotations could be of functional bits like regular expressions.
The GNU FDL seems to be regarded (by third-parties) as difficult to implement, for a few reasons. One is the option of "invariant sections" that the authors can declare. I, for one, would personally not ever want to invoke that option, but when it's defined as part of the license itself, it does seem like downstream translators / later editors could tack on their own invariant sections, which would be a problem.
It also seems like the requirement to log all changes would be difficult to comply with. As things stand, there are several script sections that have not really been put to the full "independent second implementation" test yet, as well as the ever-changing nature of how each implementer handles things (e.g., just look at all the work that goes into HarfBuzz's support for Sinhala and SE Asian scripts); tracking all the changes in the documents could become a burden unto itself.
It also isn't clear to me that the "quotation in comments" issue is adequately addressed in the GFDL.
Another approach entirely might be to just adopt a license that is as close to possible as the "upstream" specifications, so that at least they'd be maximally compatible. I think the chief difficulty there would be that OpenType/OFF and Unicode have starkly different licenses.
Yet another another approach would be to replicate the license(s) of an existing publisher of open-and-free software standards. The tricky bit here is that there are quite a few publishers (IETF, IEEE, W3C) and, by-and-large, their licenses are specific to the institution. That is to say: you cannot just start up a font project and say "this is released under the W3C Font Stuff License" ... not merely because the W3C hasn't published a vetted, meant-to-be-reusable license, but also because the W3C projects' licenses' terms-and-conditions directly reference the W3C.
All that having been said, if anyone has an argument to make for a particular license, addressing the issues above, please make it. There are certainly standards-like projects that have adopted BSD-family or LGPL licenses after considering their own options. In my scouring of the books, though, it seems like most of those have been projects that are 50%+ code, rather than Virtually-100% non-code.
That's a good analysis, perhaps it suggests going in the opposite direction and listing the licensing criteria that we might want to apply to the docs -- some of which you have already mentioned here -- and letting that point the way?
That's a good analysis, perhaps it suggests going in the opposite direction and listing the licensing criteria that we might want to apply to the docs -- some of which you have already mentioned here -- and letting that point the way?
Yeah; makes sense. I would start with the following criteria:
Permission to use, copy, analyze, redistribute for any purpose is granted as long as $SOME_DISCLAIMER and $ORIGINAL_LINK is included verbatim.
Modification is permitted as long as the $ORIGINAL_LINK is retained and the modifications are noted in the Authorship preamble.
A specific clause noting that executable/interpretable code snippets are free to be reused without the rest of the license conditions.
A specific clause noting that incorporating quotations from the document in software does not constitute a derivative work.
A specific clause noting that a translation is considered "one single modification" and therefore only needs to be noted/cited once.
[Possibly an anti-clause]: I think it ought to be made clear that the text in any form is covered the same way and to the same degree. That might could be made clear in the wording of (1).
I think those are the basic set; everyone is welcome to posit others, as well as to react to these....
Separate comment for this: the other top-level concern to think about is what the copyright-like / authorship line would need to look like, since that's the part that would be required to be reproduced in $SOME_DISCLAIMER.
I don't mean whose name goes in it; I'd be happy to just put literally everyone in an alphabetical list. But it is important to disclaim "intellectual property" rights, especially where the edges of the docs meet the outside specifications for reference.
(In fact, I need to go back and add links to the README to reference the various trademarked names of the outside specs referred to. WOFF and WOFF2 do this already, in a "references" appendix, so I think that's the approach.)
Please add a license to your docs.