Patent licences and free software
August 23, 2007 3:44 pm freesoftware, General“Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient’s use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
(Updated) GPL v3, section 11
In certain domains, essential technologies are patented (specifically, audio & video codecs), so if you want to interoperate with existing technologies as free software, you need to have free software implementations of the patented technologies. And the patent holders typically aren’t very friendly and don’t make grants that cut off their revenue streams.
Some standards bodies (MPEG, IETF, ITU) standardise codecs which are legally encumbered, usually dictating that “Reasonable and Non-Discriminatory” conditions must apply for implementations of the standard. However, these terms usually exclude free software implementations by requiring a patent fee, and are thus pretty unreasonable to me.
What if I deliberately write software which I know will infringe a patent, without a patent grant or licence, and release it under the GPL?
First, may I do so, under the terms of the GPL? I don’t see why not.
Second, if I do, what penalties am I leaving myself open to? A C&D letter? A hefty law-suit which will leave my family eating oatmeal out of garbage cans for the foreseeable future?
August 23rd, 2007 at 4:24 pm
Depends on the patent you are infringing and the potential money to be lost or gained by suing you. There is no hard and fast rule in legal matters. If nobody cares, nobody reports.
Unfortunatly you can’t really guage the effects of releasing something like that without doing it. Like all legal matters, it comes to down risk assessment. Yes, you could be sued and left in the gutter… will you? I have no indea.
August 23rd, 2007 at 5:20 pm
The answer depends on where you live. Patents are a per country thing, not a worldwide one. You may be free to write the code, but a user in a country covered by patents is unable to legally use the code.
An international example – AllofMP3.com is obviously violating US copyright laws but they aren’t violating Russian ones. The company is located in Russia.
Releasing something under the GPL is never going to undo an existing patent in countries which recognize the patent. You’ll just be unable to legally run the GPL code in the country that has the patent without sending off a license fee to the patent holder. Of course nobody ever audits home users to make sure they are sending in the fees, they only go after commercial entities using the code.
August 23rd, 2007 at 5:29 pm
You meant “GPL v3, section 11”. You quote the definition of the term, but not how it is used.
Notice that you’re covered if you give the source to everyone. The trick this guards against is making binaries available, but giving the source only to a set of people you’ve given a patent license to.
August 23rd, 2007 at 6:06 pm
Joe: how would that work? I thought patent law was exactly the other way around – you can distribute source but not binaries. This is why the LAME guys can safely offer their source, but no compiled binaries.
August 23rd, 2007 at 6:49 pm
As long as you do not make a ton of money, you can do whatever you want, and nobody will mind.
August 24th, 2007 at 5:18 am
Adam,
AFAIK, there is no “I gave source but not binaries” defense in the US. You could still be sued for patent infringement, and contributory infringement. But providing source to all appears to be a complete defense against the GPLv3 language, so it seems that there’s nothing to worry about beyond the kind of patent harassment that can get you know matter what the license is.
August 25th, 2007 at 10:33 am
@Jon Smirl: it’s important to remember that the GPL is a distribution license, not a “running” license. So it’s incorrect to state that the GPL may prevent a user from running software. It only prevents a distributor from shipping software in certain conditions (some of those conditions are based on how end users are able to run the software however).
@Joe and @Adam: my understanding about source code and binary and why projects can ship source but not binary is that the source code as such is not a usable thing that implements the patent. It needs to be compiled before it can be used to implement the patent. It’s an admittedly thin line in the Free Software world, but usually the question hinges on “of all people, how many people are able to do something with what you provide”, and typically an end user doesn’t know what to do with source code. This is why these projects ship source and not binary.
Dave, the patent clauses make it possible for entities to dual-license software, and sell the non-GPL version while granting the patent rights, and knowing that the GPL version cannot legally be shipped by anyone who cares about the legal issues (which, for example, is the case for most distributors).
For example, the author of MAD (the mp3 decoding library) ships MAD under the GPL, but also under a proprietary license for a fairly hefty fee. I imagine he can live quite well off of his software sales.
The critical point is that the GPL forces you to ship your software equally to everyone, or not at all. This typically conflicts with whatever patent license you negotiate – in almost all cases the license specifically makes restrictions on who you can ship to. In some cases this is “you need to pay for every product you ship”, which makes it practically infeasible for an open source project (but you still could if you had deep pockets). In other cases (like the Fluendo MP3 decoder) it is a specific clause that transfers the distribution right to entities that sign a distribution deal with Fluendo, which, while very easy to do, is probably still not “to everyone equally”.
I personally still haven’t made up my mind whether I consider it “ethical” to use the GPL for software that knowingly implements patented techniques. Two reasons:
a) is it ethical to use a dual license GPL/proprietary knowing that the GPL version cannot be distributed and people will need to pay you for using the proprietary version if they want to be in the clear ? This is a question of ethics of business.
b) is it ethical to use the GPL only for this kind of software, knowing that your software presents legal issues to your distributors, and thus will only end up being available to people who compile your code or enable “questionable” repositories ? This is a question of ethics of Free Software development.
USUAL DISCLAIMER: not a lawyer, my opinions, thought about it a lot, ….