Difference between revisions of "Patent clauses in software licenses"
(→Mozilla Public License: ===MPL 2.0=== * http://www.mozilla.org/MPL/2.0/ Section 8.2 of MPL-1.1 has been replaced by this shorter section 5.2 in MPL-2.0. <blockquote> 5.2. If You initiate litiga) |
(→References: Category: Free software) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{dud}} | |
− | Software licences can solve a small category of patent problems. They can require that distributors of a software package give recipients a licence to use any necessary patents, and | + | Software licences can solve a small category of patent problems. They can: |
+ | # Grant: require that distributors of a software package give recipients a licence to use any necessary patents, and | ||
+ | # Retaliation: make patent aggression less attractive by revoking patent rights that any aggressor received through the licence | ||
Among [[free software]] licences, the best licences to use in terms of patent clauses are:<ref>{{cite web | Among [[free software]] licences, the best licences to use in terms of patent clauses are:<ref>{{cite web | ||
Line 11: | Line 13: | ||
* Apache 2 (if looking for a "permissive" licence) | * Apache 2 (if looking for a "permissive" licence) | ||
− | Each of these | + | Each of these licences, and others, are discussed below. |
==Limits to effectiveness== | ==Limits to effectiveness== | ||
Line 17: | Line 19: | ||
# The stronger the clause, the less likely it is that dangerous patent holders will distribute software that uses the licence. | # The stronger the clause, the less likely it is that dangerous patent holders will distribute software that uses the licence. | ||
− | == | + | ==Evaluating patent clauses== |
Good patent clauses that can be put into software licences include: | Good patent clauses that can be put into software licences include: | ||
− | + | ===Grants: broad and narrow=== | |
+ | {{help|Need to review these licences regarding distinction contribution/distribution}} | ||
− | + | The two most important aspects of grants are how broad they are, and what activates them (contribution or distribution). A third aspect is implicit grants. | |
− | + | ====Breadth==== | |
+ | With grants, the broader the better. | ||
+ | |||
+ | A typical broad grant will grant rights to use contributor's patents for all functionality of the software. That means that when someone contributes to a software package, they can't later sue you for using that package. | ||
+ | |||
+ | A narrow grant will grant rights to use the contributors patents for the code they contributed. This means they can't contribute a feature and then sue you for using that feature, but they can still sue you for using other features of the software. | ||
+ | |||
+ | A fairly narrow grant (slightly broader than the narrow grant) will grant rights to use the contributor's patents for the code contributed plus any functionality which the software gained via this code. This is broader because it covers not just the features directly added by the code, but also features which are completed or enabled by the code. | ||
+ | |||
+ | An example of a very good grant is GPLv3, which causes distributors of modified versions to grant an explicit patent licence for the whole program. Next in line would be the [[#Apache License 2.0|Apache License 2.0]], which also has an explicit grant, but only for the changes made by that distributor. | ||
+ | |||
+ | ====Activation: contribution or distribution==== | ||
+ | {{help|todo}} | ||
+ | |||
+ | ====Implicit grants==== | ||
+ | |||
+ | An implicit grant can exist when a licence says that you are free to distribute and use the software, but does not explicitly say that you are free to use the patents of the author or distributor. It can be argued giving someone permission to use and redistribute the software implies that you are giving them permission not only regarding copyright but also regarding patents. | ||
+ | |||
+ | [[GPLv2]] has no explicit patent grant, but it has many aspects which suggest there is an implicit grant. GPLv2 mentions that patent rights can be necessary for use and distribution of software, and says that distributors must pass on permission to use/modify/redistribute, thus forming an implicit patent grant that is quite clear. | ||
+ | |||
+ | Even the very simple licences, such as X11 or the revised BSD licence, could be argued to contain an implicit patent grant when they say: | ||
+ | |||
+ | <blockquote> | ||
+ | Redistribution and use in source and binary forms, with or without modification, are permitted (...) | ||
+ | </blockquote> | ||
+ | |||
+ | The licence says permission is granted. It doesn't say that only copyright permission is granted. However, the idea of implicit licences has not been tested in court. | ||
+ | |||
+ | ===Retaliation=== | ||
+ | |||
+ | Retract the granted rights from anyone who initiates litigation. This allows the distributor to use their patents to defend against aggression. | ||
+ | |||
+ | ===Indemnity=== | ||
+ | |||
+ | This would be great, but it's usually impractical. | ||
==GNU GPL v2== | ==GNU GPL v2== | ||
Line 57: | Line 94: | ||
* [http://yro.slashdot.org/story/09/06/07/2318210/Google-Chromes-Inclusion-of-FFMpeg-Vs-the-LGPL Discussion about Google's Chrome using LGPL'd library and having a patent licence], Chris DiBona gives [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-June/020035.html Google's position] | * [http://yro.slashdot.org/story/09/06/07/2318210/Google-Chromes-Inclusion-of-FFMpeg-Vs-the-LGPL Discussion about Google's Chrome using LGPL'd library and having a patent licence], Chris DiBona gives [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-June/020035.html Google's position] | ||
− | ==Apache License== | + | ==Apache License 2.0== |
* http://www.apache.org/licenses/LICENSE-2.0 | * http://www.apache.org/licenses/LICENSE-2.0 | ||
− | The Apache License contains both a patent grant and a patent retaliation clause. | + | The Apache License contains both a patent grant and a patent retaliation clause. The retaliation clause, written in 2004, was copied by the GNU GPLv3 and the MPL 2.0,<ref>{{cite web |
+ | |url=http://opensource.com/law/11/9/mpl-20-copyleft-and-license-compatibility | ||
+ | |title=MPL 2.0, copyleft, and license compatibility | ||
+ | |quote=In certain circumstances, a patent litigant could trigger Apache 2.0's patent peace clause without triggering MPL 1.1's similar (but slightly different) patent peace clause. This made the two licenses incompatible in the sense used here. Aligning these triggering conditions is what allowed us to be more comfortable that Apache 2.0 and MPL 2.0 are compatible.}}</ref> | ||
− | The grant is the | + | The grant is the first half of Section 3: |
<blockquote> | <blockquote> | ||
Line 68: | Line 108: | ||
</blockquote> | </blockquote> | ||
− | This grant is good, but it's narrow compared to GPLv3, since it only covers | + | <!-- This grant is good, but it's narrow compared to GPLv3, since it only covers "their Contribution(s)", not the whole program. --> |
The retaliation clause is the second half of that section: | The retaliation clause is the second half of that section: | ||
Line 85: | Line 125: | ||
==Mozilla Public License== | ==Mozilla Public License== | ||
− | + | {{main|MPL and patents}} | |
− | |||
− | + | The MPL-2.0 contains a retaliation clause and a narrow patent grant. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==WebM licence== | ==WebM licence== | ||
Line 130: | Line 150: | ||
==CDDL== | ==CDDL== | ||
− | + | {{main|CDDL and patents}} | |
==Related pages on {{SITENAME}}== | ==Related pages on {{SITENAME}}== | ||
Line 149: | Line 169: | ||
{{footer}} | {{footer}} | ||
− | [[Category:Minor ways to also fight software patents]] | + | [[Category: Free software]] |
− | [[Category: | + | [[Category: Minor ways to also fight software patents]] |
+ | [[Category: Non-solutions]] |
Revision as of 23:09, 14 December 2014
What this entry documents is not a solution.
This practice may be ineffective or useless in the long term.
ESP's position is that abolition of software patents is the only solution.
Software licences can solve a small category of patent problems. They can:
- Grant: require that distributors of a software package give recipients a licence to use any necessary patents, and
- Retaliation: make patent aggression less attractive by revoking patent rights that any aggressor received through the licence
Among free software licences, the best licences to use in terms of patent clauses are:[1]
- GPLv3 (if looking for a "strong copyleft" licence)
- LGPLv3 (if looking for a "weak copyleft" licence)
- Apache 2 (if looking for a "permissive" licence)
Each of these licences, and others, are discussed below.
Contents
Limits to effectiveness
- These clauses only apply to patent holders who distribute the software which uses this licence.
- The stronger the clause, the less likely it is that dangerous patent holders will distribute software that uses the licence.
Evaluating patent clauses
Good patent clauses that can be put into software licences include:
Grants: broad and narrow
Can you help? Need to review these licences regarding distinction contribution/distribution
The two most important aspects of grants are how broad they are, and what activates them (contribution or distribution). A third aspect is implicit grants.
Breadth
With grants, the broader the better.
A typical broad grant will grant rights to use contributor's patents for all functionality of the software. That means that when someone contributes to a software package, they can't later sue you for using that package.
A narrow grant will grant rights to use the contributors patents for the code they contributed. This means they can't contribute a feature and then sue you for using that feature, but they can still sue you for using other features of the software.
A fairly narrow grant (slightly broader than the narrow grant) will grant rights to use the contributor's patents for the code contributed plus any functionality which the software gained via this code. This is broader because it covers not just the features directly added by the code, but also features which are completed or enabled by the code.
An example of a very good grant is GPLv3, which causes distributors of modified versions to grant an explicit patent licence for the whole program. Next in line would be the Apache License 2.0, which also has an explicit grant, but only for the changes made by that distributor.
Activation: contribution or distribution
Can you help? todo
Implicit grants
An implicit grant can exist when a licence says that you are free to distribute and use the software, but does not explicitly say that you are free to use the patents of the author or distributor. It can be argued giving someone permission to use and redistribute the software implies that you are giving them permission not only regarding copyright but also regarding patents.
GPLv2 has no explicit patent grant, but it has many aspects which suggest there is an implicit grant. GPLv2 mentions that patent rights can be necessary for use and distribution of software, and says that distributors must pass on permission to use/modify/redistribute, thus forming an implicit patent grant that is quite clear.
Even the very simple licences, such as X11 or the revised BSD licence, could be argued to contain an implicit patent grant when they say:
Redistribution and use in source and binary forms, with or without modification, are permitted (...)
The licence says permission is granted. It doesn't say that only copyright permission is granted. However, the idea of implicit licences has not been tested in court.
Retaliation
Retract the granted rights from anyone who initiates litigation. This allows the distributor to use their patents to defend against aggression.
Indemnity
This would be great, but it's usually impractical.
GNU GPL v2
- (See: GPLv2 and patents)
Patent attorney Dan Ravicher argues that GPLv2 includes an implicit patent grant.[2][3]
GNU GPL v3
Note: the same patents clause exists in the: GNU Affero General Public License v3
Section 10:
you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
Also, section 12, which is very similar to GPLv2's section 7.
Related discussions
- From the 25th minute onward, Bradely Kuhn explains GPLv3 section 11
- http://fsfe.org/projects/gplv3/brussels-rms-transcript.en.html#retaliation
LGPL 2.1
- Discussion about Google's Chrome using LGPL'd library and having a patent licence, Chris DiBona gives Google's position
Apache License 2.0
The Apache License contains both a patent grant and a patent retaliation clause. The retaliation clause, written in 2004, was copied by the GNU GPLv3 and the MPL 2.0,[4]
The grant is the first half of Section 3:
Subject to the terms and conditions of this License, each Contributor hereby grants to You 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 the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted.
The retaliation clause is the second half of that section:
If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
Among the "permissive" class of free software licences, Apache 2.0 is the licence recommended by Bradley Kuhn as being the best with regard to patents.[5]
The patent provisions of the Common Public License (CPL) and Eclipse Public License (EPL) are described by Mark Webbink as "quite similar to that of the Apache License, version 2."[6]
Mozilla Public License
- Main article: MPL and patents
The MPL-2.0 contains a retaliation clause and a narrow patent grant.
WebM licence
Google first published the WebM audio-video codec under a licence which had a patent grant and a retaliation clause. After some unrelated controversy,[7][8] they changed to a simpler licence and a separate grant.
The grant:
Google hereby grants to you 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, transfer, and otherwise run, modify and propagate the contents of this implementation of VP8, where such license applies only to those patent claims, both currently owned by Google and acquired in the future, licensable by Google that are necessarily infringed by this implementation of VP8. This grant does not include claims that would be infringed only as a consequence of further modification of this implementation.
That last line was added by Google in June when the text was changed from being part of the licence to being a separate grant.
The retaliation clause:
If you or your agent or exclusive licensee institute or order or agree to the institution of patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that this implementation of VP8 or any code incorporated within this implementation of VP8 constitutes direct or contributory patent infringement, or inducement of patent infringement, then any patent rights granted to you under this License for this implementation of VP8 shall terminate as of the date such litigation is filed.
CDDL
- Main article: CDDL and patents
Related pages on ESP Wiki
- Duds and non-solutions
- Free software - practically all discussion of such clauses is in relation to free software licences
- Patent promises
- CDDL and patents
- GPLv2 and patents
External links
- Packaging Open Source, a paper which looks briefly at the patent clauses of various free software licences, by Mark Webbink, December 2009
- A forum comment describing a possible limit to the effectiveness of licences
- Comparison of software licence clauses and promises, (audio) by Bradley Kuhn
References
- ↑ "Post-Bilski Steps for Anti-Software-Patent Advocates". http://ebb.org/bkuhn/blog/2010/06/30/bilski.html. "License your software using the AGPLv3, GPLv3, LGPLv3, or Apache-2.0. [...] At least when such companies contribute code to projects under these licenses, we know those particular codebases will be safe from that particular company's patents."
- ↑ http://ipmall.info/hosted_resources/sipla/sipla_2005/ravicher_slides.pdf
- ↑ https://www.fsf.org/licensing/seminar-materials/2005nyc/implied-patent-grant-slides.pdf
- ↑ "MPL 2.0, copyleft, and license compatibility". http://opensource.com/law/11/9/mpl-20-copyleft-and-license-compatibility. "In certain circumstances, a patent litigant could trigger Apache 2.0's patent peace clause without triggering MPL 1.1's similar (but slightly different) patent peace clause. This made the two licenses incompatible in the sense used here. Aligning these triggering conditions is what allowed us to be more comfortable that Apache 2.0 and MPL 2.0 are compatible."
- ↑ "Post-Bilski Steps for Anti-Software-Patent Advocates". http://ebb.org/bkuhn/blog/2010/06/30/bilski.html. "License your software using the AGPLv3, GPLv3, LGPLv3, or Apache-2.0. [...] At least when such companies contribute code to projects under these licenses, we know those particular codebases will be safe from that particular company's patents."
- ↑ "Packaging Open Source". http://www.ifosslr.org/ifosslr/article/viewArticle/26/35. "The CPL and EPL are treated as the same license since the text of the licenses are identical in all but name. [...] The CPL contains an express patent license grant in Section 2.b that is purely contribution based. This provides certainty to a contributor as to the patent license obligations the contributor is assuming. In this regard the provision is quite similar to that of the Apache License, version 2."
- ↑ http://lwn.net/Articles/389611/
- ↑ http://lwn.net/Articles/391073/