COURT OF APPEAL FOR ONTARIO
CITATION: Actuate Canada Corporation v. Symcor Services Inc., 2016 ONCA 217
DATE: 20160318
DOCKET: C60073
Gillese, van Rensburg and Miller JJ.A.
BETWEEN
Actuate Canada Corporation and Actuate Corporation
Plaintiffs (Appellants)
and
Symcor Services Inc.
Defendant (Respondent)
Matthew P. Gottlieb, Daniel A. Schwartz and Laura M. Wagner, for the appellants
Daniel S. Murdoch, Patrick G. Duffy and Sean E. Gibson, for the respondent
Heard: October 6, 2015
On appeal from the judgment of Justice Michael A. Penny of the Superior Court of Justice, dated January 30, 2015, with reasons reported at 2015 ONSC 689 and from the costs order dated March 13, 2015, with reasons reported at 2015 ONSC 1667.
van Rensburg J.A.:
A. Overview
[1] The appeal and cross-appeal in this matter concern a software licensing dispute. Xenos IP Partnership (“Xenos IP”) was one of the original plaintiffs. Its interest in the litigation and its copyright in certain software referred to as “d2e Software” were transferred to the appellant Actuate Corporation.[^1] Xenos IP and the appellant Actuate Canada Corporation[^2] sued the licensee Symcor Services Inc. (“Symcor”) for breach of contract and infringement of Xenos IP’s copyright in the d2e Software. The appellants were referred to in the court below and in our court as “Xenos”, and will be referred to in these reasons together as “Xenos” or “the appellant”.
[2] The software was licensed in 2001, when Xenos and Symcor signed a Licence, Services and Support Agreement (the “LSSA” or the “licence agreement”). In an action commenced in February 2012, Xenos asserted that Symcor had violated the LSSA in three ways:
i) by using the d2e Software on more than one production server and more than two non-production servers;
ii) by employing the d2e Software on operating systems other than IBM’s AIX (Advanced Interactive eXecutive) operating system;[^3] and
iii) by using the d2e Software in association with database systems other than IBM’s CMOD (Content Manager OnDemand) system.
[3] Symcor admitted that it had used d2e Software on multiple servers and on non-AIX operating systems. It asserted, however, that the LSSA did not restrict the number of servers on which it was entitled to deploy the software or limit its use of the software to AIX operating systems. Symcor acknowledged that it had used the d2e Software in association with non-CMOD database systems, but argued that this restriction was removed in 2003. Symcor also raised defences of estoppel and the expiry of limitation periods for all activity prior to January 25, 2010. It argued that Xenos knew of and consented to Symcor’s use of the d2e Software on non-AIX operating systems and with database systems other than CMOD because Xenos’s employees actively supported the d2e Software in all of Symcor’s applications from 2004 to 2011.
[4] Xenos moved for summary judgment on the liability issues and requested an order directing a reference or trial on damages.[^4]
[5] The motion judge granted the motion in part. He rejected Xenos’s argument that Symcor had breached the LSSA by using the software on multiple servers, concluding that the parties’ agreement did not restrict Symcor’s use to one server per licence. He concluded however that Symcor had breached the licence agreement by using the d2e Software on operating systems other than AIX, and with database systems other than CMOD. The motion judge found that these breaches of contract also constituted copyright infringement within the meaning of the Copyright Act, R.S.C. 1985, c. C-42.
[6] The motion judge rejected Symcor’s defence of estoppel. He concluded that there was no evidence that any Xenos employees with knowledge, responsibility or authority over licensing matters had knowledge of Symcor’s unlicensed use of the software before 2011. He directed that the limitation period defence proceed as a component of the trial on damages.
[7] The motion judge fixed Xenos’s partial indemnity costs for the summary judgment motion at $280,000; however, he ordered that the determination of whether Xenos would be awarded such costs would await the determination of its success at the damages trial.
[8] Xenos appeals, asserting that the motion judge erred in concluding that the LSSA permitted Symcor to use the d2e Software on more than one server per licence. Xenos also seeks leave to appeal the costs order and argues that the payment of its costs for succeeding in the summary judgment motion should not await the disposition of the damages trial.
[9] Symcor cross-appeals. Symcor contends that the motion judge erred in concluding that the LSSA restricted its use of the d2e Software to AIX operating systems. Symcor further argues that the motion judge erred in dismissing its defence of estoppel in respect of such use on the evidence before him. Symcor also seeks to appeal the amount of the costs order. Symcor does not appeal the summary judgment with respect to its use of the software with database systems other than CMOD.
[10] For the reasons that follow, I would dismiss Xenos’s appeal and allow Symcor’s cross-appeal in part. Briefly, I would not interfere with the motion judge’s interpretation of the parties’ contract. His conclusions about the scope of Symcor’s licences and his interpretation of the LSSA are clear, carefully reasoned and reveal no error of law or principle. I would, however, set aside the dismissal of Symcor’s defence of estoppel in relation to the AIX restriction, and refer this issue to trial along with the limitation period defence and assessment of damages. There is evidence in the record to support the estoppel defence that the motion judge did not consider. Further, the estoppel defence raises questions of fact that overlap with the facts necessary to determine the limitation period defence. As such, this issue ought not to have been determined against Symcor in the summary judgment motion. Finally, because of Symcor’s success in this court in respect of the estoppel issue, I would remit the matter of costs of the motion to the motion judge for determination.
B. Facts
[11] The parties filed extensive affidavit and other evidence on the summary judgment motion. As the motion judge accurately observed, at paras. 54-55 of his reasons, the record contains “certain basic facts, identification of documents and some objective evidence of surrounding circumstances”, but also “a good deal of argument, opinion, legal conclusion, speculation and subjective evidence of personal, corporate or imputed intention.” Notably, none of the parties’ affiants were involved in any licensing functions in 2001 (when the LSSA was negotiated), with their current employers or otherwise.
[12] The motion judge set out the relevant facts at paras. 12 to 38 of his reasons. They can be summarized as follows.
[13] The d2e Software was developed by Xenos. It is used to transform bills and account statements from a paper to an electronic format such as a webpage or Adobe PDF file. Using the d2e Software, information can be extracted and output into an electronic file, which can then be stored in a database and indexed for later customer retrieval of the statement through a secure website.
[14] Symcor, which is the largest financial processing outsourcing services provider in Canada, is in the business of processing cheque images, payments and financial statements, primarily for large banks and retail and telecommunications companies.
[15] In 2001, IBM marketed its CMOD database software and Xenos’s d2e Software together as an integrated enterprise content management solution for large customers such as Symcor.
[16] Symcor was interested in the d2e Software, but wanted to test it in its operations before making the financial commitment to acquire the software for use in a production environment. Symcor’s plan was to test the new system gradually by starting in a test, non-production environment before moving to a production environment.
[17] Xenos prepared written quotations for IBM to present to Symcor as part of a package. The first, on June 19, 2001, provided pricing and terms for two non-production (also referred to as “test” or “development”) licences and one production licence to use specified components of the d2e Software. The quotation explicitly provided that the d2e Software was to be licensed for an “AIX hardware system”. The price quoted for the production licence was described as a “one time charge licence per server”.
[18] The motion judge stated that this quotation was not pursued, however, as Symcor did not want to pay the licence fee of over $250,000 associated with the production licence until it had tested the software. Although the motion judge did not say so, the parties agreed at the hearing of the appeal that there was no evidence that the June 19th written quotation was ever provided to Symcor.
[19] A written quotation from Xenos dated June 28, 2001 was provided to Symcor. This quote was for two test licences only, priced at 25% of the cost of a production licence. The quotation provided that the d2e Software was for use on an AIX hardware system with the CMOD database system. There was nothing in the quote about “servers”. The quote also offered a production licence at a specified price if acquired by December 15, 2001.
[20] On June 29, 2001, Symcor entered into an agreement with IBM (the “IBM Agreement”) to acquire certain “passport advantage products”. On the same day, Symcor entered into the LSSA with Xenos.
[21] The LSSA provides for both the licensing of software by Xenos to Symcor, and the supply of support services in respect of the software. The key terms and conditions of the LSSA that are relevant to this dispute are as follows.
[22] Section 2.1 sets out the grant of the licence. It provides for a “non-exclusive, non-transferable, perpetual licence” to use the “Software” at the “Location(s)”:
Upon execution of this agreement by the Parties and in consideration of Customer agreeing to pay the Charges, Xenos grants to the Customer a non-exclusive, non-transferable, perpetual licence to use the Software at the Location(s) upon the terms and conditions of this Agreement. Xenos acknowledges that such use shall extend to the Customers (sic) wholly owned subsidiaries.
[23] The LSSA contains various definitions which include the following:
• Symcor is the “Customer”;
• “Location(s)” is “any Customer owned, occupied or controlled site”;
• “Charges” are the “Licence Fees, Annual Support Fees, and the Consultancy Fees plus taxes…”;
• “Licence Fees” are “the charge specified in the Product Schedule(s) for the right to receive and use the Software”;
• “Annual Support Fees” are “the aggregate annual charge specified in the Product Schedule(s) for the right to receive Support Services…”;
• “Consultancy Fees” are “charges for provision of the Consultancy Services...” (which in turn are defined as “the provision of … training and general consultancy services as specified in the Product Schedule(s)”);
• “Software” is “the object code or executable versions of the modules of the computer software listed in the Product Schedules”; and
• “Product Schedule(s)” is:
a written description of the Software to be licensed and Consultancy Services to be provided hereunder from time to time by agreement between the Parties and method of recording any other agreed changes to this Agreement.
[24] Section 2.3 provides that the “Software may be used only: (i) to process the Bureau Clients (sic) data and (ii) for Customer’s own internal operations.” “Bureau Client(s)” is defined as “[a]ny entity for which Customer provides services in the ordinary course of its business”. Further, Schedule A of the LSSA provides in part:
For clarification, Clause 2.3 shall be expanded to include the following:
The Software can be used on an enterprise wide basis by Customer without restriction on the number of copies but only in association with the IBM software product known as “Content Manager / OnDemand” or any IBM successor product(s) to Content Manager OnDemand.
[25] Section 4.2 deals with copying of the Software and provides in part:
The Customer agrees not to: (i) copy the whole or any part of the Software except for the creation of copies of the Software reasonably required for Customer’s enterprise wide use and for copies required for Customer’s reasonable archival purposes and in connection with reasonable disaster recovery plans….
[26] Section 9 states that Xenos is to provide prescribed Support Services in respect of the Software, subject to payment of the Annual Support Fees.
[27] The parties executed Product Schedule No. 1 the same day as the LSSA. This schedule sets out the various elements of the d2e Software licensed for non-production purposes. It states that Xenos agrees to provide, subject to the terms of the LSSA, “the Software hereinafter specified”, and then sets out the following table:
Item No.
Quantity
Software Description
Location(s)
Hardware Platform
License Fees
Annual Fee 18%
A.
2 non-production
AFP Parser (AFPP)
AIX
As per IBM SOW
$2,025
B.
2 non-production
Metacode Parser (MEPP)
AIX
As per IBM SOW
$2,025
C.
2 non-production
PDF Generator (PDFG)
AIX
As per IBM SOW
$3,037
D.
2 non-production
IDC Document Control (IDC1)
AIX
As per IBM SOW
$6,075
E.
2 non-production
Template Merger (TEMG)
AIX
As per IBM SOW
$1,519
F.
2 non-production
REXX for AIX License
AIX
As per IBM SOW
$1,890
G.
2 non-production
Developer’s Studio (DST1)
AIX
As per IBM SOW
$675
Subtotal
$17,246
Plus taxes as per clause 3.5
[28] Symcor subsequently decided to purchase a production licence, as offered in the June 28, 2001 quotation. On September 26 and 27, 2001, the parties signed Product Schedule No. 2. It states that Xenos agrees to provide, subject to the terms of the LSSA, the following specified Software:
Item No.
Quantity
Software Description
Location(s)
Hardware Platform
License Fees
Annual Fee 18%
A.
1
AFP Parser (AFPP)
AIX
As per IBM SOW
$5,250
B.
1
Metacode Parser (MEPP)
AIX
As per IBM SOW
$5,250
C.
1
PDF Generator (PDFG)
AIX
As per IBM SOW
$7,814
D.
1
IDC Document Control (IDC1)
AIX
As per IBM SOW
$15,705
E.
1
Template Merger (TEMG)
AIX
As per IBM SOW
$3,366
F.
1
REXX for AIX License
AIX
As per IBM SOW
$2,210
G.
1
Developer’s Studio (DST1)
AIX
As per IBM SOW
$500
H.
3 (2 non-production)
PCL Parser (PCLP)
AIX
*N/C
*N/C
Subtotal
$40,095
Plus taxes as per clause 3.5
[29] Product Schedule No. 2 further provides that Xenos allows Symcor “to use the Xenos software in their current file server environment (non IBM Content Manager OnDemand) for a period of 9 months from the date of approval of this schedule.”
[30] In 2003, the parties discussed an expansion of Symcor’s licences to remove the limitation for use only with IBM’s CMOD database. Symcor also wanted to license a new component of the d2e Software called “Print Generator”. Xenos issued a quotation for both. In September 2003, Symcor paid $88,000 for the initial licence fee and first annual fee for one production and two test licences for the d2e Print Generator component. The parties signed Product Schedule No. 3 that described the “Quantity” (1 production, 2 test licences), the “Software” (the print generators), and the “Hardware Platform” (AIX). There is no evidence that Symcor ever paid the $224,000 quoted for expansion of the d2e Software licence for use with non-CMOD databases or that any related Product Schedule was ever issued or signed.
[31] Over the next several years, Xenos provided technical support to Symcor for the d2e Software. During this time, Symcor began using the software in production environments on multiple Windows servers and with databases other than CMOD.
[32] In 2007, after questions were raised internally about the status of the Xenos licenses, Symcor asked Xenos to provide details of its existing licences. Xenos confirmed that Symcor had one production and two non-production licences and that the licences were all “on AIX”. Xenos sent a quote and a draft Product Schedule No. 4, for Symcor to acquire a production licence to use various components of the d2e Software on servers running either the Linux or Solaris operating systems for a fee of $167,200. The quotation confirmed that Xenos was providing a discount “based on existing license restriction usage with CMOD”. Symcor did not purchase any additional licence rights and Product Schedule No. 4 was never signed.
[33] In 2011, Symcor again made inquiries of Xenos about the terms and conditions of its licence. Symcor wanted to know whether its use of the d2e Software in a Windows environment and not in association with CMOD was covered by the LSSA. Xenos investigated and concluded that Symcor had been using the d2e Software in production environments on more than one server, on servers not running AIX, and in association with a database other than CMOD. Xenos ultimately brought its action for damages for breach of contract and copyright infringement.
C. Issues
[34] The following issues are raised in the appeal and cross-appeal:
i) Did the motion judge err in interpreting the LSSA as not restricting Symcor’s use of the d2e Software to one server per licence?
ii) Did the motion judge err in interpreting the LSSA as restricting Symcor’s use of the d2e Software to the AIX operating system?
iii) Did the motion judge err in rejecting Symcor’s estoppel defence and not referring this issue to trial with the limitation period and damages issues?
iv) Did the motion judge err in declining to award Xenos its costs of the completed liability phase of the action and in deferring the award of costs of the motion until after the damages trial?
v) Did the motion judge err in fixing costs in favour of Xenos without regard to the divided success on the motion?
D. Analysis
(1) Contract interpretation and standard of review
[35] As a preliminary matter, I note that, although Symcor originally took the position that the summary judgment motion was premature, by the time the motion was heard, both parties agreed that the interpretation of their contract was a matter that was properly determined by summary judgment.
[36] Also, it is worth observing that no issue was taken by either party on appeal with respect to the relevant principles of contract interpretation that were identified by the motion judge. Rather, Xenos contends that the motion judge erred in the application of the relevant principles, and both parties allege palpable and overriding errors in certain of the motion judge’s findings of fact.
[37] At paras. 46 to 53 of his reasons, the motion judge set out the relevant principles to guide his interpretation of the parties’ commercial contract. He noted that the contract was to be interpreted as a whole, in a manner that gives meaning to all of its terms and avoids an interpretation that would render one or more of its terms ineffective; by determining the intention of the parties in accordance with the language they have used; with regard to objective evidence of the factual matrix underlying the negotiation of the contract to the extent that there is any ambiguity in the contract; and in a fashion that accords with sound commercial principles and good business sense and that avoids a commercial absurdity: Ventas, Inc. v. Sunrise Senior Living Real Estate Investment Trust, 2007 ONCA 205, 85 O.R. (3d) 254, at para. 24.
[38] Referring to Sattva Capital Corp. v. Creston Moly Corp., 2014 SCC 53, [2014] 2 S.C.R. 633, at paras. 47, 57 and 58, the motion judge noted the need to read the contract as a whole, giving the words used their ordinary and grammatical meaning, consistent with the surrounding circumstances. He said that “surrounding circumstances” should consist of only objective evidence of the background facts at the time of execution of the contract and should never be allowed to overwhelm the words of the agreement.
[39] Both parties acknowledge that the motion judge’s decision interpreting their contract is entitled to deference. Contract interpretation involves issues of mixed fact and law and as such is generally subject to a standard of palpable and overriding error. Appellate interference is also warranted where the motion judge has made an extricable error of law. Extricable errors of law include: (1) the application of an incorrect principle; (2) the failure to consider a required element of a legal test; and (3) the failure to consider a relevant factor: Sattva, at para. 53.
[40] In Sattva, Rothstein J. warned that courts must be “cautious in identifying questions of law in disputes over contractual interpretation”, and careful to ensure that the proposed ground of appeal has been properly characterized. “The close relationship between the selection and application of principles of contractual interpretation and the construction ultimately given to the instrument means that the circumstances in which a question of law can be extricated from the interpretation process will be rare”: Sattva, at paras. 54-55.
[41] Xenos seeks to characterize the motion judge’s interpretation of the LSSA as containing extricable errors in principle and palpable and overriding errors of fact. Symcor says that the motion judge’s interpretation of the LSSA should be subject to a standard of review of palpable and overriding error. As I will explain, there is no error in principle and any error of fact did not materially inform the motion judge’s decision about the scope of and restrictions to Symcor’s licences. I would therefore not interfere with the motion judge’s interpretation of the contract. I turn now to the specific contractual interpretation issues.
(2) Is Symcor’s licence to use the d2e Software in a production environment restricted to one server?
[42] Before the motion judge, Xenos relied on three points in support of its argument that each licence is restricted to use of the d2e Software on a single server: first, that the June 19, 2001 quotation refers to a price per licence per server (an argument not pursued on appeal); second, that the IBM Agreement makes reference to a licence per server for some components supplied by IBM that are used in conjunction with the d2e Software; and third, that the three Product Schedules issued under the LSSA refer to “two non-production licences” and “one production licence”.
[43] The motion judge considered the broad terms of the LSSA, which contains no restriction on locations from which, or clients for whom, Symcor can use the Software, and Schedule A, which provides that Symcor can use any number of copies of the software on an “enterprise-wide basis”. He noted that the Product Schedules say nothing about servers, except for a reference in Product Schedule No. 2 allowing Symcor to use the software for nine months in “their current file server environment” (which was non-CMOD at the time).
[44] The motion judge found the June 19, 2001 quotation unhelpful in determining whether there was a server restriction because it was never accepted and was superceded by the LSSA. He found the IBM Agreement similarly unhelpful because it provided for a separate agreement to be entered into between Symcor and Xenos.
[45] As for Xenos’s argument that the Product Schedules refer to one production licence and two non-production licences, and so the licences must be per server, the motion judge noted that there was no evidence that Symcor provided service to its clients on a “server” basis. He stated, at paras. 73 and 74:
Xenos relies on the principle that the specific excludes the general; that the “specific” of the product schedule excludes the “general” of the licence agreement. Xenos has, in my view, turned the argument on its head. On the question of “servers” (a term that is not defined in the licence agreement and the use and function of which was not the subject of any evidence put before me), the product schedule is absolutely silent and contains no specific words of limitation that would exclude the broad usage rights conferred under the language of the licence agreement per se.
There are any number of reasons why Symcor may have wanted two development licences (which were Windows and PC-based). There is no room for an inference (as opposed to what amounts to the plaintiffs’ speculation) that the acquisition of two development licences meant they could be used on only two servers such that the acquisition of one production licence meant that it could only be used on one server.
[46] On appeal, Xenos continues to assert that the fact that Symcor acquired two non-production licences leads to the necessary inference that its single production licence was limited to use on one server. Although approached from a number of angles, this is the key argument made by Xenos – that the purchase of two test licences when one would have been enough must mean that the licences were server-restricted.
[47] Xenos says the motion judge’s interpretation contains reviewable errors.
[48] It says that the motion judge made extricable errors in principle or errors of law: first, by failing to interpret the LSSA as a whole and to give meaning to the “Quantity” term in the Product Schedules; second, by failing to use the IBM Agreement as an important and relevant aid in interpreting the LSSA; and third, by failing to adopt a commercially reasonable interpretation of the parties’ agreement.
[49] Further, Xenos says that the motion judge made palpable and overriding errors of fact in referring to the development (or non-production) licences as being “Windows and PC-based”, and in concluding that there were “any number of reasons” why Symcor may have wanted two development licences, when there was no evidence to support this conclusion.
[50] I find none of these arguments persuasive.
(a) Interpretation of the LSSA as a whole and the “Quantity” term
[51] First, the motion judge clearly approached his interpretation of the contract by looking at the contract as a whole, seeking to give meaning to all of its terms and avoiding an interpretation that would render one or more terms ineffective: Sattva, at paras. 47 and 64. The LSSA contains terms that are inconsistent with any restriction on the number of servers on which the software can be deployed. To the contrary, it provides for use of the software at “Locations” (which include any customer owned, occupied or controlled site); to process data for “[a]ny entity for which [Symcor] provides services in the ordinary course of its business”; and “on an enterprise-wide basis … without restriction on the number of copies”.
[52] As the motion judge observed, none of the schedules to the LSSA expressly or by necessary implication imports a server restriction. Schedule A states that it expands the licence and reiterates that it is for enterprise-wide use. It contains a restriction that the software is to be used with CMOD, but no server restriction. The Product Schedules, which list the components of the software being licensed, do not contain a server restriction. Xenos relies on the interpretive principle that a specific term in a contract modifies the general. This principle has no application here as there is no specific term in the LSSA, Schedule A, or any of the Product Schedules that imposes a server restriction.
[53] Xenos’s argument that the production licence is server-restricted rests almost entirely on the fact that Symcor acquired two non-production licences and one production licence. Xenos says it would be illogical for Symcor to have acquired two non-production licences when a single test licence would suffice if the software could be used on any number of servers for any number of customers.
[54] The problem with this argument was identified by the motion judge. Apart from the fact that the terms of the LSSA were inconsistent with a server restriction, there was no evidence in the record that Symcor provided services to its customers on a “server” basis and there was no explanation as to the function and use of a server. The motion judge said that there was no room for an inference that the acquisition of two development licences meant that they could only be used on two servers.
[55] Xenos attempts to extricate legal errors from this analysis. It says that the motion judge ignored the “Quantity” term in the Product Schedules. I disagree. He did not ignore the reference to “Quantity”; rather the motion judge rejected in the context of the evidence before him – including the express terms of the LSSA and its schedules – that the quantity of licences (two non-production and one production) referred to the quantity of servers on which Symcor or its customers could use the software, which was licensed for “enterprise wide use”. There was nothing in the parties’ agreement to tie the licences to use on individual servers. Xenos’s interpretation that there was a server restriction is inconsistent with the express wording of the LSSA.
(b) The impact of the IBM Agreement
[56] Second, Xenos contends that the motion judge made an extricable error of law when he failed to consider the LSSA as part of a package sold with IBM products. Xenos contends that because certain of the IBM software to be used with the d2e Software was licensed on a per server basis, the Xenos Software must also have been licensed per server.
[57] The motion judge considered the impact of the IBM Agreement and rejected Xenos’s argument. He noted, at para. 19 of his reasons, that under the IBM agreement, “[s]ome but not all, of [the] products are said to be licensed for one server.” While referring to the d2e Software licence, the IBM Agreement does not indicate the basis (server or otherwise) on which the licences for the Xenos software were granted. Moreover, the IBM Agreement specifically states that the Xenos program is licensed under the terms provided by Xenos. The fact that certain of the IBM licences being acquired under the IBM Agreement were granted on a per server basis does not mean the licences for the d2e Software were granted on the same basis.
[58] I see no error in the motion judge’s rejection of the IBM Agreement as importing a server restriction into the agreement between Xenos and Symcor. If anything, the fact that the IBM Agreement refers to certain elements of the IBM software as being “licensed by server” suggests that where software is intended to be licensed on a per server basis, this will be expressly provided for.
(c) The motion judge’s interpretation was not commercially unreasonable
[59] Third, I would reject the appellants’ argument that the motion judge adopted an interpretation of the parties’ agreement that is commercially unreasonable. As Goudge J.A. noted in Kentucky Fried Chicken Canada v. Scott’s Food Services Inc. (1998), 41 B.L.R. (2d) 42, 1998 CanLII 4427 (Ont. C.A.), at para. 27, in construing a contract a court should avoid an interpretation that would result in a commercial absurdity. He cautioned, however, that care must be taken to construe the document objectively, and not from the perspective of one contracting party or the other.
[60] There is nothing commercially unreasonable in finding that the licences granted under the LSSA were, as specified by the LSSA, for use on an “enterprise wide basis”. The argument that anything other than a per server licence would be commercially unreasonable invites the court to draw speculative conclusions in the absence of evidence about the function of servers and how the software would be deployed.
(d) The alleged palpable and overriding errors of fact
[61] Xenos contends that the motion judge made two palpable and overriding errors of fact at para. 74 of his reasons when he said, “[t]here are any number of reasons why Symcor may have wanted two development licences (which were Windows and PC-based).”
[62] First, the appellant says that the development licences were AIX-based and that the motion judge fundamentally misapprehended the evidence when he said they were Windows and PC-based.
[63] It is correct that the development or non-production licences were, according to Product Schedule No. 1, to be used on an AIX hardware platform, and in this respect the motion judge’s statement is inaccurate. That said, there was considerable evidence about how the d2e Software was to be used during the development phase. One element, Developer’s Studio (DST1), according to the evidence, is an interactive development tool that is run on individual desktop computers running the Microsoft Windows operating system. DST1 allows a person to develop and test scripts before they are deployed to servers. Xenos’s deponents referred repeatedly to the use of the d2e Software on Windows in a non-production environment, only at times qualifying the reference to DST1. On a number of occasions in his reasons the motion judge described the non-production licences as AIX-based: see paras. 28, 32, 34, 76 and 78. In the circumstances, his reference to the non-production licences being “Windows and PC-based” did not reveal a misapprehension of the evidence, and in any event was not significant in his analysis.
[64] As a second alleged error, Xenos says that the motion judge found that there were “any number of” reasons for more than one non-production licence to have been granted. Xenos says there was simply no foundation in the evidence for this finding. There was no evidence as to why two development licences were purchased; to the contrary, Xenos claims that Symcor’s witness under cross-examination, Craig Smith, admitted that if a licence permitted multiple server access there was no reason to purchase multiple licences.
[65] I reject this submission. First, I address what Xenos characterizes as an admission. Mr. Smith had no involvement in licensing the d2e Software, nor was he an expert in licence agreements. He was explaining his general understanding of “enterprise wide” use as being contradictory to a server restriction. Counsel challenged him, “So, you would never need a second license, on your interpretation; correct?” Mr. Smith responded, “Correct.” It is clear that this was not an admission that there was in fact no reason for Symcor to have acquired multiple licences unless they were in fact server-restricted, but simply a response to an argument put forward by examining counsel.
[66] Further, and more importantly, when the motion judge noted that “[t]here are any number of reasons” he was simply observing that there was not a necessary logical connection between the appellant’s argument and the conclusion it was asking the court to draw. As the motion judge observed, “server” is not defined in the LSSA and the use and function of servers was not in evidence. The relevance of a server restriction was not apparent.
[67] Before this court Symcor attempted to advance in argument an explanation for why two non-production licences were acquired, having to do with the fact that the DST1 component (which is Windows-based and used on individual PCs) would translate into multiple “seats”, permitting multiple users to engage with the software at the same time.
[68] Whether or not that is the explanation, it was not necessary for the motion judge to determine the reason why more than one test licence was acquired before he rejected Xenos’s “one licence equals one server” argument. The motion judge was not prepared to accept the inference that the acquisition of two non-production licences meant that the licences had to be server-restricted. And while Symcor’s initial use of the Software may have been for a single customer, there is nothing in the record indicating that individual customers are tied to individual servers or for that matter suggesting that a single server would be used to service one customer.
[69] In all the circumstances, I do not find any extricable error of law or palpable and overriding error of fact in the motion judge’s interpretation of the LSSA as not containing a server restriction. The inferences that Xenos asked the court to draw were not clearly available on the record and were, as the motion judge observed, “too thin a reed” to justify the server restriction Xenos advocated.
(3) Is Symcor’s licence to use the d2e Software restricted to use on the AIX operating system?
[70] The motion judge accepted that Symcor’s licence to use the d2e Software was restricted to use on the AIX operating system. As such, its use on other operating systems in a production environment was in breach of contract and constituted copyright infringement within the meaning of the Copyright Act.
[71] Before the motion judge, Xenos relied on the fact that all three of the Product Schedules under the LSSA describe the d2e Software as being licensed for use on an AIX hardware platform.
[72] Symcor argued that the reference to AIX under the column “Hardware Platform” in the Product Schedules was descriptive only, telling the user what the d2e Software was designed to work on rather than constituting a limitation on its licence. The motion judge rejected this argument at para. 78 of his reasons, stating:
This argument, in my view, misconceives the purpose of the product schedule. The product schedule is not, properly construed, merely explaining what the d2e software was designed to work on, as if it was a warranty or representation. The product schedule, under the licence agreement, constitutes the definition of the software “to be licensed”. In that context, the software that was licensed was code or modules for use on the AIX platform. Symcor’s use on another platform was not within the use contemplated under the 2001 licence agreement.
[73] The motion judge then considered post-contract conduct as confirmatory of the conclusion he reached on the plain wording of the contract. In the 2007 discussions about the scope of Symcor’s licence, Xenos confirmed that the d2e licence was all “on AIX” and provided a quote for the purchase of a licence for use of the software on other operating systems.
[74] Symcor contends that the motion judge made a palpable and overriding error in finding that its licence to use the d2e Software was restricted to use on the AIX operating system. Symcor makes three main submissions.
[75] First, Symcor repeats its argument before the motion judge that the reference to the “Hardware Platform AIX” in the Product Schedules is merely descriptive, and not a usage restriction. Symcor says that a Product Schedule merely describes the software being supplied, and that any usage restriction must be contained in the licence agreement. Symcor contends that the reference to AIX is a description of the functionality of the software being provided (that it functions on the AIX operating system) and does not by implication amount to a restriction on use.
[76] I would not give effect to this argument. Contrary to Symcor’s assertion, the Product Schedules are an integral part of the licence agreement and define or specify the software to be licensed. The motion judge observed that, pursuant to the LSSA, the Product Schedules constitute the definition of the “Software to be licensed”, and thus the terms of the Product Schedules, such as “Hardware Platform AIX”, properly construed, are not merely explanations of how the software will work, but limitations on the scope of Symcor’s licensed use. The “Hardware Platform” is specified for each element of the software, and as such is an integral part of the definition of the software being licensed.
[77] Further, the evidence of the parties’ affiants was consistent on the question of the d2e Software being platform and operating system dependent. Xenos’s affiant said that there are different versions of the d2e Software, created to run on computers running different operating systems. The d2e Software is platform and operating system dependent, and as such, is licensed for individual operating systems and platforms. Symcor’s witness agreed that the d2e Software is platform and operating system dependent, and that different versions are engineered to work on different operating systems, such as AIX, Solaris/Linux and Microsoft Windows.
[78] Symcor’s second argument is that the motion judge erred by relying on Product Schedules No. 1 and No. 2 as they contain an obvious error and were not prepared with any care. The error is the listing of “AIX” in the “Hardware Platform” column associated with DST1, which everyone agrees is run on Windows.
[79] The fact that the Product Schedules contain this admitted error is of no moment. It was open to the motion judge to conclude that the Hardware Platform column in the Product Schedules prescribed the hardware platform in respect of which the software was licensed, even if there was a mistake in one of the items listed in the column. Whether or not a Product Schedule was prepared with care, the function of the Product Schedules was to describe the licensed software, including relevant terms and limitations on its use.
[80] Symcor’s third argument (that was apparently made in passing before the motion judge, but is not referred to in his reasons) is based on the “Disabling Event” provisions of the LSSA. Section 9.3 of the LSSA provides that Symcor will be invoiced for additional fees for Consultancy Services if an error or defect in the Software is due to a Disabling Event, which includes “use of the Software other than with the Hardware”. Symcor argues that the use of d2e Software other than on the described hardware is specifically contemplated by the LSSA. As such, using d2e Software outside AIX is merely a Disabling Event, and not a breach of Symcor’s licence.
[81] I disagree. The fact that Symcor is required to pay for technical support required as a result of the software’s unintended use does not mean that Xenos granted a licence for such use. In fact, this provision supports the argument that the software was licensed for use with particular hardware. When used as contemplated, technical support is included in the specified Annual Support Fees. When used otherwise, additional fees are required for extra-contractual “Consultancy Services”. Each of the events listed as Disabling Events (and there are many in addition to use of the Software other than with the Hardware) represents a use of the Software in a manner in which it is not intended to be used under the LSSA. The “Disabling Event” provisions of the LSSA therefore do not assist Symcor in avoiding the AIX restriction contained in the Product Schedules.
[82] Finally, Symcor argues that the motion judge, in considering confirmatory evidence, ignored certain other evidence, including the fact that senior management at Xenos was aware of Symcor’s use of d2e Software on Windows in a production environment. I do not find any error in the motion judge’s reference to confirmatory evidence, which, in any event, he said was “confirmatory, rather than dispositive, of the conclusions reached on the plain words of the contract.” It was reasonable and appropriate for the motion judge to have regard to the parties’ specific communications about the scope of the licence and whether it was limited to use on AIX. To the extent that senior management were aware of the use of the software on other operating systems, this is relevant to the issue of estoppel (and will be addressed in more detail below).
(4) The estoppel defence
[83] In its Amended Statement of Defence, Symcor asserted that, if the various uses of the d2e Software complained of by Xenos in the action constituted a breach of the LSSA, “Xenos through its post-contractual conduct consented to the use of the d2e Software in a Windows platform and/or in a non-CMOD environment…[and] is estopped from alleging a breach of the [LSSA]”.
[84] Symcor also asserted that, to the extent that Xenos’s claim refers to damages suffered prior to January 25, 2010, Xenos’s claims are statute barred pursuant to the Limitations Act, 2002, S.O. 2002, c. 24, Sched. B as well as section 43.1 of the Copyright Act.
[85] The motion judge declined to dismiss Xenos’s motion for summary judgment on the basis of the estoppel defence, and ordered the limitation defence to proceed as part of the damages trial.
[86] In respect of both defences, Symcor relied on evidence that Xenos employees who provided technical support for the d2e Software knew that Symcor was using the software on both AIX and Windows (and thus, by inference, without CMOD) in a production environment from 2004 onwards and continued to provide support for this usage without objection. Symcor argued that this evidence gave rise to the defence of estoppel and to a limitation defence. Symcor also pointed to the fact that Xenos had the ability under the LSSA to monitor and audit the use of its licences and had failed to do so.
[87] The motion judge considered evidence from three individuals at Xenos who had worked in its customer and professional services and support groups. They deposed that neither they nor anyone in technical support roles working with or under them knew about, or were responsible for knowing or ensuring compliance with, the terms and conditions of Xenos’s customers’ product licences. The motion judge noted that there was no serious challenge to this evidence.
[88] The motion judge also stated that the mere fact that a party does not strictly police and vigilantly enforce its legal rights does not necessarily mean that it has amended the contract or lost those rights through estoppel. He referred to the non-waiver provision in the LSSA as well as the requirement that any amendment or variation to the LSSA be in writing and signed by each of the parties.
[89] He noted that there is a significant evidentiary burden on a party seeking to establish estoppel by conduct. He said it was at least necessary for the relevant employee who was said to have knowledge of the alleged breach to have “knowledge of the terms of the licence, responsibility for ensuring compliance and apparent authority to effect a change in licence-related legal relations.” The motion judge stated that there was simply no evidence that the technical support workers had such knowledge, responsibility or apparent legal authority. Nor was there any evidence that Symcor’s contravening use of the d2e Software “ever came to the attention of anyone at Xenos who did have knowledge, responsibility or authority over licensing matters before 2011.”
[90] Symcor also argued before the motion judge that it would be premature to determine its defences in the summary judgment motion because the evidentiary record to advance the defences was incomplete. Documentary production from Xenos was deficient and, although there were cross-examinations on affidavits, examinations for discovery had not taken place.
[91] The motion judge rejected Symcor’s argument that the determination of its defences was premature because it needed to examine more employees or former employees to explore the limits of their authority or to require Xenos to produce more documents. He stated that it was incumbent on Symcor to seek to obtain such additional evidence in advance of the motion, including if necessary taking steps to obtain more documents or to examine more potential witnesses.
[92] The motion judge therefore concluded that on the record before him there was no genuine issue requiring a trial on the estoppel defence. He declined to dismiss the motion for summary judgment on that basis.
[93] The motion judge noted that Symcor’s limitation defence relies on the same facts and suffers from the same frailties as the estoppel defence. However, he stated that the limitation issue is, to a significant extent, premature because there will necessarily have to be a trial on damages in any event. The licence breaches are ongoing. The limitation defence would, at best, reduce the number of years for which Xenos could seek damages.
[94] For those reasons, the motion judge declined to dismiss the motion for summary judgment on the basis of the limitation period defence. He stated, however, that the limitation period defence would be a component of the damages hearing and for that reason the appropriate order was for a trial on the issue of damages rather than a reference.
[95] Whether there is a genuine issue requiring a trial is a question of mixed fact and law. Absent any palpable and overriding error or extricable error in principle, the exercise by a summary judgement motion judge of his fact-finding powers under rule 20.04(2.1) should not be overturned: Hryniak v. Mauldin, 2014 SCC 7, [2014] 1 S.C.R. 87, at para. 81.
[96] Symcor asserts that the motion judge made reviewable errors in disposing of its estoppel defence with respect to the AIX hardware restriction in Xenos’s summary judgment motion.
[97] First, Symcor asserts that the motion judge made a palpable and overriding error in stating that there was no evidence that anyone at Xenos with knowledge, responsibility or authority over licensing matters knew of the breaches before 2011. Second, Symcor contends that it was illogical for the motion judge to dismiss the estoppel defence while allowing the limitation defence, which depends on the same facts, to proceed to trial. Symcor also asserts that it was not proportional and just for the motion judge to determine the estoppel defence at a summary judgment motion, when it did not have the opportunity to obtain full production from Xenos and conduct examinations for discovery.
[98] I would give effect to Symcor’s first two arguments on this issue.
[99] For the purpose of its cross-appeal, Symcor does not quarrel with the motion judge’s conclusion that an estoppel could only arise if the conduct relied upon was that of Xenos personnel with knowledge of and responsibility for the licences and apparent authority to effect a change in licence-related legal relations. The motion judge, however, stated that there was no evidence that anyone with such authority at Xenos knew of the breaches before 2011.
[100] There was in fact evidence in the record of communications within Xenos that included the responsible account managers in 2005 and 2007, where it was apparent that Symcor was using the d2e Software on the Windows operating system. In 2005, an account manager was forwarded a support ticket from service personnel that showed Symcor was using a component of the d2e Software on Windows. The account manager was asked to follow up with Symcor on the issue. In 2007, an account manager received an email from an application developer at Symcor who stated that “[w]e currently have d2e platform in use on Windows and AIX.” A September 2007 email to a different account manager from a Symcor project manager stated that their current installation of d2e Software ran only on AIX and Windows. According to Xenos’s affiants, the account managers would have been familiar with Symcor’s licensed usage.
[101] Xenos offers a different interpretation of the latter two emails: that they may have been understood by the responsible account manager as referring only to the use of the DST1 element (which was licensed for use on Windows), and that they are ambiguous as to whether the Software was being used in a production or test environment. Whether or not that is the case, I agree with Symcor that this evidence is material and undermines the motion judge’s conclusions about estoppel. His dismissal of the estoppel defence was not based on a rejection of Symcor’s evidence that Xenos’s support representatives knew that Symcor used d2e Software on Windows. Recall that Xenos’s position was that no one at Xenos knew of the “unlicensed” use because the service personnel did not have responsibility for or knowledge of the licence restrictions. In dismissing the estoppel defence, the motion judge relied heavily on his finding that there was no evidence that anyone other than support personnel were aware of the use of the Software outside the scope of the licence. This finding, in the circumstances, was a palpable and overriding error.
[102] Xenos argues that, even if the motion judge did not consider certain evidence, the non-waiver provision in the LSSA would preclude Symcor’s reliance on an estoppel defence. Although mentioned in his reasons, the motion judge did not give any detailed consideration to the effect of the non-waiver provision in the LSSA. Estoppel can operate to prevent a party from relying on its contractual rights. As such, a non-waiver provision in a contract is not necessarily a bar to the application of estoppel. Rather, it is one factor, and often an important factor, to be considered: see D.L.G. & Associates Ltd. v. Minto Properties Inc., 2015 ONCA 705, 391 D.L.R. (4th) 505, at para. 45; see also Manitoba Pool Elevators v. Gorrell (1998), 1998 CanLII 27818 (MB QB), 127 Man. R. (2d) 4 (Q.B.). The motion judge did not base his rejection of the estoppel defence on the non-waiver provision, and, at this stage, neither would I.
[103] As such, I am unable to accept the motion judge’s conclusion that there was no genuine issue requiring a trial with respect to Symcor’s estoppel defence. While this is sufficient to allow this aspect of the cross-appeal, I also accept Symcor’s argument that if, as the motion judge observed, both defences rely on the same facts (it is probably more accurate to say that some of the same evidence will be relevant to each of these issues), it would make sense for the estoppel issue to proceed to trial together with the limitation issue. Accordingly, this issue should proceed to trial for a determination of whether Xenos is estopped from asserting that Symcor’s use of the d2e Software on Windows constituted a breach of the parties’ agreement, and accordingly its copyright. The limitation defence and the determination of damages should be dealt with at the same trial.
[104] Symcor also argues that the motion judge failed to consider the overall proportionality and justness of determining Symcor’s estoppel defence in the summary judgment motion. In responding to the motion, Symcor had to build a defence based on information and documentation that was in Xenos’s possession, without the benefit of discovery. Additional examinations of Xenos personnel and motions for production (which the motion judge suggested were necessary for Symcor to put its “best foot forward”), would only have prolonged the summary judgment proceedings, and where a lengthy trial on damages was necessary in any event, Symcor says that was not a reasonable approach. While I have considerable sympathy for this submission, I find it unnecessary to deal with it, as I have concluded that the estoppel issue should proceed to trial because of the evidence that was not considered by the motion judge.
(5) Costs appeal and cross-appeal
[105] The motion judge determined that Xenos was entitled to partial indemnity costs fixed at $280,000 (inclusive of disbursements and applicable taxes), but directed that whether Xenos should actually be awarded those costs shall await the determination of its success at the damages trial. The motion judge noted that a deferral of the costs award was appropriate because Symcor had made an offer (which was not disclosed) to settle the entire action. Immediate payment of costs to Xenos would be inappropriate given Symcor’s outstanding Rule 49 offer, the effect of which could not be determined until damages were established at trial. If entitlement to costs of the motion was decided immediately, Symcor would be deprived of the right under rule 49.10(2) of the Rules of Civil Procedure, R.R.O. 1990, Reg. 194, to seek the cost consequences benefit of having made a monetary offer to settle the entire action.
[106] The motion judge noted that the only reason the issue came up at all was because Xenos chose to bifurcate the issues of liability and damages by bringing a motion for summary judgment on liability alone.
[107] Xenos contends that it was an error in principle for the motion judge to depart from the general rule that costs of a contested motion are fixed and payable within 30 days, on the basis of Symcor’s undisclosed offer to settle.
[108] I would not give effect to this ground of appeal. There was no error in the motion judge’s approach to the issue of costs, which was sensible. The motion judge was dealing with a summary judgment motion on liability only. Xenos chose to bring the matter forward on that basis. Rule 57.03(1) provides for costs of a contested motion to be fixed (or in an exceptional case referred for assessment) and ordered paid within 30 days “unless the court is satisfied that a different order would be more just”. The motion judge exercised his discretion in making such an order when he fixed the costs in favour of Xenos but left the determination of whether Xenos should be awarded its costs to the trial judge. This order permits the necessary flexibility in the event that Xenos, after trial, is awarded no damages or damages less than are provided for in Symcor’s outstanding offer.
[109] As for Symcor’s argument that the amount of Xenos’s costs ought to have been reduced because of divided success on the motion, I would not interfere with the motion judge’s assessment, based on the outcome of the motion as he decided it, that Xenos was substantially successful on the motion, and was entitled to its costs subject to the outcome of the trial.
[110] While I would not give effect to either party’s argument with respect to the motion judge’s disposition of costs of the summary judgment motion, I would nevertheless set aside the costs order in light of Symcor’s partial success on its cross-appeal.
E. Disposition
[111] For these reasons, I would dismiss the appeal and allow Symcor’s cross-appeal in part. I would direct that the issue of whether Xenos is estopped from asserting that Symcor’s use of the d2e Software on a non-AIX operating system constituted a breach of the LSSA and its copyright, shall proceed to trial together with the limitation defence and damages. I would also remit the matter of costs of the motion to the motion judge for reconsideration in light of these reasons.
[112] The parties agreed to costs of the appeal and cross-appeal in the sum of $70,000 inclusive of applicable taxes and disbursements to the successful party. Since success was divided before this court, I encourage the parties to reach an agreement respecting costs of the appeal and cross-appeal. If the parties are unable to resolve the matter of costs of the appeal and cross-appeal, they may file with the court written submissions limited to five pages each, exclusive of their costs outlines, within 15 days of the date of release of these reasons.
Released: “EEG” March 18, 2016
“K. van Rensburg JJ.A.”
“I agree E.E. Gillese J.A.”
“I agree B.W. Miller J.A.”
[^1]: The motion judge granted the appellants’ request for an order transferring and transmitting Xenos IP’s interest in this action to Actuate Corporation and amending the title of proceedings to substitute Actuate Corporation as a plaintiff in place of Xenos IP.
[^2]: Xenos Group, Inc. was authorized to sub-license the use of the d2e Software in Canada. It became Actuate Canada Corporation through a series of amalgamations in 2010.
[^3]: AIX is referred to as an “operating system”, a “hardware platform”, and a “hardware system” in the motion judge’s reasons and in the evidence that was before him. In these reasons, AIX will be referred to as an “operating system” except where quoting verbatim from a document.
[^4]: Other relief was sought in the motion which was not ordered by the motion judge and is not material to this appeal.

