Contract case could hurt reverse engineering

Supreme Court decided not to hear accused company's appeal

A U.S. Supreme Court decision could call into question a common practice among software companies: studying competitors' products to improve their own offerings.

The legality of this practice, called reverse engineering, is in question after a lower court found that a software company had violated a shrink-wrapped license contract when it reverse-engineered a competitor's piece of software.

Last week, the Supreme Court decided not to hear the accused software company's appeal.

Although the breach of contract ruling applies only to the U.S. Court of Appeals for the Federal Circuit, the Supreme Court's lack of action could embolden other software companies to prohibit reverse engineering or take away other fair use rights allowed under copyright law by including such prohibitions in an end user license agreement, said Karen Copenhaver, a patent and intellectual property lawyer with Testa, Hurwitz and Thibeault, of Boston.

But the lawyer who defended the reverse engineering prohibition said the case was simply about a small software developer trying to protect his investment.

The case in question, Bowers vs. Baystate Technologies, involves software inventor Harold L. Bowers, who alleged that Baystate violated a section of his software's end user license agreement (EULA) that forbid users from reverse engineering his software. A lower court agreed and awarded Bowers $5.27 million.

Baystate had looked at Bowers' computer-aided design (CAD) software in order to make improvements in its competing package, although the extent of the reverse engineering is still in dispute, 12 years after the first legal action in the case.

Although reverse engineering is generally defined as reversing software's machine code back to the source code, Baystate claims it looked only at Bowers' user interface in order to improve its CAD software product. "There was no evidence of cracking encrypted source code or anything of that nature," said Bob Kann, Baystate's lawyer, of Bromberg and Sunstein, in Boston. "This may cause havoc in the industry. Before this case, it was perfectly legal to evaluate a competitor's product."

But Bowers' lawyer countered that Baystate had two weeks in its development schedule to examine Bowers' software, giving the software vendor time to look at more than the user interface. "They had two weeks to reverse engineer his software," countered Bowers' lawyer, Frederic Meeker, of Banner and Witcoff, of Washington, D.C. "Two weeks is a long time -- that's a lot of looking."

The impact of the case, said Copenhaver, is that end user license agreements could become more restrictive. "Saying you can reserve that [reverse engineering prohibition] in a shrink-wrap license is saying a company can put virtually anything in a shrink-wrap," Copenhaver said. "Now there are very few limitations on what people will try to put on a shrink-wrap."

Meeker disagreed, saying the inventor was simply trying to protect a piece of software he had worked on for years. Bowers, then living in southern Virginia, had mortgaged his house to market his CAD software package, called Designer's Toolkit, Meeker noted.

"From a small software company's perspective, it's virtually impossible to recover your investment without some sort of protection," Meeker said. "That's a standard provision ... you put in a contract with another company so that they can't reverse engineer the trade secret out of the product. That software took years to develop."

The case goes back to 1991, when Bowers accused Baystate of infringing on his 1990 patent for a CAD tool template, which supplemented other CAD software by organizing CAD commands in a logical manner. Baystate sued Bowers, hoping to get a court to declare that it did not infringe on Bowers' patent, and Bowers countersued.

Baystate had released an improved version of its own CAD software, after looking at Bowers' software, in early 1991, according to Court of Appeals documents. Bowers had offered to work with Baystate in the late '80s, but the company had rejected his offers, saying it had the in-house capabilities to develop its own CAD software. Baystate also pressured CAD software company Cadkey not to distribute Bowers' product, and later, Baystate purchased Cadkey and shut Bowers out of the market, according to court documents.

In September 2000, a U.S. District Court in Massachusetts awarded Bowers $5.27 million for breach of contract and patent infringement, and the Court of Appeals upheld that ruling in August 2002. "If you look at Mr. Bowers' perspective, he was basically forced out of business," said Meeker, defending the court's decision.

Meeker noted that Baystate had reproduced a handful of errors in Bowers program. Kann, Baystate's lawyer, said all the errors came from Bowers' user interface, not the underlying code.

No matter what the level of reverse engineering was in this case, broad prohibitions in an EULA could lead to more abuses in shrink-wrapped licenses, Copenhaver said. Contracts between two software developers that prohibit reverse engineering may be appropriate, she added, but broad prohibitions in EULAs would disadvantage software companies trying to check out competitors' products.

The Bowers case is an example of a good plaintiff -- in this case, an independent software developer going up against a bigger company -- not contributing to good law, she added. "This guy's got to be the most sympathetic plaintiff in the world," Copenhaver said. "This is the kind of guy you really want to protect."

Copyright © 2003 IDG Communications, Inc.

How to choose a low-code development platform