ESP Wiki is looking for moderators and active contributors!

Difference between revisions of "Patent clauses in software licenses"

(Apache License 2.0: remove line that's probably incorrect)
(Apache License 2.0: s/fist/first/)
Line 67: Line 67:
 
|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>
 
|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 fist half of Section 3:
+
The grant is the first half of Section 3:
  
 
<blockquote>
 
<blockquote>

Revision as of 19:27, 22 January 2013

Red alert.png 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:

  1. require that distributors of a software package give recipients a licence to use any necessary patents, and
  2. 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 is discussed below.

Limits to effectiveness

  1. These clauses only apply to patent holders who distribute the software which uses this licence.
  2. The stronger the clause, the less likely it is that dangerous patent holders will distribute software that uses the licence.

How to evaluate patent clauses

Good patent clauses that can be put into software licences include:

A grant of patent rights
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. Lower down the list comes GPLv2, which has no explicit patent grant but does talk about patents and causes distributors to pass on permission to use/modify/redistribute, thus forming an implicit patent grant. Obviously, worst of all are the licences which contain no patent grant.
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)

See section 6 and section 7.

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

LGPL 2.1

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

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

External links

References

  1. "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." 
  2. http://ipmall.info/hosted_resources/sipla/sipla_2005/ravicher_slides.pdf
  3. https://www.fsf.org/licensing/seminar-materials/2005nyc/implied-patent-grant-slides.pdf
  4. "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." 
  5. "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." 
  6. "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." 
  7. http://lwn.net/Articles/389611/
  8. http://lwn.net/Articles/391073/