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 approvea 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.
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
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 beimpossible. 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.
Bruce Perens is co-founder of the Open Source movement in software. Today, he advises corporations, governments, and law firms on issues concerning Open Source / Free Software, teaches college, and on occasion serves as an expert witness. More information on him is at his web site perens.com