|
|
Subscribe / Log in / New account

What Red Hat and Firestar agreed to

By Jonathan Corbet
July 15, 2008
On July 15, Red Hat and Firestar released the terms of the settlement [PDF] of their patent suit. When we last looked at this settlement, those terms were not available. Now we can examine exactly what was agreed to and assess the degree of protection that Red Hat actually negotiated for the wider community. It may be tempting to say that recent events have reduced the relevance of this settlement, but that would be a mistake; what Red Hat has done here still matters.

Those recent events, of course, are dominated by Sun's announcement that it had successfully challenged the Firestar patent; the US Patent and Trade Office (PTO) has officially rejected all of Firestar's claims. As your editor (along with numerous others) has said, this should not have been a particularly hard thing to do; the weakness of this particular patent was evident after even a cursory reading. So one might well wonder why Red Hat chose to pay the troll in this particular case.

And, incidentally, Red Hat did pay. Naturally enough, the specific payment terms have been removed from the agreement, but a payment was a part of the deal.

It is nice that Sun took a less compromising approach to this case, even though it was not named as a defendant. But Sun's success has not rendered this settlement moot, for a few reasons. To begin with, Firestar now has two months to fight the PTO decision and reinstate its patent. That looks like a difficult task, but, with the PTO, one never really knows. Second, the settlement does not cover just that one patent; it covers just about any patent that Firestar owns or will acquire in the next five years - though some of that coverage goes away in 2013. And, perhaps most importantly, Red Hat clearly sees this settlement as a template for the resolution of other patent suits which are certain to come in the future.

The settlement itself reads somewhat like a Pascal program; one must start toward the bottom and read it in reverse. Following that analogy, the main program can be found in section 5.2:

Licensor grants and promises to grant to Red Hat Community Members a perpetual, fully paid-up, royalty-free, irrevocable worldwide license of the Licensed Patents to engage in any and all activities related to Red Hat licensed Products, including without limitation to make, have made, use, have used, sell, have sold, offer for sale, have offered for sale, provide or have provided, distribute or have distributed, import or have imported and Red Hat Licensed Product and services related to any Red Hat Licensed Product.

So, these patents have been licensed for any practical purpose to anybody who happens to be a Red Hat Community Member, as long as they are working with Red Hat Licensed Software. Well, almost any purpose; there is a small catch, as will be seen shortly. First, though, it is time to read the declarations toward the top of the settlement to see what those terms really mean. Who, exactly, is a Red Hat Community Member?

...any Entity that is a licensee or licensor of, contributes to, develops, authors, provides, distributes, receives, makes, uses, sells, offers for sale, or imports, in whole or in part, directly or indirectly, any Red Hat Licensed Product, including without limitation any upstream contributor to, or downstream user or distributor of, a Red Hat Licensed Product.

This definition is clearly quite comprehensive; anybody who makes use of the software is considered to be a Red Hat Community Member. Your editor is pondering offering for sale a line of "Proud Red Hat Community Member" T-Shirts at the next Debconf or OpenBSD hackfest. This is a club that we all get to join.

The other key term, though, is "Red Hat Licensed Product," because only such products are covered by the settlement. The definition of this product is simple:

"Red Hat Licensed Product" means any Red Hat Product, Red Hat Derivative Product, or Red Hat Combination Product.

Now, perhaps, we have moved away from Pascal programming and are stuck with the unenviable task of making sense of a convoluted Java class hierarchy. One of the subclasses, the definition of "Red Hat Product," is crucial:

...(a) any product, process, service, or code developed by, licensed by, authored by, distributed under a Red Hat Brand by, made by, sold under a Red Hat Brand by, offered for sale under a Red Hat Brand by, sponsored by, or maintained by Red Hat, (b) any predecessor version of any of the foregoing, including without limitation any upstream predecessor version any of the foregoing...

So essentially, a Red Hat Product is anything developed or shipped by Red Hat under one of its trade names. So anything in Red Hat Enterprise Linux qualifies. The important thing that Red Hat didn't see fit to specify in its early PR is that anything in Fedora - also being software distributed under a Red Hat Brand - qualifies too. Since Fedora packages rather more software than RHEL does, that broadens the coverage of this agreement considerably.

Also important is the "any predecessor version" clause. Coverage under this agreement does not apply to just the specific, possibly patched version of a program shipped by Red Hat; anything which came before in that package's upstream is also part of the deal. And, incidentally, this coverage does not go away if Red Hat stops shipping a package; just one shipped version will do. The Red Hat Brand has become the magic touch which confers protection against Firestar patents onto any software it touches.

Thus far, we have coverage for Red Hat's packages and their predecessors upstream. What happens, though, if the upstream project continues to develop the software beyond the version shipped by Red Hat? That's where the "Red Hat Derivative Product" category comes in:

"Red Hat Derivative Product" means any product, process, service, or code that is a direct or indirect Derivative of at least one Red Hat Product.

