Next (Jacobsen asks for a Declaratory Judgment)

Start: Introduction

We are in the midst of a years-long effort to protect the JMRI open-source project from attack by someone who wants to steal our work and prevent anybody from using our software.

Some of his tactics and justifications strike right at the heart of the Open Source community. We are one of the first projects to have to defend against bogus patent claims and protect its copyrighted software and license against such a concerted attack. We certainly won't be the last.

Here's our story.

Background

JMRI is open-source software for model-railroaders. There's a separate page that describes the history of the project, and gives further links. "DecoderPro®" and "PanelPro™" are built on JMRI, and are popular tools for programming locomotives and operating layouts. DecoderPro has been around for several years.

Matt Katzer owns KAM Industries, a company that tries to sell model railroad software. He's never contributed anything to the JMRI effort. But that hasn't stopped him from taking JMRI intellectual property.

Matt Katzer and his company KAMIND Associates, Inc. are attacking the rights of open source groups to enforce their copyrights and licenses. If they prevail, the rights of open source groups like JMRI will be significantly weakened, if not lost. We are breaking ground for open source groups in federal court and establishing legal rights for open source groups and their members. We need your help and donations to succeed in this legal fight.

In the next sections we discuss Katzer's cybersquatting, enforcement of bogus patents, copyright infringement and our fight in federal court.

Cybersquatting and the decoderpro.com domain name

In October of 2004, we noticed that Katzer had registered decoderpro.com as a domain name in February of 2004. When asked about it, Katzer said he was considering whether he would be able to take the open source code and turn it into a licensed product so it could be distributed . Katzer also said he had the name because
If I decide that to released (sic) a licensed version of an open source development effort, what better place to have it then the name of the development effort?

We registered the DecoderPro® name as a federal trademark. This was expensive, so we sought donations through our JMRI web site on SourceForge. Bob Jacobsen, one of the JMRI developers and the person who maintains the JMRI web site, wrote to Matt Katzer asking for the return of the domain name, but never received a reply. Jerry Britton, a JMRI user, offered to trade another domain name for it. Instead, Matt Katzer sued him. That suit was eventually settled by having them swap domains, so that Jerry ended up with decoderpro.com -- and a lot of restrictions that Katzer imposed on him. For one, Jerry couldn't transfer decoderpro.com to anyone else, including JMRI. If he did, Jerry would have to pay $20,000 plus attorney's fees. (Note that Katzer did not impose similar transfer restrictions on himself for the domain name he got out of the deal.) Katzer also demanded that Jerry not talk about this agreement, on pain of a $20,000 penalty. We learned of this settlement from public records in the Oregon federal court, because Katzer's attorney Kevin Russell didn't file the agreement under seal as he was supposed to.

Bogus Patents

Beginning in 1998, Katzer applied for multiple patents on technology developed by other people. The US Patent Office granted them, in part because Katzer failed to tell the patent examiner what he knew about existing products and inventors.

Katzer filed his first patent application on June 24, 1998. Although well aware of other's work, Katzer intentionally did not tell the Patent Office that the "invention" he was claiming had already been done by, among others,

  • Juergen Freiwald's TrainController (Railroad&Co)
  • John Kabat's LocoNet VxD
  • Hans-Rudi Tanner's WinLok (although he did mention DigiToys, Hans-Rudi's company, Katzer didn't tell the examiner the name of WinLok or produce it for the examiner)
  • Strad Bushby's model railroad, using Digitrax LocoNet to connect multiple computers
and others. There's no doubt that Katzer knew of these. Katzer described them in his talk at the 1997 NMRA convention, and in his 1st, 2nd and 3rd talks at the 1998 convention. If he had produced this information to the patent examiner, as he was required to do by law, these patents would never have been granted, and everybody would have been saved a lot of trouble.

After the first patents were granted, Katzer filed a lawsuit against Hans-Rudi Tanner and another suit against Juergen Freiwald for patent infringement, and sent cease and desist letters to many of their of dealers. Juergen and Hans-Rudi both wrote Katzer in October 2002, explaining that lots of "prior art" existed to demonstrate that Katzer's patent was invalid, and that since Katzer knew about those pre-existing programs, he'd violated his duty to tell the patent examiner the information when he filed his patent application. Shortly thereafter, Katzer dropped the suits.

