PRESENT: All the Justices
MICROSTRATEGY INCORPORATED
v. Record No. 032239 OPINION BY JUSTICE BARBARA MILANO KEENAN
September 17, 2004
WENFENG LI, ET AL.
FROM THE CIRCUIT COURT OF FAIRFAX COUNTY
M. Langhorne Keith, Judge
In this appeal, we consider whether the chancellor erred in
holding that the plaintiff failed to meet its burden of proving
that the defendants misappropriated certain trade secrets,
within the meaning of the Virginia Uniform Trade Secrets Act
(the Act), Code §§ 59.1-336 through –343.
We will state the evidence in the light most favorable to
the defendants, Actuate Corporation (Actuate), Wenfeng "Wayne"
Li, and Xiaogang "Gary" Xue, the prevailing parties in the
circuit court. Barner v. Chappell, 266 Va. 277, 283, 585 S.E.2d
590, 594 (2003); Jenkins v. Bay House Assocs., L.P., 266 Va. 39,
41, 581 S.E.2d 510, 511 (2003). According to this evidence,
MicroStrategy Incorporated (MicroStrategy) and Actuate are
"indirect competitors" that design, license, and support highly
sophisticated computer software known as "business intelligence
software."
Business intelligence software facilitates data retrieval
by allowing users to directly retrieve selected data from the
volumes of information stored and collected by a business. The
data that these businesses collect are stored in computer
memories called "data warehouses."
MicroStrategy competes primarily in an On Line Analytical
Processing (OLAP) "power-user" market. OLAP is a feature that
allows users to sort or rearrange columns of data in a business
report and to "drill down" or engage in "data mining" within a
column to retrieve more specific data from the report. Unlike
MicroStrategy, Actuate primarily competes in "a less
sophisticated market that does not require OLAP or other high-
end analytics."
MicroStrategy's "flagship" product, "MicroStrategy 7," was
released in June 2000. MicroStrategy spent about $35,000,000
and four years in the design and implementation of MicroStrategy
7, the sales of which represent the bulk of MicroStrategy's
revenue. MicroStrategy 7 was not merely an enhancement of
MicroStrategy's previous software products, but was created
"from scratch" when MicroStrategy chose to "completely rewrite
its product" to address the structural limitations of its
existing software and to meet its customers' evolving needs.
MicroStrategy 7 features an enhanced ability to deliver
information to a larger group of users and allows a greater
number of users to have simultaneous access to the stored
information. MicroStrategy 7 has increased reliability through
the installation of a "failover function," which allows a
2
computer server's data to be "seamlessly redistributed" to other
computer servers "with little or no disruption of service" in
the event that a server "crashes." Customers who purchase
MicroStrategy 7 also are required to purchase a "commercial
relational database" to manage their data warehouse.
Actuate's premier product, Actuate 6, was released in May
2002. Unlike MicroStrategy 7, Actuate 6 did not result from the
development of a completely new software product, but was an
enhancement of Actuate's existing software. The development of
Actuate 6 was "in the early planning stages" by the time
Actuate's previous product, Actuate 5, was released in December
2000.
At "a high level," Actuate 5 and Actuate 6 are very similar
products, the "primary difference" being that Actuate 5's "core
servers" were combined into "a single process" for Actuate 6 and
the server in Actuate 6 "operates in a cluster environment."
Another major difference between Actuate 5 and Actuate 6 is the
inclusion in Actuate 6 of a proprietary database which, unlike
the software in MicroStrategy 7, allows customers to manage the
data warehouse without purchasing a commercial relational
database from a third party vendor.
Both MicroStrategy and Actuate use the "C++" computer
programming language to write the underlying "source code" for
the design and implementation of their computer software
3
products. The C++ programming language is the "language of
choice for systems programming on nearly all major computing
platforms."
MicroStrategy 7 and Actuate 6 both use "metadata" to
organize and identify the data stored in their customers' data
warehouses. "Metadata," which also is referred to as "data
about data," is a relational database that contains information
about the data located in a data warehouse. The metadata is
accessed through certain tables and indexes, which collectively
are known as the "schema." The tables and indexes in the schema
provide the organizational structure for a product's metadata
and allow a user to locate more quickly information stored in
the user's data warehouse.
The schema for the two companies' software products are
"quite different." MicroStrategy 7 has a "homogeneous" schema
in which different objects are stored in the same ten tables.
Actuate 6, however, has a "heterogeneous" schema that stores
objects in 44 different tables. The use of a "homogeneous"
versus a "heterogeneous" design resulted in "a number of
differences in the table structures for the two schemas" of
MicroStrategy 7 and Actuate 6.
MicroStrategy and Actuate also both use "StrongPointers"
and "SmartPointers" (collectively, pointers) to combat "memory
leak," which is a commonly occurring problem in the operation of
4
computer software programs. Memory leak occurs when a software
program uses a portion of a computer's memory for a particular
operation and fails to release that memory back to the computer
once the operation is completed. A "pointer" is a feature that
is written into a software program's source code and identifies
specific pieces of a computer's memory. A "StrongPointer" is a
pointer that is designed to release a portion of a computer's
memory once that portion is no longer being used by the software
program. A "SmartPointer" is a "more sophisticated" type of
pointer that releases the computer's memory once the "last
pointer to the memory has finished with the memory," similar to
a system in which the "last one out turns off the lights."
In May 1996 and June 1997, respectively, MicroStrategy
hired Li and Xue as software engineers and assigned them to work
on the development of MicroStrategy 7. While they were employed
at MicroStrategy, both Li and Xue executed MicroStrategy's
Employment Agreement in which they pledged not to disclose or
use any of MicroStrategy's confidential information for their
own benefit or for the benefit of any party other than
MicroStrategy.
Before joining MicroStrategy, Li earned undergraduate and
master's degrees in computer science and acquired three years of
software design experience working for various computer
companies. Li's professional experience included the design of
5
a complex database schema that required the use of hundreds of
tables to store information relating to customer usage.
Prior to working at MicroStrategy, Xue also earned
undergraduate and master's degrees in computer science, with an
emphasis on database systems and design. Xue had served as a
teaching assistant for a graduate course involving schema
design. He also had worked as a research assistant on a project
for the National Aeronautics and Space Administration (NASA)
that involved the creation of a complex "object oriented
relational database and table and indexing schema design."
Both Li and Xue received several promotions during their
employment with MicroStrategy. Li was promoted to the position
of "lead engineer" for one of the teams working on the
development of MicroStrategy 7, and he eventually became the
head of that team. While in this leadership capacity, Li had
access to all the design documents and the source code for the
MicroStrategy 7 project. Xue also became the leader of one of
the teams working on the MicroStrategy 7 project, and he wrote
the source code implementing the design of the metadata schema
for MicroStrategy 7.
Li left MicroStrategy in November 2000 and was employed by
Actuate later that month; Xue left in February 2001 and began
working at Actuate shortly thereafter. Actuate assigned Li and
Xue to work on the development of Actuate 6.
6
Xue created some of the tables and indexes for the metadata
schema in Actuate 6. Li served as the head of the "server team"
for Actuate 6 and was responsible for allocating resources and
projects to various server teams and for reviewing designs and
specifications to ensure that the product satisfied management's
requirements. Although Li was a "hands-off manager" at Actuate
and was not involved in any "low-level decision-making," he
wrote some of the source code for the StrongPointers and
SmartPointers in Actuate 6.
In June 2001, MicroStrategy filed a bill of complaint
against Li, Xue, and Actuate (collectively, the defendants)
alleging, among other things, that the defendants
misappropriated MicroStrategy's trade secrets in violation of
the Act.1 MicroStrategy alleged that Li and Xue disclosed
MicroStrategy's confidential information to Actuate, and that
the defendants used that information in the design and
implementation of Actuate's products. MicroStrategy sought
damages in "an amount not less than" $5,000,000, and asked the
chancellor to "enjoin Actuate from developing, marketing,
selling, licensing, or making any use of any product that in any
1
MicroStrategy filed additional claims in its bill of
complaint against some or all of the defendants alleging breach
of contract, tortious interference with contractual relations,
breach of fiduciary duty, and conspiracy to injure MicroStrategy
in its trade or business. However, those claims are not before
us in this appeal.
7
respect or to any degree is based on, derived from, or
incorporates any of MicroStrategy's [c]onfidential [i]nformation
or trade secrets."
Code § 59.1-336 defines "trade secret" as follows:
"Trade secret" means information, including but
not limited to, a formula, pattern, compilation,
program, device, method, technique, or process, that:
1. Derives independent economic value, actual or
potential, from not being generally known to, and not
being readily ascertainable by proper means by, other
persons who can obtain economic value from its
disclosure or use, and
2. Is the subject of efforts that are reasonable
under the circumstances to maintain its secrecy.
Code § 59.1-336 also defines "misappropriation," in relevant part:
"Misappropriation" means:
. . . .
2. Disclosure or use of a trade secret of another
without express or implied consent by a person who
. . . .
b. At the time of disclosure or use, knew or had
reason to know that his knowledge of the trade
secret was
. . . .
(2) Acquired under circumstances giving rise to
a duty to maintain its secrecy or limit its use;
[or]
(3) Derived from or through a person who owed a
duty to the person seeking relief to maintain
its secrecy or limit its use.
8
Initially, MicroStrategy claimed that the defendants
misappropriated 242 trade secrets. However, before trial,
MicroStrategy presented the chancellor with a list limited to
eight alleged trade secrets that MicroStrategy maintained the
defendants misappropriated. Three of those eight alleged trade
secrets, MicroStrategy's StrongPointers, SmartPointers, and
certain indexes in its metadata schema, are the subject of this
appeal.
At trial, Li testified that when he left his job at
MicroStrategy, he did not take with him any of MicroStrategy's
technological information, design documents, or copies of its
source code, and that he did not bring any such information or
documents to his employment at Actuate. Li stated that when he
wrote the source code for Actuate's pointers, he used various
resources, including two books about the C++ computer programming
language and some Microsoft template libraries. Li also relied on
his knowledge of other implementations of pointers available to
the public and on his general knowledge of pointers and the C++
computer language.
Li testified that he did not use any part of MicroStrategy's
source code in choosing what features to include in Actuate's
pointers. He stated that the task of writing the code for
Actuate's pointers was not difficult compared to other source
9
codes he had written, and that while he "wouldn't call it the
easiest one . . . it would be among those."
Xue testified that he did not use MicroStrategy's table
structures and indexes in creating the tables and indexes for the
Actuate 6 metadata schema. Xue explained that the materials he
relied on were the Actuate 5 source code, training manuals for
Actuate 5, the Actuate 5 product itself, and certain documents
describing Actuate's business needs and source code given to him
by Paul Rogers, a principal engineer at Actuate. Xue stated that
once he understood this information, all he needed to do was
"apply the database design principles that [he] learned in [his]
. . . undergrad and graduate curriculum to come up with the final
table and indexes" for Actuate 6.
Xue further explained that the index and table designs he
developed at MicroStrategy could not have helped him in creating
the indexes and tables for Actuate 6, because MicroStrategy 7 and
Actuate 6 were two "very different" applications, and that a
"particular design for one system . . . will only make sense if
the application is exactly the same." Xue stated that the project
he worked on at NASA was "far more complex" than either the
MicroStrategy or the Actuate database schemas.
Rogers testified that although each version of Actuate's
product is built upon a previous version, between 20 and 30
percent of Actuate 6 was unique to that product and did not exist
10
in Actuate 5. He stated that through the application of
"normalization rules" to the data in Actuate 5, one could create
the metadata schema for the relational database in Actuate 6.
Rogers also explained that most of the tables and indexes for
Actuate 6 were completed before Xue's arrival at Actuate.
Rogers stated that the resource materials he provided to Xue
included "all the documentation" on Actuate 5, the "reverse
engineering" of the data in Actuate 5's servers, the source code
for Actuate 5, and access to metadata schema created by Rogers for
a different part of Actuate 6. Rogers explained that while there
were "different ways" in which a schema could be designed, there
were only a few schema designs "that would make sense" given the
important characteristics of Actuate 6.
MicroStrategy presented the expert testimony of David J.
Hutz, who earned a master's degree in applied mathematics and was
employed by MicroStrategy between 1997 and 1999. During his
employment at MicroStrategy, Hutz served as a program manager,
product support manager, field engineer, and technical support
engineer.
Hutz testified that while Li "definitely" did not copy
MicroStrategy's source code in his design of Actuate's
SmartPointers, it was "not clear" whether Li copied
MicroStrategy's code in his design of Actuate's StrongPointers.
Hutz also stated that of 28 points of comparison between the
11
StrongPointers in MicroStrategy 7 and those in Actuate 6, three
points were "unique" and were not found in the code for Actuate 5
or in the code of any pointer available to the public. He
ultimately conceded, however, that it was "possible" that some
features he considered "unique" could be found in other generally
accessible sources. Hutz further conceded that the "only basis"
for his opinion that Li had used or disclosed the design and
implementation for MicroStrategy's StrongPointers was that "Li
wrote the StrongPointer at Actuate and that Actuate's
StrongPointer look[ed] similar to MicroStrategy's StrongPointer."
Hutz assumed that Li, "without MicroStrategy's code in front
of him and without having been one of the people who wrote the
StrongPointer at MicroStrategy, . . . just remembered the entire
design or the entire code when he sat down to write the Actuate
code." However, Hutz agreed that it was "possible" that Li could
have remembered features from other widely-available pointers at
the time he wrote the code for Actuate's pointers.
Hutz concluded that Xue could not have arrived at the index
designs he created for Actuate "without relying on MicroStrategy's
confidential information about its table structures and indexes."
Hutz testified that five tables and their corresponding indexes in
Xue's early drafts of Actuate's metadata schema "looked very
similar" to five tables and indexes in MicroStrategy's metadata
schema. But Hutz was unable to state an opinion regarding how
12
many of the final indexes in the metadata schema for Actuate 6
were "tainted . . . with MicroStrategy's confidential information
and proprietary knowledge" because he had not examined the final
indexes.
The defendants presented the expert testimony of Dr. Scott D.
Meyers, who has a Ph.D. in computer science and is one of the
leading experts in the C++ computer programming language. The
chancellor qualified Dr. Myers to testify as "an expert in the C++
programming language, the design and implementation of software
memory management tools, generally, and the design and
implementation specifically of . . . SmartPointers and
StrongPointers."
Dr. Meyers stated that "the idea of using [pointers] for
resource management purposes is very widely known in the C++
community." He identified several "fundamental" design
differences between MicroStrategy's and Actuate's pointers. One
of those differences was that MicroStrategy's pointers could
handle both "pointer[] and non-pointer resources" while Actuate's
pointers could only handle "pointer resources." Dr. Meyers stated
that this design decision was a "fundamental difference" because
"[i]t speaks to how general" the designers are trying to make the
software and it affects the way the source code is written.
Another "fundamental difference" noted by Dr. Meyers was
MicroStrategy's use of "assertions," which are "pieces" of source
13
code designed to find mistakes in the writing of the program, that
were not used in Actuate's software.
Dr. Meyers concluded that "[a]t a high level," Actuate's
SmartPointers represented a "fundamentally different design" and
were "not really comparable" to MicroStrategy's SmartPointers.
Dr. Meyers also noted that the "number of template arguments"
varied in the SmartPointers developed by the two companies, which
resulted in designs that were "quite different." He stated that
MicroStrategy used a "noninvasive design," while Actuate used an
"invasive" design. According to Dr. Meyers, the choice whether to
use an "invasive" versus a "noninvasive" design was "an amazingly
fundamental design decision" because once that choice is made,
"all kinds of other things fall out from that."
Dr. Meyers further testified that "[a]t a very high level,"
MicroStrategy's SmartPointers did not contain any "unique
features." He noted that while MicroStrategy's and Actuate's
SmartPointers shared one feature that was not found in other
widely-available SmartPointers, he did not consider that feature
to be a "meaningful independent point of comparison" because it
was "a direct fallout" of other design decisions made by the two
companies.
Dr. Meyers also concluded that "at a high level," the
StrongPointers implemented by the two companies were "very
different." He testified that 25 of 28 points of comparison
14
between MicroStrategy's and Actuate's StrongPointers "could not
have been unique" because the designs either differed or were
found in other StrongPointers available to the public. According
to Dr. Meyers, of the remaining three features, one feature was
"not a terribly novel idea because it [was] widely used throughout
the standard library" for the C++ computer programming language
and the second feature was "equivalent in functionality" to
another commonly used function. While Dr. Meyers concluded that
the third feature represented "a truly novel function," he had
"great difficulty" imagining a context in which that feature would
be a useful point of comparison because he could not determine any
value that the feature added to the StrongPointers.
The defendants also presented the expert testimony of Mark G.
Soloway, who qualified as "an expert in the fields of computer
software design and process and distributed systems architecture."
Soloway earned an undergraduate degree in electrical engineering
and computer science, and a master's degree in electrical
engineering. He was employed by Actuate from 1995 to 2000 and
served in various capacities with the company, including as an
interim director of server technology, a principal engineer, and a
chief server architect.
Soloway testified that Xue's design of the five tables and
their corresponding indexes for Actuate was based on "reasonable
database design principles" and "generally accepted indexing
15
principles," and that Xue's tables and indexes in both his first
and final draft of the metadata schema were "obvious" translations
of those principles. Soloway explained that the indexes in the
schemas of MicroStrategy and Actuate were "very different . . . in
quite a few areas" and that in those instances in which the
Actuate indexes had similar goals, their design was dictated
either by a "reasonable entity relationship design" or by the
specific requirements of Actuate's product.
Soloway stated that Xue's initial schema design for Actuate,
rather than his final design, should be the focus of any
determination whether he had misappropriated MicroStrategy's
indexing design. Soloway concluded that if Xue had
misappropriated MicroStrategy's indexing design, then he would
have included elements of that design in his initial draft for
Actuate. Soloway testified, however, that Xue's initial draft did
not include any such index design elements.
The defendants also presented the expert testimony of Dr.
Daniel A. Menascé, a professor of computer science who has a Ph.D.
in computer science. Dr. Menascé testified that both Li and Xue
were qualified computer scientists and computer engineers, and
that they both possessed the training, education, and experience
to have applied "generally-known computer science concepts" to
arrive at the results that they produced in their work for
Actuate.
16
Dr. Menascé also testified that the design of tables and
indexes is a "pretty common type of homework assignment" for
students in either undergraduate or graduate programs in computer
science. Dr. Menascé stated that there is a "very well known set
of rules" that students can use to create indexes, and that a
homework assignment involving "a few tables" would typically take
a student about "a couple of hours" to complete.
In a comprehensive letter opinion that contained numerous
findings of fact, the chancellor concluded that "MicroStrategy
ha[d] failed to meet its burden of proof on all . . . alleged
trade secrets," and held in favor of the defendants "on all
counts" of the bill of complaint. The chancellor found that the
expert testimony of Soloway and Dr. Meyers was "more persuasive"
than Hutz's expert testimony, and the chancellor relied on the
testimony of the defendants' experts in stating his findings and
conclusions.
The chancellor entered a final decree incorporating his
letter opinion and awarded judgment in favor of the defendants.
MicroStrategy appeals.
MicroStrategy contends that the chancellor erred in holding
that it failed to prove that the defendants misappropriated the
alleged trade secrets. MicroStrategy asserts that the Act's
definition of misappropriation includes the mere disclosure of a
trade secret and that the defendants can be liable for
17
misappropriation even if they merely modified the trade secret or
used it as a starting point or guide to assist their own efforts.
MicroStrategy argues that it established the statutory element of
misappropriation by showing that its pointers and Actuate's
pointers shared "unique" features and by demonstrating the
"substantial similarity" between its indexes and Xue's first draft
of the indexes he designed for Actuate.
MicroStrategy additionally contends that once it established
a "prima facie" case of misappropriation, the chancellor should
have required the defendants to rebut MicroStrategy's evidence
with "evidence of independent invention." We disagree with
MicroStrategy's arguments.2
2
MicroStrategy has made additional arguments on appeal that
we do not address in view of our holding below.
18
Basic Principles
Generally, the law affords the owner of a trade secret
protection "against the disclosure or unauthorized use of the
trade secret by those to whom the secret has been confided under
the express or implied restriction of nondisclosure or nonuse."
Kewanee Oil Co. v. Bicron Corp., 416 U.S. 470, 475 (1974). "The
crucial characteristic of a trade secret is secrecy rather than
novelty." Dionne v. Southeast Foam Converting & Packaging,
Inc., 240 Va. 297, 302, 397 S.E.2d 110, 113 (1990). The Supreme
Court explained this distinction in Kewanee Oil Co.:
Novelty, in the patent law sense, is not required for
a trade secret . . . . However, some novelty will be
required if merely because that which does not possess
novelty is usually known; secrecy, in the context of
trade secrets, thus implies at least minimal novelty.
416 U.S. at 476.
Absolute secrecy is not required to establish the existence
of a trade secret. Dionne, 240 Va. at 302, 397 S.E.2d at 113;
see Kewanee Oil Co., 416 U.S. at 475. Thus, the owner of a
trade secret will not lose protection of the law by disclosing
the secret to a licensee, an employee, or others, provided that
the disclosure is made in express or implied confidence.
Dionne, 240 Va. at 302, 397 S.E.2d at 113; see Kewanee Oil Co.,
416 U.S. at 475.
Because one of the primary purposes of trade secret
protection is to encourage innovation and development, the law
19
will not be employed to restrict legitimate competition. See
Kewanee Oil Co., 416 U.S. at 481-82; Minnesota Mining & Mfg. Co.
v. Pribyl, 259 F.3d 587, 595 n.2 (7th Cir. 2001). Therefore,
"[t]he owner of a trade secret is not entitled to prevent others
from using public information to replicate his product, nor may
the owner prevent others from making similar products which are
not derived from the trade secret." American Can Co. v.
Mansukhani, 742 F.2d 314, 329 (7th Cir. 1984).
The law, however, will protect the owner of a trade secret
from the disclosure or unauthorized use of the trade secret by
another to whom the secret has been confided under the express
or implied condition of nondisclosure or nonuse. Kewanee Oil
Co., 416 U.S. at 475. Further, the law protects the trade
secret owner from use of the secret by those who have obtained
access to it through improper means. Id. at 475-76.
The Virginia Act
The plain language of the Act reflects the General
Assembly's decision to protect the owner of a trade secret from
another's misuse of that secret. Because the General Assembly
has enacted legislation addressing this subject, the role of the
courts is limited to construing and applying the terms set forth
in the Act. See Dionne, 240 Va. at 304, 397 S.E.2d at 114.
Depending on the facts of a particular case, software
components, as parts of a computer "program," may be trade
20
secrets covered by the Act. See Code § 59.1-336. In order for
a plaintiff to establish that such information has been the
subject of a trade secret violation, two statutory elements must
be proved, namely, the existence of a "trade secret" and its
"misappropriation" by the defendant. See id. Thus, if a
plaintiff fails to prove either required element, the plaintiff
is not entitled to relief under the Act. See Code §§ 59.1-336
through –338.
Under the definition of "trade secret" set forth in Code
§ 59.1-336, MicroStrategy was required to prove that the
software components at issue: 1) had independent economic value
from not being generally known and readily ascertainable by
proper means by persons who could obtain economic value from
their disclosure; and 2) were the subject of reasonable efforts
to maintain their secrecy. To prove a "misappropriation" of
alleged trade secrets under the Act, based on its theory of the
case, MicroStrategy was required to establish two factors: 1)
that the defendants disclosed or used trade secrets developed by
MicroStrategy without its express or implied consent; and 2)
that the defendants knew or had reason to know that their
knowledge of the trade secrets was either acquired under
circumstances giving rise to a duty to maintain their secrecy,
or derived from or through a person who owed such a duty to
MicroStrategy. Id.
21
Standard of Review
Before we address MicroStrategy's assignments of error, we
set forth our standard of review. Because the chancellor heard
the evidence ore tenus, the court's decree is entitled to the
same weight as a jury verdict. The Dunbar Group, LLC v. Tignor,
267 Va. 361, 366-67, 593 S.E.2d 216, 219 (2004); Shooting Point,
L.L.C. v. Wescoat, 265 Va. 256, 264, 576 S.E.2d 497, 501 (2003);
Chesterfield Meadows Shopping Ctr. Assocs., L.P. v. Smith, 264
Va. 350, 355, 568 S.E.2d 676, 679 (2002).
The scope of our review also is defined by the nature of
the questions before us. Therefore, we must determine whether
the chancellor's holding that MicroStrategy failed to meet its
burden of proving the statutory elements under the Act presents
questions of fact or mixed questions of law and fact.
A question of fact deals with the establishment of
historical or physical facts. See Crocker Nat'l Bank v. City
and County of San Francisco, 782 P.2d 278, 281 (Cal. 1989);
Yellow Cab Co. of Va., Inc. v. Gulley, 169 Va. 611, 619, 194
S.E. 683, 686 (1938). In contrast, a mixed question of law and
fact requires the application of legal principles to historical
or physical facts and a determination whether the rules arising
from those legal principles are satisfied under the facts.
Pullman-Standard v. Swint, 456 U.S. 273, 290 n.19 (1982);
Sandberg v. Virginia Bankshares, Inc., 979 F.2d 332, 350 (4th
22
Cir. 1992); Crocker Nat'l Bank, 782 P.2d at 281; see Anderson v.
Dillow, 262 Va. 797, 800, 553 S.E.2d 526, 527 (2001).
Based on this distinction, we conclude that the
determination whether a trade secret exists ordinarily presents
a question of fact to be determined by the fact finder from the
greater weight of the evidence. See Defiance Button Mach. Co.
v. C & C Metal Prods. Corp., 759 F.2d 1053, 1063 (2nd Cir.
1985); Learning Curve Toys, Inc. v. PlayWood Toys, Inc., 342
F.3d 714, 723 (7th Cir. 2003); Hulsenbusch v. Davidson Rubber
Co., 344 F.2d 730, 734 (8th Cir. 1965); Rivendell Forest Prods.,
Ltd. v. Georgia-Pacific Corp., 28 F.3d 1042, 1045 (10th Cir.
1994); Elm City Cheese Co. v. Federico, 752 A.2d 1037, 1043
(Conn. 1999). Our conclusion reflects the chancellor's focus in
cases of this nature. As the United States Court of Appeals has
observed, the existence of a trade secret often is "not obvious"
and "requires an ad hoc evaluation of all the surrounding
circumstances. For this reason, the question of whether certain
information constitutes a trade secret ordinarily is best
'resolved by a fact finder after full presentation of evidence
from each side.' " Learning Curve Toys, Inc., 342 F.3d at 723
(quoting Lear Siegler, Inc. v. Ark-Ell Springs, Inc., 569 F.2d
286, 288-89 (5th Cir. 1978)).
We also conclude that the issue whether a trade secret has
been misappropriated generally presents a question of fact. See
23
Texas Urethane, Inc. v. Seacrest Marine Corp., 608 F.2d 136, 140
(5th Cir. 1979); Pioneer Hi-Bred Int'l v. Holden Found. Seeds,
Inc., 35 F.3d 1226, 1239 (8th Cir. 1994). Such a determination
is uniquely factual in nature because it ordinarily involves
extensive circumstantial evidence that must be evaluated against
the direct evidence often presented by defendants in a trade
secrets case. See Eden Hannon & Co. v. Sumitomo Trust & Banking
Co., 914 F.2d 556, 561 (4th Cir. 1990).
The chancellor's resolution of a question of fact is
binding on appeal unless plainly wrong or without evidence to
support it. See The Dunbar Group, LLC, 267 Va. at 367, 593
S.E.2d at 219; Ryland v. Manor Care, Inc., 266 Va. 503, 509, 587
S.E.2d 515, 519 (2003); Shooting Point L.L.C., 265 Va. at 264,
576 S.E.2d at 501. Therefore, we will not set aside the
chancellor's decree in the absence of such error. See The
Dunbar Group, LLC, 267 Va. at 367, 593 S.E.2d at 219; Shooting
Point L.L.C., 265 Va. at 264, 576 S.E.2d at 501.
In addition, we observe that MicroStrategy does not
challenge on appeal any of the chancellor's individual findings
of fact. Therefore, we do not address the sufficiency of the
evidence in support of those individual findings, because our
appellate review is limited to errors properly assigned under
our Rules. See Rule 5:17(c); Shaheen v. County of Mathews, 265
Va. 462, 476 n.8, 579 S.E.2d 162, 171 n.8 (2003); Fairfax County
24
Fire & Rescue Dep't v. Mottram, 263 Va. 365, 370 n.1, 559 S.E.2d
698, 700 n.1 (2002). Accordingly, our consideration of the
record is limited to the issue whether the chancellor's factual
findings support his conclusions.
Burden of Proof
We disagree with MicroStrategy's argument that the
chancellor erred in failing to shift the burden of proof to the
defendants to establish that Actuate's product was derived
independently of MicroStrategy 7. The plain language of the Act
does not provide any burden-shifting requirement. As we
observed in Dionne, "the proponent must bear the burden of
proving a trade-secret claim." 240 Va. at 303 n.2, 397 S.E.2d
at 113 n.2. This burden does not shift, even when a plaintiff
has presented a prima facie case. Therefore, we hold that
MicroStrategy, as plaintiff, had the burden of proving by a
preponderance of the evidence that the defendants
misappropriated MicroStrategy's trade secrets, and that the
defendants were not required to prove their product was
independently derived.
Adequacy of the Chancellor's Findings
The chancellor made numerous factual findings in support of
his conclusion that MicroStrategy failed to meet its burden of
proving either statutory element of a trade secret violation.
Because a failure of proof regarding either element will support
25
the chancellor's judgment in favor of the defendants, we turn
directly to consider the chancellor's factual findings regarding
the second element necessary to establish a trade secret
violation, the issue of misappropriation.
Pointers
The chancellor found that the defendants did not
misappropriate MicroStrategy's SmartPointer design or the design
and implementation of its StrongPointer. The chancellor
concluded that before Li was employed by MicroStrategy, he
understood the "concept of controlling memory leaks with
pointers" and was familiar with several reference sources that
describe how these tools can be designed and implemented. The
chancellor also found that a "knowledgeable C++ programmer"
could design a SmartPointer or a StrongPointer "without having
any of the reference sources in front of the programmer."
In comparing the SmartPointers at issue, the chancellor
found that the Actuate SmartPointer has "a fundamentally
different design from MicroStrategy's. . . . They have
different template arguments and Actuate's design is invasive
while MicroStrategy's [design] is not." The chancellor also
concluded that although the two SmartPointers shared one unique
feature, this feature was a direct result of other design
decisions. With regard to the StrongPointers, the chancellor
found incredible Hutz's assumption that Li worked from his
26
memory of MicroStrategy's source code when designing Actuate's
StrongPointers.
The above conclusions culminated in the chancellor's
factual finding that the pointers Li designed for Actuate "were
not based on MicroStrategy's pointers but rather on public
sources that he had before him when he drafted the pointers in
question as well as his general knowledge of pointer
technology." We hold that these factual findings, which are
conclusive in this appeal, fully support the chancellor's
determination that MicroStrategy failed to prove that the
defendants misappropriated MicroStrategy's pointer technology.
Metadata Schema
The chancellor rejected Hutz's conclusion that Xue used or
disclosed MicroStrategy's confidential information when he
created five tables in Actuate's metadata schema. Instead, the
chancellor relied on Soloway's testimony and concluded that the
five tables at issue "were an obvious translation of the schema
in Actuate 5 to that in Actuate 6."
With respect to the index portion of the schema, in
accordance with Soloway's testimony, the chancellor found that
"the design of any index is driven by the table structure and
well known software design princip[les]." Citing the different
functions of the software products, the chancellor also found
that because "Actuate did not support other commercial
27
databases[,] the creation of its tables and indexes was a far
simpler task than that facing MicroStrategy's software
engineers." Finally, the chancellor rejected Hutz's conclusion
that Xue misappropriated MicroStrategy's indexes.
These findings support the chancellor's conclusion that
with regard to the metadata schema, "MicroStrategy failed to
establish that the [defendants] misappropriated a trade secret."
Therefore, we hold that the chancellor's factual findings fully
support his resolution of all the trade secret misappropriation
issues presented in this appeal.3
For these reasons, we will affirm the chancellor's
judgment.
Affirmed.
3
Based on our holding that MicroStrategy failed to
establish one of the two required elements under the Act, that
of misappropriation, we need not address MicroStrategy's
remaining assignments of error that involve the Act's other
required element, the existence of a trade secret.
28