So the combination of "any predecessor version" and the definition of a Derivative Product means that the entire project is covered, from its first version through anything it will do in the future - though, once again, there's a catch. But, before we get to that, there is the third subclass: "Red Hat Combination Product." It refers to a grouping of something which is one of the two product types described above and something unrelated - an aggregation. The apparent intent is to cover situations like dynamic linking: an application which links to a covered library will, itself, be covered.

These definitions, too, appear to be quite broad. Just about anything which has been shipped by Red Hat, or which has even shared the same disk drive as something shipped by Red Hat qualifies. But, as has been mentioned before, there is one catch in the form of an excluded class of software:

a Red Hat Derivative Product that infringes the particular Licensed Patent at issue without use of or reference to any portion or functionality in or from a Red Hat Product on which the Red Hat Derivative Product is based.

(There is similar language for Combination Products as well). What this section is saying is that, if a derived product contains infringing code, that infringing code must have been part of the covered Red Hat product as well. In other words, outsiders cannot bless their particular patent infringement by grabbing enough code from some other project to create a derived product. One can see why this restriction was seen to be necessary; without it, any software (free or proprietary) could have easily been brought under the coverage umbrella. Instead, one must first convince Red Hat to distribute that software at least once.

Plenty of other legalese can be found in the agreement, of course; interested readers are encourage to read the whole thing. But the core of it is what's described above. Notably absent (unless it has been redacted from the payment section, which seems unlikely) is any discussion of what happens if the patent is held to be invalid. So, even if Sun is ultimately successful in its challenge (as seems likely), Red Hat will not be getting its money back under the terms of this agreement.

Red Hat's initial press release claimed that this settlement demonstrated the company's commitment to standing up for the community in the face of patent trolls, and stated that it would discourage any future such cases. At this point it seems fairly evident that Sun has made a better show of standing up for the community and discouraging future cases. What Red Hat has done, though, is to show us how future patent problems could be resolved in the absence of obvious prior art. If one must pay the troll, one would do well to come out with an agreement like this one and, at least, keep the troll away from the rest of the community. Whether patent holders who actually have a legal leg to stand on will be willing to agree to such a settlement remains to be seen; the nature of the game is such that, unfortunately, we are likely to get an answer to that question sooner or later.


to post comments

What Red Hat and Firestar agreed to

