Reverse engineering of competitor’s software cost company big

Companies developing software to mimic the functionality of competitors’ products should beware the broad scope of what may constitute reverse engineering. A recent federal case from the Fourth Circuit underscores this idea.

Background – the Development Process

Plaintiff SAS and defendant WPL are competitors in the market for software used to manage and analyze large and complex sets of data. Plaintiff for many years has distributed its proprietary software applications (the SAS System) that run programs written in the eponymous language SAS. WPL sought to create an application to compete with the SAS System, namely, an application it could take to market that would run programs written in SAS. It successfully developed such an application (called the WPS), and customers began dropping the SAS System in favor of the WPS.

As part of its efforts to develop the WPS, defendant obtained a license to use the “Learning Edition” provided by plaintiff – an environment designed for programmers to learn how to code in SAS. Among the provisions in the software license agreement for the Learning Edition was a restriction against reverse engineering the software.

In developing the WPS, defendant did not try to decompile the Learning Edition, or otherwise “tear it down” or “look under the hood.” Instead, it would run SAS code through both the Learning Edition and the WPS, evaluate the outputs from both systems, and tweak the C++ code comprising the WPS to get the outputs to match.

Trial Court Litigation

Plaintiff sued defendant in both U.S. federal court and the U.K. alleging a number of claims, including copyright infringement, breach of contract, deceptive trade practices, and fraud. Of particular importance was the breach of contract claim – plaintiff claimed that defendant’s method of developing the WPS, through adjusting the WPS code based on output compared with Learning Edition output – was reverse engineering prohibited under the terms of the Learning Edition license agreement.

The lower court agreed with plaintiff, and found defendant liable for breach of contract due to reverse engineering, at the summary judgment stage. The case proceeded to trial on other issues where, along with the damages for breach of contract and for deceptive trade practices, the court awarded almost $80 million in damages to plaintiff. Defendant sought review with the Fourth Circuit. On appeal, the court affirmed the lower court’s decision on the reverse engineering issue.

Appellate Court: This Was Reverse Engineering

More specifically, defendant had argued on appeal that the lower court’s summary judgment on the breach of contract/reverse engineering claim was improper because the term “reverse engineering” in the license agreement was ambiguous. Plaintiff and defendant offered competing definitions for what they thought reverse engineering ought to mean. Defendant proposed a narrow definition – essentially, that reverse engineering must have as its objective the re-creation of source code. Plaintiff, however, offered a broader definition, encompassing other efforts to “analyze a product to learn the details of its design, construction, or production in order to produce a copy or improved version.”

The differences in definitions were important – defendant had not sought to, nor did, access or copy the source code of the Learning Edition. If the definition of reverse engineering were limited to the re-creating of source code, then the development of the WPS should be okay.

But the court did not agree with defendant. Finding the language in the software license agreement to be unambiguous, the court observed that “nontechnical words are to be given a meaning consistent with the sense in which they are used in ordinary speech, unless the context clearly requires otherwise.” The court then consulted dictionary definitions for the term “reverse engineer” and also evaluated the broad vs. narrow definitions proposed by the parties in light of other prohibitions (e.g., against “reverse assembly” and “decompilation”) in the same provision of the license agreement. Simply stated, the court found that the agreement was clear on what conduct constitutes reverse engineering, and defendant’s actions fit within that scope.

SAS Institute, Inc. v. World Programming Ltd., — F.3d —, 2017 WL 4781380 (4th Cir. October 24, 2017)

See also:

Evan_BrownAbout the Author: Evan Brown is a Chicago technology and intellectual property attorney. Call Evan at (630) 362-7237, send email to ebrown [at] internetcases.com, or follow him on Twitter @internetcases. Read Evan’s other blog, UDRP Tracker, for information about domain name disputes.

Customer violated software license by letting attorneys use application

The Compliance Store v. Greenpoint Mortgage Funding, — F.3d —, 2010 WL 4056112 (5th Cir. October 18, 2010)

A federal court in Texas has decided a case that could have notable implications for both providers and users of software. The court took a narrow view of the rights that licensees of software have to authorize third parties (i.e., independent contractors) to use software on behalf of the licensee.

Plaintiff software provider sued its customer for breach of the software license agreement after plaintiff learned that the customer allowed its attorneys to input data using the software. Plaintiff claimed that the use was not permitted by the terms of the license agreement.

Customer moved for summary judgment on the breach of software license claim and the district court granted the motion. Plaintiff software provider sought review with the Fifth Circuit Court of Appeals. On appeal, the court reversed.

The appellate court held that the license agreement should not be read to permit use of the software by a third party not expressly provided for in the agreement, even though such third party’s use of the software was on behalf of or for the benefit of the licensee.

The district court had relied on two earlier Fifth Circuit cases — Geoscan v. Geotrace Technologies and Hogan Systems v. Cybresource International — to look beyond the express language of the license agreement and hold that use of the software by defendant’s attorneys was permitted. The district court found such use to be permitted because it was done on behalf of or for the benefit of defendant.

But the appellate court distinguished Geoscan and Hogan Systems, finding that neither case stands for such an expansive proposition. Unlike the agreements in those cases, the license in this case contained no provision that permitted use by third parties on behalf of the licensee. Moreover, among other things, defendant was expressly prohibited from transferring or sublicensing the technology and was prohibited from assigning its rights under the license agreement. The software license agreement also contained a provision that served to excluse all third party beneficiaries to the agreement.

Photo courtesy Flickr user coiax under this Creative Commons license.