Ok, here goes my own full analysis of the ocaml and its QPL licence, please don't followup on this one, but provide your own full analysis, and followup on the discussion in separate subthread of the parent post, one issue per subthread.
The actual text of the ocaml licence is quoted with "| " as follow : | In the following, "the Library" refers to all files marked "Copyright | INRIA" in the following directories and their sub-directories: | | asmrun, byterun, config, maccaml, otherlibs, stdlib, win32caml This is the ocaml runtime, which gets linked with the generated programs, And comes with the below licence. | The Library is distributed under the terms of the GNU Library General | Public License version 2 (found in /usr/share/common-licenses/LGPL-2 | on debian systems). | | As a special exception to the GNU Library General Public License, you | may link, statically or dynamically, a "work that uses the Library" | with a publicly distributed version of the Library to produce an | executable file containing portions of the Library, and distribute | that executable file under terms of your choice, without any of the | additional requirements listed in clause 6 of the GNU Library General | Public License. By "a publicly distributed version of the Library", | we mean either the unmodified Library as distributed by INRIA, or a | modified version of the Library that is distributed under the | conditions defined in clause 3 of the GNU Library General Public | License. This exception does not however invalidate any other reasons | why the executable file might be covered by the GNU Library General | Public License. This has been proposed by RMS himself in the thread starting at : http://caml.inria.fr/archives/200112/msg00000.html I think that anyone putting some doubts about this has to be ready to argue with RMS about this issue, and apply its reasoning to the gcc/libgcc case, where this is taken verbatim from. Also read all the FSF licence FAQs about this. For me this case is closed. | and "the Compiler" refers to all files marked "Copyright INRIA" in the | other directories and their sub-directories. Ok, this is the real meat, let's look over the QPL below : | The Compiler is distributed under the terms of the Q Public License | version 1.0 (included below). | ---------------------------------------------------------------------- | | THE Q PUBLIC LICENSE version 1.0 | | Copyright (C) 1999 Troll Tech AS, Norway. | Everyone is permitted to copy and | distribute this license document. | | The intent of this license is to establish freedom to share and change | the software regulated by this license under the open source model. | | This license applies to any software containing a notice placed by the | copyright holder saying that it may be distributed under the terms of | the Q Public License version 1.0. Such software is herein referred to | as the Software. This license covers modification and distribution of | the Software, use of third-party application programs based on the | Software, and development of free software which uses the Software. Notice the different kind of usages covered here : A) redistribution of the software, either in source or binary form. B) modification of the software itself. C) use of third party application linked with the software. This distinction will be usefull below, but let's me make a point immediately here. We all agree that a linked program is a derived work, but there is some distinction made here between a linked work and a modification of the original work. | Granted Rights | | 1. You are granted the non-exclusive rights set forth in this license | provided you agree to and comply with any and all conditions in this | license. Whole or partial distribution of the Software, or software | items that link with the Software, in any form signifies acceptance of | this license. So, using the software distributed under the QPL means you agree with the QPL. In contract law this would probably mean that you agree to the contract, and thus make it binding on you. Notice how it says that any and all conditions must be filled. Also note again the distinction between the software or its modificiations and software that links with the original work. | 2. You may copy and distribute the Software in unmodified form | provided that the entire package, including - but not restricted to - | copyright, trademark notices and disclaimers, as released by the | initial developer of the Software, is distributed. This covers unmodified source distribution. Nothing to say here, it is rather standard. | 3. You may make modifications to the Software and distribute your | modifications, in a form that is separate from the Software, such as | patches. The following restrictions apply to modifications: This covers modification of the original software. Only path (or patch-like) distribution is allowed here. This is expressely allowed by DFSG #4. | a. Modifications must not alter or remove any copyright notices | in the Software. Again, pretty standard. | b. When modifications to the Software are released under this | license, a non-exclusive royalty-free right is granted to the | initial developer of the Software to distribute your | modification in future versions of the Software provided such | versions remain available under these terms in addition to any | other license(s) of the initial developer. First point, this only applies to released software. Also let's see what the trolltech annotation has to say about it, since it covers some doubt in the language above : | | You may license your patch any way you see fit, but note that when | | distributed in a binary form of Qt, it must be licensed under the QPL - | | this is explained in section 4. This means that the patch can be licenced under any licence you chose, and it somehow suggest the above wording, which means that 3b applies only if you are licencing those patches under the QPL. more to this in QPL 4. | | This clause makes it possible for Trolltech to include patches in new | | versions of Qt. It also means that the same patches can be included in the | | Qt Professional Edition, but Trolltech are in turn required to ensure that | | those changes are in both versions. Ok, this is the second part of this QPL 3b clause which is under question here. It means that the upstreamauthor A has the right to get (not specified how) the modifications made by the modificator M, and integrate it in the original software (and only the original software), under the QPL and possibly under some other licence in case the software is dually licenced. This applies as well to the dual QPL/GPL licence of Qt, as to QPL/Proprietary kind of licences. The only way this would be considered as non-free is under the DFSG #1, when you consider the fact of giving those right back to the upstream author a fee or royalty. Ok, this can be argued, and probably will be in a subthread of the corresponding topic, but my own position is that if we consider it a fee, it must include a cost to M to fullfill it, and since M still keeps the whole right to the patch he wrote, and in no way loses any of his rights to it, it cannot really be considered a fee. | 4. You may distribute machine-executable forms of the Software or | machine-executable forms of modified versions of the Software, | provided that you meet these restrictions: This covers distribution in binary format of the software itself, or modified versions thereof. The annotation of 3. seems to indicate that a lone patch can be distributed under any licence, and it is the act of distributing it as compiled form which places it under the QPL, as per QPL 4a below. | a. You must include this license document in the distribution. As said, the binary distribution must be under the QPL. | b. You must ensure that all recipients of the machine-executable | forms are also able to receive the complete machine-readable | source code to the distributed Software, including all | modifications, without any charge beyond the costs of data | transfer, and place prominent notices in the distribution | explaining this. The binary distribution must be acompanied by source, and the charge of transfer is covered by the recipient of the source. | c. You must ensure that all modifications included in the | machine-executable forms are available under the terms of this | license. Again, all modification must be QPLed, This immediately respects the DFSG #3, and is standard practice, i doubt there is much to say about it. | 5. You may use the original or modified versions of the Software to | compile, link and run application programs legally developed by you or | by others. This clause applies to the use of both the modified and original version of the program, and allows you to use it (for legal purpose). | 6. You may develop application programs, reusable components and other | software items that link with the original or modified versions of the | Software. These items, when distributed, are subject to the following | requirements: Now comes the second complication. This entry covers software which is not a modified version of the original software, but which links with it. This is still a derived work in our way of argumenting, which is also the position of the FSF over the GPL, but it is not a modified version of the software. Modifications are only covered by the previous points. The annotation confirms this : | | This is a license designed for libraries, therefore we must also talk about | | application programs or other libraries (components) that are linked with the | | software, as these include portions of Qt when in binary form. Of course, | | given the term "link", there is no differentiation between static and dynamic | | linking. The mention of static and dynamic linking is another clue to what is meant as linking, and i don't think there can be a doubt about this. | | In essence this clause says that you may develop programs that link with Qt | | provided that you develop Open Source software. This already points to Trolltech's intention in the below. Some would argue that this discriminate against proprietary application writters, but the same applies to the GPL. Notice also the mention of "These items", which clearly make reference to the "application programs, reusable components and other software items that link with the original or modified versions of the Software", and there is no doubt that this is also the understanding of "these items" that will be used in the rest of QPL 6. | a. You must ensure that all recipients of machine-executable | forms of these items are also able to receive and use the | complete machine-readable source code to the items without any | charge beyond the costs of data transfer. The application must be acompanied by source code. This is basically the exact content of DFSG #2, except for the mention of cost of data transfer. Again here, see the reference to "the items" mentioned in the QPL 6 header. | b. You must explicitly license all recipients of your items to | use and re-distribute original and modified versions of the | items in both machine-executable and source code forms. The | recipients must be able to do so without any charges whatsoever, | and they must be able to re-distribute to anyone they choose. Furthermore you must give the recipient of the items the right do redistribute original or modified versions, in both binary and source. Basically you have to give the rights of DFSG #1 to #3. | c. If the items are not available to the general public, and the | initial developer of the Software requests a copy of the items, | then you must supply one. Now comes the second issue under discussion. Here these items clearly relates to the "application programs, reusable components and other software items that link with the original or modified versions of the Software" mentioned in the QPL 6 header, and there can be no doubt of that. The upstream author can request a copy of the items, if they are distributed, but not openly distributed (in which case he just needs to get the public version). One could argue again that this would mean a breach of the DFSG #1, since the right of the author to those software would be considered a fee or royalty, but the same argumentation as above makes me reject that. Furthermore, the distribution of these items is governed by the QPL 6a and 6b, and thus you are supposed to be sending it under a free licence, and are free to ask for the cost of data transfer. Some claim that the QPL 6a applies only to source, but if you push this further, it means that the "without any charge" also applies only to the source, and thus you are free to charge the upstream author a fee for the program, and this would then be only a clause disallowing the modificator to refuse to sell the software linking with the library to the author, and thus the fee or royalty involved is again a moot point. Finally, in all of the QPL 6 clause, the licence has just to be free, and is otherwise of the linked work author's chosing. | Limitations of Liability | | In no event shall the initial developers or copyright holders be | liable for any damages whatsoever, including - but not restricted to - | lost revenue or profits or other direct, indirect, special, incidental | or consequential damages, even if they have been advised of the | possibility of such damages, except to the extent invariable law, if | any, provides otherwise. Well, this may be void in some local juridiction, but is pretty common in most free software, and should not be under discussion. | No Warranty | | The Software and this license document are provided AS IS with NO | WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Same here. | Choice of Law | | This license is governed by the Laws of France. Disputes shall be | settled by the Court of Versailles. Ok, this is the last point of contention. The choice of laws seems to be acceptable, and the choice of venue seems to be the only thing under discussion, altough the DFSG doens't make any mention of it. I would thus consider it to be a minor inconvenience to any honest recipient of the software, and have a hard time realising that this would be an insurmentable cost in any case, beyond a few international phone calls, letters or other ways of remote conferencing. The cost of hiring a lawyer in france local to the Court of Versailles is probably less or similar to the cost of hirinig a lawyer of similar competence and fluent in the Laws of France, in a country local to the defendent. I don't have hard data over this though, and would welcome hard data to the contrary. Wild speculation is of no use here though. In conclusion, there may be only two points at discussion here, which cast some doubt about the DFSG-freeness of the QPL as applied to ocaml : 1) Do we consider the right to include modifications of patches also distributed as binaries under the QPL and the right for the upstream author to buy software linked with the QPLed work a royalty or fee, thus breaking the DFSG #1. I would argue against it, since the cose to the modificator is nil. 2) Is the cost induced by hiring a non local lawyer for a court action over doing the same locally enough to make use consider addding a new DFSG guideline to prohibit such a think. And will this not be a free check to licence violators ? Ok, that's it, again, no followup, make your own global analysis, or reply to the individual points i will now be posting. Friendly, Sven Luther