Dealing with Patents in Software Licenses
Many members of the Open Source community oppose software patents. Software patents, they say, hinder the advancement of software art, and as such, counter the beneficial effects of open and published source code. The risk of infringing a copyright is much less than the risk of infringing a patent. You can avoid infringing a copyright by employing good clean-room practices and writing your own independent version of copyrighted software. On the other hand, a software patent can stop you from making, using or selling the patented invention, even if you didn't copy the inventor's software. This means that you may not be able to avoid infringing a patent no matter how careful you are. Someone you never even heard of can inform you that he or she has a patent and, if you cannot invent around that patented invention, your open-source project may be stopped dead in its tracks.
Like them or not, however, software patents are a reality. Software patents have been blessed repeatedly by Congress and the courts, and by the laws of many other countries. Given this reality, it is important to understand the implications of patents for software licenses so that you can select a license that meets your philosophy and goals.
Consider, from the viewpoint of a licensee of open-source software, three kinds of patents: 1) patents owned by the software licensor, 2) patents owned by third parties and 3) patents owned by the licensee or by the licensee's downstream sublicensees.
Licensor patents: suppose you took a license for some open-source software and then discovered that the licensor has a patent on that software that was not included in the license grant. Without a license to that patent, you could not make, use or sell the software. Whenever I review a software license for a licensee, I make sure there is an express grant “under claims of patents now or hereafter owned or controlled by licensor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of licensed software or portions thereof.” Many open-source licenses, including the BSD license, contain no such provision. In those cases, a patent license may be implied, but I don't recommend relying on an implied license. Wherever possible, make sure you have an explicit license to any necessary patents held by the licensor.
Third-party patents: a software licensor may not be aware of all patents that apply to its software. Some third party suddenly may announce that it owns a patent that covers some aspects of the software. As a licensee of infringing software, you may have to stop using the software despite the license. To deal with this situation, proprietary-software licenses often include an indemnity clause, by which the software licensor indemnifies its licensees against third-party patent claims, promising to refund license fees, provide non-infringing versions of the software or obtain licenses to third-party patents, if third-party patents come to light. But open-source licenses usually don't contain indemnity clauses because licensors of open-source software usually do not collect license fees sufficient to cover the potential costs of the indemnification. So, for most open-source software, the license is “as is” without any warranty of non-infringement. Open-source licensees beware! The risk of third-party patents is usually borne by the licensee.
Licensee patents: the issue of licensee patents is much more subtle than with licensor and third-party patents. Licensors often include so-called “patent retaliation” clauses in their licenses to prevent licensees from using patents offensively against the licensor. Because this issue evokes strong feelings that justify careful discussion, I'm saving that topic for its own column next month.
Whatever your philosophy about software patents, it is important to understand the ways that patents can affect software licenses. It is not enough just to say “I don't like software patents.” Whether you out-license your software to others, or you in-license other's software for your own use, you should make sure that the license fairly expresses your own philosophy and goals relating to patents.
Legal advice must be provided in the course of an attorney-client relationship specifically with reference to all the facts of a particular situation and the law of your jurisdiction. Even though an attorney wrote this article, the information in this article must not be relied upon as a substitute for obtaining specific legal advice from a licensed attorney.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- RSS Feeds
- A Topic for Discussion - Open Source Feature-Richness?
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Readers' Choice Awards
- The Secret Password Is...
- All the articles you talked
1 hour 32 min ago
- All the articles you talked
1 hour 35 min ago
- All the articles you talked
1 hour 36 min ago
6 hours 1 min ago
- Keeping track of IP address
7 hours 52 min ago
- Roll your own dynamic dns
13 hours 5 min ago
- Please correct the URL for Salt Stack's web site
16 hours 17 min ago
- Android is Linux -- why no better inter-operation
18 hours 32 min ago
- Connecting Android device to desktop Linux via USB
19 hours 1 min ago
- Find new cell phone and tablet pc
19 hours 59 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?