Katzer didn't shy away from using his patents to push hobbyists around. On September 8, 2004, Glenn Butcher wrote to the loconet_info mailing list:

Mr Kratzer(sic) and I have had a short exchange of emails on the topic of his patents. As a result, I have chosen to remove my loconetd and railroadd servers and client apps from my website. Mr Kratzer(sic) forwarded a FAQ on his technology licensing that contained a list of questions to aid in determining whether others' efforts could be infringing on his patents; some are specific but in my opinion others appear to be general enough to cover most of the software development activity discussed on this list. As I don't have the resources to consult a patent attorney in this matter, I've taken a conservative approach to protecting myself.
I find it disappointing to have to do this, especially to protect the rights to exclusively use what, in my opinion, appear to be simple extensions of what I used to teach in undergraduate computer science. However, I don't think it's worth fighting when that time could be spent building my layout, money could be spent on the brass D&RGW K-37 I so dearly covet...

This also resulted in a large amount of criticism of Katzer's actions, with a number of people announcing that they would no longer consider his products. (As we have stated before, we are dead set against any harassment or boycotting actions, and believe that model railroaders should be able to buy whatever products they want.)

Meanwhile, in March and April 2002, JMRI developers were working on "client/server" capabilities for LocoNet. Client/server communications for model or prototype railroads are not novel; there are lots of examples available, dating back for years. The client/server capability was a straightforward implementation using Sun Microsystem's Java RMI software tools (the similarity to the JMRI acronym is coincidental, though confusing). Using these, a remote computer running a JMRI product (e.g. DecoderPro, PanelPro, etc) could operate the layout by connecting to a local server computer that was directly connected to the layout. People discussed this update in March 2002 on a public email list while it was being developed. On April 14, 2002, the client/server update was announced as part of a JMRI test release. As always, the source code was available to the public on the web.

Three days later, on April 17, 2002, Katzer fired off a patent application intended to cover this, and claimed a filing date of June 1998. He could do this -- US patent law allows for "continuation applications". If you have a pending application, you can file another one that "gains the benefit" of the earlier application. From a legal perspective, Katzer could make his applications look as if he'd invented the JMRI capability in 1998!

By misleading the Patent Office, Katzer was able to obtain a patent on this capability by the start of 2003. Specifically, he has a patent on any system that uses

1. A method of operating a digitally controlled model railroad comprising the steps of:
(a) transmitting a first command from a first program to an interface;
(b) transmitting a second command from a second program to said interface; and
(c) sending third and fourth commands from said interface representative of said first and second commands, respectively, to a digital command station.

(Claim 1 of US patent 6,530,329, aka "the '329 patent")

Enforcing Patents Against JMRI and Bob Jacobsen

After the '329 patent issued, Katzer and Russell sent letters that demanded $19, and later $29 in royalties per downloaded copy of JMRI. We believe that the patent was invalid because of prior art, and if they had provided the prior art in their possession to the patent examiner in the first place, the patent would never have been granted. It didn't stop them. Bob Jacobsen received bills for in excess of $200,000 on a roughly monthly basis from August 2005 to January 2006. (There's a separate correspondence page that has the all the letters)

When that harassment wasn't enough to stop JMRI, Katzer and Russell contacted Bob's employer in an attempt to intimidate him. Bob is a physics professor who works part time for the University of California at Berkeley, and part time at the Lawrence Berkeley National Laboratory (LBL, run by the US Department of Energy). LBL is run by a Nobel-prize-winning physicist, and has thousands of scientists doing basic and applied forefront research. Russell sent a Freedom of Information Act request to LBL, asserting that the Laboratory "had duties for the JMRI project", and that KAM's patents were "being infringed by the JMRI project sponsored by the LAB". The request went on to ask for Bob's private emails, along with a number of other types of information designed to embarrass Bob in front of his employer.

The Department of Energy eventually decided that the request was without merit, but only after it had caused a lot of trouble.

In the meantime, Russell continued to send fraudulent invoices for more than $200,000.

Next (Jacobsen asks for a Declaratory Judgment)