Title: MicroStrategy Inc. v. Li

State: virginia

Issuer: Virginia Supreme Court

Document:

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 
 
2
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 
 
3
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 
 
4
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 
 
5
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 
 
6
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. 
 
7
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. 
 
8
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. 
 
 
9
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 
 
10
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 
 
11
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 
 
12
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 
 
13
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 
 
14
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 
 
15
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 
 
16
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. 
 
17
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 
 
18
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. 
 
19
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 
 
20
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 
 
21
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. 
 
22
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 
 
23
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 
 
24
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 
 
25
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 
 
26
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 
 
27
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 
 
28
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.