[License-review] Approval: BSD + Patent License
mccoy.smith at intel.com
Wed Jan 27 00:53:35 UTC 2016
I've thought about and tried to respond to a lot of different commentary on the original submission for this license. I'm now submitting a slightly revised version of this license (reproduced below, and shown in the attached markup which indicates from which license the language was derived). Specifically, this draft differs from the original submission in the following ways:
1. I have retained the "subject to" language (and the parenthetical about the irrevocability) from the Apache 2.0 patent grant, since several people (Jim Wright, for example), noted that it might allow a licensee to retain the benefit of the patent grant without complying with the copyright and license notice obligations of parts 1 and 2 of the copyright grant. This is a useful feature that I hadn't thought of in my original drafting.
2. I have removed the disclaimer for "hardware per se" since several people found that to be potentially ambiguous and might be considered an issue for using this license for hardware designs or design files. Although I think the intent of this clause was to make clear that merely running code on a piece of hardware doesn't confer a patent grant to that hardware, I think that the scope of the express patent grant should be the main mechanism to do that.
I have also added two provisions, in [square brackets] in response to comments, the square brackets indicating I'm not firm on whether they should be included but am interested in discussion and opinion:
1. I've added language specifying that the patent license is granted to patent claims already or after acquired (that particular language comes from GPLv3). Although such language is in neither Apache or Eclipse, I think the language of the patent grants in those licenses does not preclude after-acquired patents, and the Apache website makes clear it is not intended to do so, so I tend to think such clarifying language is not needed (in this license, or in Apache or Eclipse). But to the extent that some see there to be an ambiguity on that point, this language would address it.
2. I've added a more detailed disclaimer of other licenses. The language itself comes from Eclipse (at the end of Section 7), although I've not used the "all rights reserved" language (since all rights reserved clauses, in my and many others' opinions, are historical anachronisms). People have expressed differing opinions on use of this sort of disclaimer -- on the one hand, that it could be found to add complexity, and might impact GPLv2 compatibility (although given ClearBSD, I'm not sure why that would be the case), and on the other hand, that given the state of the law of implied patent licensing in the US, this helps clarify that the express patent license is the only patent license.
In addition, several people stated that they thought that since one of the primary goals of this license is to be GPLv2 compatible, it ought to first get acknowledgement by FSF that it is so before OSI approves it. I am communicating separately with FSF about GPLv2 compatibility (tying that issue into this thread seemed like it would muddle issues and result in a mixed discussion about OSI approval vs. FSF approval). I'm perfectly happy to await word from FSF on GPLv2 compatibility before OSI approval of the license. Nevertheless, having a discussion and debate about other drafting and scope issues with the license has helped clarify my thinking on the license and opened up some different interpretations for the language used that I found enlightening.
Other issues were raised, and I tried to respond to them via e-mail, but don't think there ought to be a change in the proposed language. Everyone on the list is welcome to respond to any of the points above, or give additional opinions on the language itself or the value of having a license of this type.
PLAINTEXT COPY OF UPDATED LICENSE BELOW:
Copyright (c) <YEAR>, <COPYRIGHT HOLDERS>
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Subject to the terms and conditions of this license, each copyright holder and contributor hereby grants to those exercising copyright rights under this license a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer their copyrighted material, (whether in source code or binary form) made available under this license, where such license applies only to those patent claims [, already acquired or hereafter acquired,] licensable by such copyright holder or contributor that are necessarily infringed by:
(a) their copyrighted material alone; or
(b) combination of their copyrighted material with the work of authorship to which such copyrighted material was added by such copyright holder or contributor, if, at the time the copyrighted material was added, such addition causes such combination to be covered by the patent claim. The patent license shall not apply to any other combinations which include the copyrighted material.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
[Except as expressly stated above, you receive no rights or licenses to the intellectual property of any copyright holder or contributor under this license, whether expressly, by implication, estoppel or otherwise.]
From: Smith, McCoy
Sent: Wednesday, January 13, 2016 10:57 AM
To: License submissions for OSI review
Subject: Approval: BSD + Patent License
OSI License Submission for BSD + Patent License
The attached license is submitted to the Open Source Initiative for approval as an OSI-approved Open Source license.
This license has been created to address a specific problem that has been encountered with existing licenses: the desire of certain organizations to have a simple permissive license that is compatible with the GNU General Public License (GPL), version 2, but which also has an express patent grant included.
This license should be categorized as a “Special Purpose License,” or, alternatively, as an approved variant of the BSD 2-clause license.
DISTINGUISHING FROM OTHER OSI-APPROVED LICENSES:
The BSD 2-clause license is currently categorized as one of the “Licenses that are popular and widely used or with strong communities.” The BSD 2-clause license is also considered by the Free Software Foundation (FSF) to be compatible with both GPLv2 and GPLv3. However, some organizations – particularly those with large or valuable patent portfolios – are reluctant to use the BSD (and MIT) licenses because of the lack of an express patent license grant in those licenses. Because of that issue, many patent holders prefer to use the Apache 2.0 license when they wish to license code permissively, since it has an express, and well-written, patent license grant. Unfortunately, the FSF has determined that the Apache 2.0 license is not compatible with GPLv2 because “it has some requirements that are not in that GPL version. These include certain patent termination and indemnification provisions.”
There is currently only one GPLv2-compatible permissive license that includes an express patent license – the relatively-recently approved Universal Permissive License (UPL). In the past, this has created a problem for some authors wishing to license their code permissively, but also including an express patent license grant, and also having the license be GPLv2 compatible so that users have the ability to integrate that code into GPLv2-licensed code (including, for example, the Linux kernel). Although the UPL provides such an option, we believe that users will still wish to have a license with more familiar, and widely accepted licensing language (like a BSD-variant) that solves the issue of an express patent grant and GPLv2 compatibility.
We believe that this license is non-duplicative (for the reasons set forth above), as it solves an issue all but one OSI-approved license solves (permissive, express patent license grant, GPLv2 compatibility). The license itself is a combination of language from the BSD 2-clause license, the Apache 2.0 license, and the Eclipse Public License (all of which are already OSI-approved, and all of which are in the category of “Licenses that are popular and widely used or with strong communities”). It therefore should meet all the criteria of the OSD.
The text of the license is reproduced below. We have also included an attached mark-up of the license showing where the language comes from BSD 2-clause, Apache 2.0 and Eclipse. The patent grant from Apache 2.0 and Eclipse were used because the combination of the two was more tightly-worded and fit better with the existing language in the BSD 2-clause license. Note that we have removed the “patent termination/retaliation” language from both of these licenses because this language is one of the reasons why Apache 2.0 has been found to be incompatible with GPLv2.
In keeping with the License Approval Process submission guidelines:
1. We have read the Open Source Definition and ensured that this license complies with it (and in fact, this license is an amalgamation of already OSI-approved licenses).
2. This is an Approval submission, as this is a new license (albeit derived from existing OSI-approved licenses).
3. We have appropriate standing to submit this request, as this license was created by us (again, derived from existing OSI-approved licenses).
4. We are subscribed to license-review.
5. This communication is our formal request to license-review.
Please approve this license for inclusion on the OSI approved license list.
Legal & Corporate Affairs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: BSD + Patent markup vs. BSD & Apache & Eclipse v 2.odt
Size: 31641 bytes
Desc: BSD + Patent markup vs. BSD & Apache & Eclipse v 2.odt
More information about the License-review