Jacobsen v. Katzer is closed, after five years. Open Source won, and big. A manufacturer who attempted to collect royalties from an Open Source developer has lost two patents.
As terms of his settlement with the developer, the manufacturer is paying $100,000 to the Open Source developer, has agreed to place himself under a permanent injunction, and has signed a release of any liability to all members of the Open Source project.
The case was not “sealed” like so many settled cases, so its documents are available to the public now.
The details are fascinating. Let’s start with the Open Source developer: Bob Jacobsen is a high-energy physicist.
He worked on the famous BaBar detector and the array of Linux computers that gathers its data, and he’s now helping to build a new detector.
His colleagues took the 2008 Nobel Prize for Physics, using BaBar to understand why the universe has so much more matter than anti-matter (or we wouldn’t be here).
One of the things I enjoy so much about Open Source is the amazing people you meet, like Jacobsen.
There were a few people that smart at Pixar when I worked there, but there seem to be tons of them in the Open Source world.
When he’s not working to determine the whichness of the why, Jacobsen is a model train hobbyist. And his involvement in that is just as intense as his professional work.
Back in the ’90’s, the digital control of model railroads was standardized. Jacobsen and his Open Source collaborators built JMRI, a set of Java tools for configuring and controlling the trains.
Now, Open Source software has lots of applications on Wall Street, it’s used in air-traffic control, and so many cell phones contain it of late.
So, of all the people who might be approached to pay patent royalties, you might expect that Bob the train nut would be low on the list.
But most of the big patent holders, it seems, are smart enough not to bother an Open Source project.
Enter Matthew Katzer. Hobbies are big business, and Katzer’s company manufactured software for controlling model trains.
He had filed a patent on software that Jacobsen alleges was not his invention in 1998, and through a loophole of the patent process, kept adding “continuations” to his patent application through the 2000’s.
Jacobsen alleged that Katzer had patented features that he’d seen discussed on the JMRI project mailing list, but because Katzer’s application was a continuation of an older patent, he was able to use the 1998 date of his original patent on the 2002 application, and claim priority.
Katzer also registered a domain name with the name of Jacobsen’s software, decoderpro.com, which Jacobsen later recovered through a WIPO hearing.
Katzer started sending demand letters to Jacobsen, asking for more than $200,000 in patent royalties.
What probably made Jacobsen most angry was when Katzer’s lawyer sent a Freedom of Information Act request to Jacobsen’s employer, the U.S. Department of Energy and its Lawrence Berkeley Labs, accusing them of sponsoring the model train project, and asking for copies of all of Jacobsen’s email and Skype communications, and a long list of other information which one could conclude was meant to embarrass Jacobsen in front of his employer.
The Department of Energy eventually denied the FOIA, but only after it had caused Jacobsen a lot of trouble.
Because it was so unlikely that the laboratory would disclose what was obviously private correspondence, the only reason I can see for this FOIA would have been to harass Jacobsen through his employer and to put his job at risk.
At that point, Bob Jacobsen had enough. Rather than wait to be sued, he decided to sue Katzer first.
But of course little folks like an Open Source developer working on a scientist’s salary can’t afford to spend much time in court. Katzer’s company expected to win any case simply because Jacobsen would not be able to afford to defend himself.
Fortunately, Jacobsen was able to find help. Not through the Software Freedom Law Center, which was just being founded in 2005, but through attorney Victoria Hall, who was active in EFF.
Hall agreed to serve pro bono publico (at no charge, for the public benefit), and asked the court for a declaratory judgment that the patent was unenforceable.
Katzer responded by bringing a SLAPP suit against Jacobsen. SLAPP is a law that was meant to defend little folks sued by big rich companies, but is increasingly used in just the other direction.
And the judge upheld this, which meant that Jacobsen would have to pay Katzer’s lawyer’s fees before the case was even decided.
After some court argument, the unreasonable fees asked were reduced to $14,486.68 and $16,976.25, for two lawyers used by Katzer, and Bob Jacobsen paid them.
Most Open Source developers, faced with a court-enforced $30,000+ bill to pay their opponent’s lawyers, would have been forced to give up.
This is a real problem in our legal system – “justice” usually goes to the party that can afford it. But Jacobsen persevered.
Early in 2006, Jacobsen found that Katzer had placed part of Jacobsen’s JMRI software in Katzer’s own product, and wasn’t complying with the Open Source license.
So, while coming after Jacobsen for infringement in making the JMRI software, Katzer was also using JMRI in his own product and, Jacobsen alleged, was claiming it as his own work.
This, in my opinion, was so seriously taking unfair advantage of the Open Source developer that Katzer poisoned the perception of his own case. It just took two appeals for the court to notice.
Jacobsen amended his suit to include copyright infringement and trademark violations (domain cyber-squatting).
Here’s where the case became a serious threat to all Open Source: Katzer’s attorney filed a motion to dismiss, claiming that the Open Source license was tantamount to a dedication to the public domain, and that Jacobsen thus didn’t have a right to sue for copyright infringement or even contract violation.
The judge upheld this, which sent waves through the Open Source world. Were all of our licenses invalid? Jacobsen appealed.
Part of the problem in this case was Jacobsen’s choice of Open Source license, the Artistic License 1.0. It’s not very good as a legal document.
A point I’ve tried to make on the Open Source Initiative’s license-approval mailing list is that a license with weak legal language is useless, even if it says what the programmer involved wants it to say.
The Artistic License was written by Larry Wall, creator of the Perl language, way back before Open Source developers had any lawyers who would help them.
Larry’s a nice guy, but he messed up the license just as any Open Source developer who tries to write one on their own, without competent legal assistance, is liable to do.
OSI, unfortunately, still does not insist on legal solidity before it will approve a license, and a significant number of the licenses it has approved, including one or two it passed last year, are liable to severely damage any Open Source developer who uses them and ends up in court. Hopefully Bob Jacobsen’s 5-year ordeal will help to prove this point to developers.
Because of the weakness of Artistic 1.0, about the only license term that Jacobsen had a hope of enforcing in court was the requirement that the developer be attributed correctly in all copies of the work.
DMCA, a law hated by many a technical person, came to Open Source’s assistance this time. Jacobsen’s attorneys were able to file a second amended complaint alleging that Katzer’s removal of Jacobsen’s attribution and license terms violated a DMCA requirement that prevents interference with copyright control information.
Katzer’s case took a turn for the worse at this point. He had been ordered to explain why his patent was valid and why Jacobsen infringed it.
He didn’t provide the documents by the court deadline – by which one might assume that he couldn’t show that Jacobsen had infringed, or that his patent was valid.
By failing to file convincing documents by the deadline, Katzer was in violation of the judge’s order, and at risk of having a court judgment, with penalties, filed against him.
Katzer filed a disclaimer of two of his patents with the U.S. Patent Office the next day as a means of avoiding having a judgment entered against him.
So, he’d lost both patents, but it turns out that he has at least one other patent with very similar text, due to an examiner mistake at the patent office. But having filed a disclaimer on two versions of that patent, his chances of enforcing the third one should be reduced – and maybe the patent office will wake up and look at the mischief.
With the patents gone, Katzer asked the court to declare Jacobsen’s arguments “moot,” arguing that there was no longer an issue for the court to decide.
Jacobsen fought this, and fortunately, the judge did not grant that motion. But Katzer was making other wins: five Open Source organizations had presented written argument in the case and asked to participate in the oral arguments of the case as amicus curiæ, “friends of the court.” They were denied. SFLC eventually got to participate in one of the appeals.
At this point, the Federal Circuit Court ruled on the first appeal of the case. I’ve previously written about that appeal, which ruled that the Open Source license was enforceable, and then sent the case back to the lower court judge.
This was the biggest win for Open Source to come out of the case, as it solidified the legal foundation of all Open Source licenses by setting an important precedent.
Only U.S. Federal courts are required to rule according to this finding, but it is likely that other courts in the U.S. and even other countries will follow it.
Immediately after the appeal was handed down to the lower court, Jacobsen asked that court for summary judgment against Katzer. The lower court refused, and Jacobsen immediately initiated a second appeal.
Bob Jacobsen liked the article I’d written about his case. David McGowan, the director of the University of San Diego’s Center for Intellectual Property Law and Markets, had joined the case to assist Ms. Hall with the appeal, charging nothing for his services. McGowan knew of me from an S.F. Mercury News roundtable we’d participated in some years before.
He and Jacobsen solicited me to provide expert-witness testimony for the next stage of the case.
I agreed to do so, contributing my services at no charge, for the good of the Open Source community.
I was asked to help the court understand the significance of its ruling to all of Open Source, why the Open Source developer really was irreparably harmed, and why violators of Open Source licenses should be enjoined – prevented by court order from further violation.
Because of court deadlines it was necessary for me to submit my testimony about eight months before there would be a hearing upon it.
In my testimony, I start with a few paragraphs about who I am (so that the judge will have a reason to believe me), then I explain the immense importance of attribution in Open Source, something that I think was not obvious to the judge, how Jacobsen was damaged through a lack of that attribution, and how the judge could damage all of Open Source by making the wrong ruling.
After that, I was required as part of my testimony to list all of my publications, but that turned out to be impossible. Read the testimony.
At this point, the second appeal came back from the Federal Circuit Court. That court again ruled in his favor, granting his motion for summary judgment in a 60-page appellant brief.
Here are my favorite lines from the court’s finding:
Repentant, Katzer is not.
A fair reading of the record shows Katzer has engaged in a pattern of misappropriation and obfuscation.
That pattern establishes a likelihood that he will continue, especially since his conduct was intentional.
There was a very similar line in one of SCO’s cases. It seems to be a pattern that the party opposing an Open Source developer can be expected to “obfuscate.”
With the granting of summary judgment, Katzer had little chance to prevail in court. We knew that this was the “beginning of the end” for the case.
In order to give the parties a chance to settle without outside noise in the press contributing to their acrimony, we didn’t publicize the result of the second appeal – so most of you are only hearing about it now.
Would my written testimony influence the court, and would I go on the stand? Ultimately, no.
The judge never had to rule on my testimony. Attorneys for both sides had it, however, and it would influence any settlement that they came to by informing them about likely outcomes should they fail to settle.
And settle they did, after several months. As terms of the settlement:
- Katzer is forever enjoined from copying, redistributing, or modifying the JMRI software, even though the license (now the LGPL) allows everyone else in the world to do so.
- He’s enjoined from registering a trademark or domain name for a name used by the JMRI project.
- He’s paying Jacobsen $100,000 over 18 months. This doesn’t fully compensate Jacobsen for all of his time and expense over 5 years, but it was the best he could get.
- He has released all JMRI developers from any liability associated with JMRI up to 18 months from now. As a matter of fairness, Jacobsen extended the same release to Katzer. That means that neither can sue the other for things that have already taken place and will take place until then.
- Both parties have agreed to a dispute resolution procedure for all disputes after those 18 months, based on mediation and arbitration, loser pays winner’s expenses. And he is enjoined from going outside of arbitration – for example by trying to pressure Jacobsen’s employer or relatives.
- The case is not sealed. A “seal” means that the details of a settled case are not made public, and it happens all too often.
It was Jacobsen’s insistence this case remain public so that cases like this would not be fought over and over again.
It contains good precedents for other cases, and many potential aggressors will avoid a case against an Open Source developer after just reading what went on this time.
The full details of this case go on for hundreds of pages, you can find them here. This was a benefit for me, too.
Usually, I’m ordered by the court to keep quiet about a case forever, as one of the terms of the settlement.
So, this is the first chance that I ever have had to show my testimony to anyone who wasn’t involved with the case.
Over 5 years, Bob Jacobsen put in thousands of hours of work on this case. He was threatened with loss of his employment, and with all of the money and property that he had.
The $100,000 he eventually received doesn’t compensate him for this. But I’m sure that the feeling of achievement does.
Jacobsen had another choice: In the face of Katzer’s demands, he could simply have folded his tents, shut down the JMRI project, and played with his trains in private.
Katzer’s intent, at least at the start, was probably to shut down a competitor. Jacobsen would probably have been left alone if he’d consented to be shut.
But instead, he devoted a substantial part of his life to winning, and put his entire net worth at risk to do it, so that the Open Source community and other model railroad enthusiasts would not have to fight this sort of case again.
He hasn’t protected us from all aggressors, just as winning SCO hasn’t, but he’s added tremendous resources to our legal tool-kit for next time. For the personal cost he endured to give us that, we should salute him.
And a less sincere thank-you to Mr. Katzer. If we’re to have court wins for Open Source, and thus legal precedents that work in our favor, somebody has to play the loser.
Hopefully other potential aggressors will take a lesson from his fate.