Posted Jul 15, 2008 14:45 UTC (Tue) by kripkenstein (guest, #43281) [Link] (2 responses)

> The important thing that Red Hat didn't see fit to specify in its early PR is that anything
in Fedora - also being software distributed under a Red Hat Brand - qualifies too.

This is, I agree, extremely important. So I would like to make sure I understand it. Is Fedora
a "Red Hat Brand" because 'Fedora' is trademarked by Red Hat (which I believe it is)? Is just
owning a trademark enough to make it one of your brands? (It seems reasonable, but the law is
sometimes far from reasonable.)

If this is true, then it is very odd that Red Hat wouldn't mention it in the early press
release. Might be an oversight though.

Red Hat Brand

Posted Jul 15, 2008 14:51 UTC (Tue) by corbet (editor, #1) [Link] (1 responses)

The definition of a Red Hat Brand is:

"Red Hat Brand" means a trademark, service mark, trade name, or brand owned, exclusively licensed, or controlled, now or in the future, by Red Hat.

So, yes, Red Hat's ownership of the Fedora trademark suffices; I confirmed this with Red Hat just to be sure. They agreed they should have been more clear about this aspect of the agreement at the initial announcement.

Red Hat Brand

Posted Jul 15, 2008 15:44 UTC (Tue) by kripkenstein (guest, #43281) [Link]

Thanks for the information, I am glad to hear that.

What Red Hat and Firestar agreed to

Posted Jul 15, 2008 18:55 UTC (Tue) by vmole (guest, #111) [Link] (6 responses)

The settlement itself reads somewhat like a Pascal program; one must start toward the bottom and read it in reverse.

+1 for QOTW.

What Red Hat and Firestar agreed to

Posted Jul 15, 2008 19:19 UTC (Tue) by darwish07 (guest, #49520) [Link] (5 responses)

I did not work on Pascal before. 

Does Mr. Corbet means something like below C program where lots of internal function code
exist and the main() is thrown at the end (where you have to scroll down till main() code to
understand the big picture) ? 

Ex:

func1() {
   // lots of code
}

func2() {
   // lots of code
} 
.
.
.

main() {
   func2();
   if () func3(0;
   ...
}

What Red Hat and Firestar agreed to

Posted Jul 15, 2008 19:30 UTC (Tue) by vmole (guest, #111) [Link] (4 responses)

Yeah, that's it exactly. Pascal didn't allow forward references/decarations/definitions, so you were basically forced into this style of coding.

Looks like your Pascal knowleadge is lacking

Posted Jul 15, 2008 20:09 UTC (Tue) by khim (subscriber, #9252) [Link] (3 responses)

Pascal DOES have forward definitions. Always had. There are exactly ONE exception: main program goes to the end. All other procedures and functions can be moved around as you wish, but main program goes to the end - always.

Looks like your Pascal knowleadge is lacking

Posted Jul 15, 2008 23:10 UTC (Tue) by vmole (guest, #111) [Link] (2 responses)

I freely admit my Pascal knowledge is long forgotten, but in my defense, I offer this quote from Brian Kernighan's Why Pascal is Not My Favorite Language: "Since the original Pascal was implemented with a one-pass compiler, the language believes strongly in declaration before use. In particular, procedures and functions must be declared (body and all) before they are used." I should have remembered also his note that there was a "forward" declaration, with some restrictions.

Looks like your Pascal knowledge is lacking

Posted Jul 18, 2008 0:48 UTC (Fri) by giraffedata (guest, #1954) [Link] (1 responses)

I think the difference between C and Pascal here isn't in the language definition; it's in the culture. C's culture is get-the-job-done and Pascal's is one of mathematical elegance.

In both languages, you have to declare a subroutine before you can call it. If you don't want to fully define it, you at least need a prototype. (It's the reason I always write C upside down -- I hate writing anything twice).

In Pascal, the custom is that if subroutine bar supports foo, you code bar inside foo. You can do that in C too, but it's nearly unheard of. If you do that, in either language, you must define bar before the procedural code of foo; to do otherwise would be like declaring variables at the bottom of a subroutine.

Pascal does have a "program" concept that C doesn't have (a C program is just a collection of zero or more peer subroutines; only the linker knows how to turn them into a program), which means at least one line of main code does have to go at the bottom of the main file of a program, even if you otherwise eschew the nested subroutine convention.

Looks like your Pascal knowledge is lacking

Posted Jul 18, 2008 11:20 UTC (Fri) by nix (subscriber, #2304) [Link]

Actually nested functions aren't valid in C. They're a GCC extension, and 
while I might wish they were in the Standard (give us closures, too, 
please!) they're not.

What Red Hat and Firestar agreed to

Posted Jul 15, 2008 19:08 UTC (Tue) by smoogen (subscriber, #97) [Link] (4 responses)

It would be interesting to see how much it cost to pay the troll, or to do all the legal work
for getting the prior art in the format that the PTO requires it to be for it to be
'considered'. You can't just give them news articles and papers or code.. you have to vet it,
get depositions, put in the legal framework, yada yada yada (its the reason that patent
lawyers charge quite a bit per hour.). 

I wonder if you have to pay challenge fees (well if I was the PTO and trying to get my piece
of the pie off of this racket.. I would definately make sure there were fees). 

What Red Hat and Firestar agreed to

Posted Jul 15, 2008 20:00 UTC (Tue) by clugstj (subscriber, #4020) [Link] (3 responses)

A guess:

Firestar agreed to do this Red Hat deal because they knew Sun was in the process of
invalidating their lame patent(s) and decided to grab some cash before Sun's work became
public.  So, now they get to use Red Hat's money to try to get their patent re-instated.

Why else would you give such liberal terms (unless it was quite a bit of money)?

What Red Hat and Firestar agreed to

Posted Jul 15, 2008 20:18 UTC (Tue) by smoogen (subscriber, #97) [Link] (1 responses)

Well Sun most likely invalidated one patent, while Red Hat got a suite of patents (Firestar
and similar companies buy up patents in the cubic truck-load). Getting all of the patents
invalidated would be very costly and prone to failure (most patents even with lots of prior
art get kept :(. ) ... which is how the patent protection mechanism works. 

What Red Hat and Firestar agreed to

Posted Jul 16, 2008 16:43 UTC (Wed) by clugstj (subscriber, #4020) [Link]

But having a high profile story in the media of one of your patents getting slapped down has
got to lower the value of the whole portfolio.

What Red Hat and Firestar agreed to

Posted Jul 16, 2008 6:42 UTC (Wed) by louie (guest, #3285) [Link]

<i>Why else would you give such liberal terms...?</i>
As Red Hat pointed out when they first announced this, GPL gives them a nice negotiating stick
for this sort of thing. RH sits down at the negotiating table and says 'either go away, give
us these very liberal terms, or fight us to the death, since less liberal terms mean we have
to shut down our business.' If the troll does not want to fight to the death and does not want
to go away, they have to settle for these terms. Unusual, admittedly, but the only option RH
has and hence the only option an anti-RH troll has.

What Red Hat and Firestar agreed to

Posted Jul 17, 2008 17:25 UTC (Thu) by sandmann (subscriber, #473) [Link]

Red Hat was the target of a lawsuit, which means trying to get the patent invalidated, as
opposed to paying the troll, is risky. The troll would be less likely to settle if Red Hat
were also trying to invalidate the patent at the same time.

Attacking a patent from multiple sides at the same time is valuable. Sun invalidating the
patent, even though there were not the target of a lawsuit, in effect helping out a
competitor, is a strong message to the trolls that they will be fighting not just one company,
but all companies affected by patent trolls. Hopefully this point does not get lost in the PR
noise.


Copyright © 2008, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds