From: Jim K. <ji...@ji...> - 2004-03-09 07:54:46
|
Hello All, A while ago, I began an initiative to find a new license for OpenG code, which would eliminate the need to allow users to relink/rebuild to new version of protected libraries. This requirement of the LGPL is not = very useful to the end customer's of LabVIEW software products and it is a = pain for developers who use OpenG libraries in their software products. With that in mind, I set out to find or build a better license. The Mozilla Public License seems like the best fit, but has a few issues that need = to be addressed. I have responded, at length, to a question posted by David Moore, on the OpenG.org discussion form titled "MPL vs. LGPL" which = talks about the issues I have with the MPL and what I think it will take to = modify the license and transfer over to the new license. The forum topic is located here: <http://www.openg.org/tiki/tiki-view_forum_thread.php?forumId=3D3&comment= s_par entId=3D286> I have reproduced my response, below, but you might want to visit the = forum since there are hyperlinks to the various licenses and there is = formatting that might make it easier to read. Regards, -Jim Kring ########################################################### David, First of all, let me reiterate what we want (or at least what I have gathered that a majority of us want) from our license: -------------------------------------------- The Purpose (according to Jim) of an Open Source license for OpenG: -------------------------------------------- The purpose of the license is to place minimal restrictions on users of = the protected code, but require that modifications to the protected code be licensed under the terms of the same license and made available to the public free of charge. -------------------------------------------- You asked, "How do we make that happen, or are there objections?" The = answer is that we need to decide on the final form of the license (keep reading = for some of my issues with the MPL) and get the direct contributors of OpenG source code to agree (in writing) to the new license. I have already = gotten informal approval for this transition from nearly all of the direct contributors. No, I don't see there being any objections to loosening = the license by removing the relinking requirement. However, prior to transferring code over to the new license, I will need to send the new license to the legal departments of a few of the larger private organizations using LabVIEW, and get a green light. As I have mentioned, I like the Mozilla Public License (MPL) because it = was designed to allow commercial use of protected code, with minimal restrictions on original works and unmodified protected code. It = requires that modifications to protected code be made available to recipients of executable code, and it does not have the "relinking requirement" of the LGPL. However, I do have some issues with the MPL which we need to address. = The first issue that I see with the MPL is this: Do we want to use the MPL, as is, or do we want to make any changes to = it? Sections 6.1 and 6.2 shown, below, allow the recipients of Covered Code = to (optionally) use the Covered Code under the terms of any future version = of the MPL. -------------------------------------------- Sections 6.1 and 6.2 of the MPL 1.1: -------------------------------------------- 6.1. New Versions. Netscape Communications Corporation (Netscape) may publish revised = and/or new versions of the License from time to time. Each version will be = given a distinguishing version number. 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that = version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other = than Netscape has the right to modify the terms applicable to Covered Code created under this License. -------------------------------------------- We must then ask the question: "Do we implicitly trust future versions = of the MPL that Netscape (an AOL Time Warner subsidiary) may publish?" My = gut instinct is to say, "No". If we decide that we do not want Netscape to have the authority to = release the new versions of our license, let's call it the OpenG Public License (OGPL), then who should have the authority? There are a couple choices: = (A) Nobody - meaning that the OGPL will remain forever static, or (B) Us - = but who are we? OpenG.org is owned and controlled solely by me (Jim Kring), = and I don't know if that fact would help people sleep at night any more than = if Netscape had the authority to release new versions of our license. We = could establish OpenG.org as a legal entity controlled by a governing body = made up of voting community members, like IEEE. This, however, would probably be pretty complicated and require levels of funding and organization that = don't yet exist within the OpenG community. So, it seems like the best choice = is to make the OGPL unchanging. And, this is not a terrible choice. For example, the MIT License, BSD License, and Artistic License do not have provisions for releasing new versions. So it seems to me that we would want to create derivative of the MPL, = and as such, per section 6.3 (shown below), we must remove all references to Mozilla and Netscape. -------------------------------------------- Section 6.3 of the MPL 1.1: -------------------------------------------- 6.3. Derivative Works. If You create or use a modified version of this License (which you may = only do in order to apply it to code which is not already Covered Code = governed by this License), You must (a) rename Your license so that the phrases Mozilla, MOZILLAPL, MOZPL, Netscape, "MPL", NPL or any confusingly = similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your = version of the license contains terms which differ from the Mozilla Public = License and Netscape Public License. (Filling in the name of the Initial = Developer, Original Code or Contributor in the notice described in Exhibit A shall = not of themselves be deemed to be modifications of this License.) -------------------------------------------- So, if we decide to change the license, we should change all instances = of Mozilla to OpenG (and MPL to OGPL), and remove Section 6, in its = entirety (which consists of 6.1, 6.3, and 6.3 shown above). I also think that we should remove Section 13, "Multiple-Licensed Code" (shown below), which was introduced in version 1.1 of the MPL. -------------------------------------------- Section 6.1 of the MPL 1.1: -------------------------------------------- 13. MULTIPLE-LICENSED CODE. Initial Developer may designate portions of the Covered Code as Multiple-Licensed?. Multiple-Licensed? means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of = the NPL or the alternative licenses, if any, specified by the Initial = Developer in the file described in Exhibit A. -------------------------------------------- I think that allowing multiple licenses just complicates things. So, removing Section 13 also results in the second half of Exhibit A (shown below) disappearing: -------------------------------------------- Bottom Half of Exhibit A of the MPL 1.1: -------------------------------------------- Alternatively, the contents of this file may be used under the terms of = the _ license (the _ License), in which case the provisions of License are applicable instead of those above. If you wish to allow use of your = version of this file only under the terms of the License and not to allow others = to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the _ License. If you do not delete the = provisions above, a recipient may use your version of this file under either the = MPL or the _ License." NOTE: The text of this Exhibit A may differ slightly from the text of = the notices in the Source Code files of the Original Code. You should use = the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications. -------------------------------------------- Additionally, I would like to augment section 3.2. "Availability of = Source Code" (shown below) so that it requires that modifications to the = Covered Code which are distributed outside one's organization be made available = to the entire community, not just the recipients of the Executable version. -------------------------------------------- Section 3.2 of the MPL 1.1: -------------------------------------------- 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be = made available in Source Code form under the terms of this License either on = the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, = must remain available for at least twelve (12) months after the date it = initially became available, or at least six (6) months after a subsequent version = of that particular Modification has been made available to such recipients. = You are responsible for ensuring that the Source Code version remains = available even if the Electronic Distribution Mechanism is maintained by a third party. -------------------------------------------- For example, the Artistic License states the following (pay attention to 3.a.): -------------------------------------------- Section 3 of the Artistic License: -------------------------------------------- 3. You may otherwise modify your copy of this Package in any way, = provided that you insert a prominent notice in each changed file stating how and = when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site = such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or = organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a = separate manual page for each non-standard executable that clearly documents how = it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. -------------------------------------------- Well, I've said a mouthful. I'll work on a draft of the OGPL with the changes that I have mentioned and post it for review and comments. -Jim Kring |