In the context of software, reverse engineering includes, but is not limited to: access and copy of software as a means of subsequently creating a similar, often derivative product. Less certain is whether the term encapsulates only analysis and examination of the source code, irrespective of whether the purpose of such analysis and examination ultimately remains the same. In October 2017, the U.S. Court of Appeals for the Fourth Circuit held, to the disappointment of several amici that submitted briefs on defendant’s behalf, that at least with respect to the governing software license “reverse engineering” as defined in the relevant license was not limited to accessing and copying software, as such a narrow interpretation would render other provisions of the license superfluous.
Defendant Allegedly ‘Reverse Engineers’ Plaintiff’s Software in Violation of the License. Plaintiff SAS Institute and defendant World Programming Limited compete in the market for “statistical analysis software.” Plaintiff sells proprietary integrated business software collectively known as the “SAS System.” Users operate the SAS System by authoring instructions, also known as “SAS Programs,” in a computer programming language. Plaintiff offers a “Learning Edition” of its software, which provides full functionality of the SAS System, but processes less data than the full suite of software. To install the Learning Edition software, the licensee must agree to the terms of the license, which includes a prohibition on “reverse engineering.” The license provides that the licensee “may not reverse assemble, reverse engineer, or decompile the Software or otherwise attempt to recreate the Source Code, except to the extent applicable laws specifically prohibit such restriction.”
Defendant is a company based in the United Kingdom that was formed to develop “statistical reporting software.” While advancing its competing software (WPS), defendant acquired several copies of plaintiff’s Learning Edition software from 2002 to 2009. Developers at defendant ran an SAS program through both plaintiff’s Learning Edition software and WPS, and then altered WPS’ code to make it and Learning Edition achieve parity in outputs. A number of former SAS customers replaced SAS System software with WPS.
In 2010, plaintiff sued defendant alleging that, inter alia, defendant breached its license to use the Learning Edition software. The case was initially dismissed by the district court on forum non conveniens grounds, as there was parallel and largely overlapping litigation in the United Kingdom, but the Fourth Circuit revived the case in 2012. Two years later, the district court for the Eastern District of North Carolina granted summary judgment in plaintiff’s favor in holding that, under North Carolina contract law principles, the unambiguous term “reverse engineering” in the license encompassed not just a prohibition against decompiling and recreating the source code of the SAS System software, but also analyzing this software to learn details of its design, construction and production as a means of producing a copy or “improved” version.
The Fourth Circuit Agrees That Defendant Violated the Prohibition in the License Concerning the “Reverse Engineering” of Plaintiff’s Source Code. On appeal, defendant did not dispute its conduct, but instead argued that summary judgment was inappropriate because the term “reverse engineering,” as used in the license, was ambiguous. Under North Carolina law, “non-technical terms” are to be given a “meaning consistent with the sense in which they are used in ordinary speech, unless the context clearly requires otherwise.” 874 F.3d at 380 (citation omitted). Courts “may resort to dictionaries to identify the ‘common and ordinary meaning of words and phrases.’” Id. (citation omitted).
Unsurprisingly, the parties offered differing definitions of “reverse engineering.” Defendant proffered the narrow definition that the term proscribed only “decompiling or otherwise accessing and recreating the source code of a program.” Plaintiff countered with a broader interpretation wherein the term encompassed any attempt to “analyze a product to learn the details of its design, construction, or production in order to produce a copy or improved version.”
The Fourth Circuit sided with plaintiff’s more expansive interpretation and in doing so upheld the district court. First, as a matter of construction, the Fourth Circuit agreed that the meaning of the phrase “reverse engineering” is “not self-evident” when devoid of context. Consequently, North Carolina law permits the use of dictionary definitions and interpretation of the license as a whole to determine the ordinary meaning of “reverse engineering.” According to one dictionary definition, “reverse engineer” is to “examine (a product) in order to determine its construction, composition, or operation, typically with a view to manufacturing a similar product.” This definition, as well as a similar one from another dictionary, “is more consistent with the broad understanding offered by [plaintiff] than the narrower interpretation offered by [defendant].” The Fourth Circuit also observed that defendant did not point to, nor had the court discovered, any technical dictionaries revealing a more restrictive definition in the software context.
Second, the Fourth Circuit held that plaintiff’s interpretation “better complies” with the requirement of North Carolina contract interpretation to give effect to every word of the license, if possible. The reverse engineering provision of the license was paired with prohibitions on “reverse assembl[ing] and “decompil[ing].” Defendant’s interpretation of the reverse engineering prohibition would affect only those who reverse engineered the software by decompiling and reverse assembling it. This interpretation would thus render the phrase “reverse engineer” entirely meaningless. A plain meaning interpretation of the “reverse engineering” provision—advanced by plaintiff—avoids making the provision unnecessary.
Finally, the Fourth Circuit rejected defendant’s reliance on extrinsic evidence purporting to show ambiguity, given that it had already concluded that the relevant provision of the license was unambiguous. In any event, the appeals court found defendant’s supposed extrinsic evidence unavailing. Such evidence consisted of defendant’s showing that the Learning Edition software can be reverse engineered by the way it described decompiling and recreating the source code, which “does nothing to suggest that no other type of reverse engineering is possible,” i.e., in a way consonant with plaintiff’s broader interpretation of the License provision.
Since “it is clear that [defendant] violated the unambiguous reverse engineering prohibition,” the court affirmed summary judgment in plaintiff’s favor.
Richard Raysman is a partner at Holland & Knight and Peter Brown is the principal at Peter Brown & Associates. They are co-authors of “Computer Law: Drafting and Negotiating Forms and Agreements” (Law Journal Press).