This is a very complicated license. Thanks for providing the remarks and annotations. Very nice.
After a quick read, I think that it should not be OSI approved, for numerous reasons, some follow. Because the license is so complicated, it is not clear to me that addressing the following points would be adequate to make it OSD compliant. I think the two fundamental issues are it very much seems to be a EULA, trying to function under copyright law, and EULA's are hard to get through OSD. and the Rationale a) is very difficult to set forth legally. Any license which attempts to make such distinctions must get extra scrutiny. After all, the license ends up defining "Programming Tool" as "Any Software or portion of such Software that is declared as being a "programming tool" by the Copyright Holder. Such declaration must be located in the Copyright Notice." which I think is ripe for abuse and inconsistency in itself. ------------------------ The definition of "User" is too broad. It allows any Distributor to force someone to be a "User" simply by sending them a copy. ------------------------ The "Source code" definition includes this statement, "Source files or members that contain obfuscated source do not count as Source Code." "Obsfucated" is not well-defined. I've see a lot of legitimate source files that appear to be obsfucated. Other OSI-approved licenses have definitions of "Source." Also, as written, I think this definition includes compilers and linkers (and more! run-time ld? ) as Source code. ------------------------ Paragraph 6 says, in part: No right is granted to the trademark(s) of any Contributor even if such marks are included in the Software. The names of Contributors or any of their products may not be used in any way without prior written permission from the pertinent Contributor. Derivatives and/or Dependent Software may not be named after the Software, nor may they be given a name that might be confused with the name of any Contributor or any Contributor's products and/or trademarks. Remarks Since "Contributor" is defined as to include any "Distributor" it is fundamentally impossible to know the set of Contributors. Without knowing that set, it is impossible to know what names you are not permitted to use. The "even if such marks are included" is a problem when you also require (in a separate paragraph) verbatim distribution of the software. I read that as "when there is any trademark in the software, you are not permitted to distribute." ----------------------- Paragraph 10 claims that all items which "make use of ... the original or modified versions of the Software" are "Derivatives." That is plainly wrong. md5sum will make use of the Software to compute the MD5 sum, and by Paragraph 10, md5sum is a "Derivative" of the Software. ----------------------- Paragraph 12 uses the term "Distributor" and "Contributor" in a manner inconsistent with the definition in the Item 2. ----------------------- Paragraph 12.2 is unsatisfiable because the set of Contributors is unknown. It is against the OSD because as I read it, any new "official" contributed modification will invalidate existing versions. This constitutes the need for a "separate license": always checking some official site that there are no new contributions. -- license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3