Supplemental Conditions, Software Development or Modification Services (OCEO-SC-006)
Article 1 – Interpretation
Section 1.01 – Definition
In the Contract, unless the context otherwise requires:
"Custom Software" means the computer programs, databases and documentation that Elections Canada wishes to develop, or to have developed, either as new software or by modification of existing software, all as described in the Contract;
"Detailed Design Specifications" means the specifications for the detailed technical design of the Custom Software;
"Functional Specifications" means the functional description of the Custom Software set out or referred to in the Contract specifying the functions the Custom Software must perform and the features and capacities the Custom Software must have;
"General Conditions" means the general conditions that form part of the Contract;
"Media" means the material or medium on which the Developed Custom Software (as such term is defined in Article 15 below), or any part of it, are stored for delivery to Elections Canada, including electronic media such as magnetic disks or electronic downloads. Media does not include the Developed Custom Software stored on the media.
Words and expressions defined in the General Conditions and used in these supplemental conditions have the meanings given to them in the General Conditions unless provided otherwise. If the general conditions contain sections entitled "Ownership" or "Warranty", those sections do not apply to the Custom Software and the Media. Instead the ownership and warranty provisions in these supplemental conditions apply to the Custom Software and the Media.
In the event of any inconsistency between the General Conditions and these supplemental conditions, the applicable provisions of these supplemental conditions will prevail.
Part I – Development of Functional Specifications and Detailed Design
Article 2 – Application of Part I
This Part only applies if the Contract requires the Contractor either to design the Custom Software or to further develop an existing technical design for the Custom Software.
Article 3 – Functional Specifications
The Functional Specifications developed by the Contractor under the Contract and accepted by Elections Canada are incorporated in the Contract by reference and supersede any functional specifications that were originally incorporated in the Contract.
Article 4 – Detailed Design Specifications
The Contractor must develop the Detailed Design Specifications for the Custom Software in accordance with the Functional Specifications and all other requirements of the Contract.
Article 5 – Inspection Procedures for Detailed Design Specifications
The inspection procedures set out below will only apply in the absence of any other inspection procedures in the Contract.
In this section, "Review Period" means a period of five (5) working days from the date on which the Detailed Design Specifications must be submitted to Elections Canada or from the actual date of submission of those specifications by the Contractor, whichever is later.
Elections Canada may extend the Review Period by an additional five (5) working days by giving notice to the Contractor within the Review Period.
During the Review Period, Elections Canada will inspect the Detailed Design Specifications submitted by the Contractor and, within two (2) working days following the end of the Review Period, will advise the Contractor whether or not the Detailed Design Specifications have passed inspection.
If the Detailed Design Specifications submitted by the Contractor are inconsistent with the Functional Specifications or fail in any other way to meet the requirements of the Contract, Elections Canada will send a written description of the deficiencies to the Contractor within two (2) working days following the end of the Review Period.
Upon receipt of Elections Canada's description of the deficiencies mentioned in Subsection 5.01.05, the Contractor must immediately modify the Detailed Design Specifications to correct the deficiencies and promptly submit the corrected work to Elections Canada for inspection.
During a second Review Period, Elections Canada will inspect the corrected work submitted to Elections Canada pursuant to Subsections 5.01.04 and 5.01.05.
Despite anything else contained in this section, the Contractor must ensure that the Detailed Design Specifications developed by the Contractor pass inspection by Elections Canada within thirty (30) days of their original delivery date set out in the Contract.
Part II – Implementation of Custom Software
Article 6 Coding and Pre-Installation Tests
The Contractor must develop the Custom Software based on the Detailed Design Specifications and the Functional Specifications. In the development of the Custom Software, the Contractor must carry out all detailed programming and coding required under the Detailed Design Specifications, and, if necessary, must revise the Detailed Design Specifications in order to ensure that they are derived from and are consistent with the Functional Specifications and all other requirements of the Contract.
The Contractor must conduct pre-installation testing to ensure that the Custom Software will operate in accordance with the Functional Specifications and all other requirements of the Contract. The Contractor must notify Elections Canada of all such tests. Upon request from Elections Canada, the Contractor must give Elections Canada an opportunity to witness those tests and provide Elections Canada with a copy of all intermediate and final test records and results.
Article 7 – New Source Code
In this section, "New Source Code" means all of the source code for the Custom Software that is written by the Contractor or any subcontractor as part of the Work performed under the Contract.
The Contractor must deliver the New Source Code to Elections Canada at such time or times as the Contract may require, and if no time is specified in the Contract, within thirty (30) days following acceptance of the Custom Software by Elections Canada.
The New Source Code provided by the Contractor must contain a complete description of the operation of the developed software in sufficient detail to enable a programmer, experienced in the programming language or languages in which the source code is written, to modify all aspects of that software without assistance from the Contractor.
Article 8 – Pre-existing Software
In this section, "Pre-existing Software" means software that is not developed as part of the Work performed under the Contract and that is proprietary to the Contractor or any of its subcontractors or to a third party.
The Contractor must not develop the Custom Software by modifying Pre-existing Software or incorporate any Pre-existing Software into the Custom Software without first obtaining the written consent of Elections Canada. However, the consent of Elections Canada is not required if the use of Pre-existing Software is specifically authorized in the Contract.
If Pre-existing Software forms part of the Custom Software, unless provided otherwise in the Contract, the Contractor must, within thirty (30) days following acceptance of the Custom Software by Elections Canada, at its option and expense, either:
- deliver the source code for that software to Elections Canada; or
- deliver the source code to an escrow agent approved by Elections Canada, to be held in trust by that agent, for release to Elections Canada upon the occurrence of any of the following events:
- Elections Canada terminates either the Contract or any subsequent support or development arrangement relating to the Custom Software for default;
- the Contractor or its supplier ceases to do business or ceases to make support or development services in relation to the Custom Software reasonably available to Elections Canada;
- the Contractor or its supplier becomes bankrupt or insolvent, makes an assignment for the benefit of creditors, or takes the benefit of any statute relating to bankrupt or insolvent debtors;
- a receiver is appointed for the Contractor or its supplier under a debt instrument, or a receiving order is made against the Contractor or its supplier; or
- an order is made or a resolution passed for the winding up of the Contractor or its supplier.
The source code delivered by the Contractor to Elections Canada or to any escrow agent, in relation to any Pre-existing Software that forms part of the Custom Software, must contain a complete description of the operation of that Pre-existing Software in sufficient detail to enable a programmer, experienced in the programming language or languages in which the source code is written, to modify all aspects of that software without assistance from the Contractor. If the source code for the Pre-existing Software is delivered to an escrow agent, the Contractor must ensure that the source code in the possession of the escrow agent is updated from time to time to correspond with the most current version of the object code in the possession of Elections Canada.
Unless provided otherwise in the Contract or in any escrow agreement signed by Elections Canada, Elections Canada's rights to use, copy, modify and disclose any Pre-existing Software supplied under the Contract and any source code for that software must be identical to those set out in Supplemental Conditions - Licensed Software.
Article 9 – Object Code and User Documentation
Without limiting any of the Contractor's other obligations under the Contract, including its obligation with respect to the supply of source code, the Contractor must provide the Pre- existing Software and Custom Software to Elections Canada in executable object code.
The operating manuals, technical manuals and other user documentation provided by the Contractor to Elections Canada for use with the Custom Software must describe the operation of the Custom Software in sufficient detail to enable appropriately trained employees of Elections Canada to use all functions and features of the Custom Software without assistance from the Contractor.
Article 10 – Conversion of Data Files
The Contractor must convert, as required in the Contract, Elections Canada's machine-readable data files, as they exist on any existing computer system used to fulfill all or part of the then-current functional requirements of Elections Canada, to data files designed for use with the Custom Software. Elections Canada is responsible for the accuracy and the completeness of data files delivered to the Contractor. The Contractor is responsible for the accuracy and completeness of the data files after conversion and for the compatibility of such data files with the Custom Software.
Article 11 – Acceptance Procedures for Custom Software
The acceptance procedures set out in Subsections 11.01.02 to 11.01.05 inclusive only apply in the absence of any other detailed acceptance procedures for the Custom Software in the Contract.
Elections Canada must prepare and provide to the Contractor acceptance test data before the date specified in the Contract for the start of pre-installation testing of the Custom Software. Elections Canada will consult with the Contractor in connection with the preparation of such data and the Contractor must assist in such preparation to the extent indicated in the Contract. Elections Canada and the Contractor will use such data to determine whether the Custom Software, when executed on the hardware and its operating system, performs in accordance with the Functional Specifications and all other requirements of the Contract. Unless otherwise agreed, the test data must be in the format and media required for direct input to the computer system, as provided in the Detailed Design Specifications.
Following receipt of the acceptance test data referred to in Subsection 11.01.02, and before the date specified in the Contract for the start of acceptance testing of the Custom Software (the "Test Start Date"), the Contractor must provide an "Acceptance Test Plan" to Elections Canada for Elections Canada's review and approval. The Acceptance Test Plan must consist of a description of a series of tasks and verifications, based on the acceptance test data, in sufficient detail to enable Elections Canada and the Contractor to determine whether the Custom Software performs in accordance with the Functional Specifications and all other requirements of the Contract.
On the Test Start Date, Elections Canada must commence the acceptance tests in relation to the Custom Software using the pre-approved Acceptance Test Plan referred to in Subsection 11.01.03. The acceptance tests must be conducted during the period of time specified in the Contract. If no other acceptance testing period is specified in the Contract, the acceptance tests must be conducted over a 40-day period from the Test Start Date. If the Custom Software passes the acceptance tests and if the Contractor has completed all other work under the Contract in accordance with the conditions of the Contract, Elections Canada will promptly give notice to the Contractor that the Custom Software is accepted.
If the Custom Software fails to pass the acceptance tests referred to in Subsection 11.01.04, Elections Canada will send a written description of the deficiencies to the Contractor within ten (10) days following the end of the acceptance testing period referred to in that subsection. Upon receipt of Elections Canada's description of the deficiencies, the Contractor must modify the Custom Software to correct the deficiencies within ten (10) days of receipt of such description. All acceptance tests in relation to the Custom Software must then be repeated, at no additional cost to Elections Canada, and the Contractor must ensure that the Custom Software passes the second set of acceptance tests within the acceptance testing period specified in Subsection 11.01.04.
Despite anything else contained in this section, if Elections Canada is unable to commence or continue the acceptance tests in relation to the Custom Software because of an event reasonably beyond its control, the acceptance tests may be temporarily suspended for a period of time not to exceed sixty (60) days. The time limits for testing referred to in this section or elsewhere in the Contract will in such cases be extended by the number of days of the suspension. If the delay exceeds sixty (60) days, the Parties must use reasonable efforts to negotiate a mutually acceptable amendment to the Contract.
Article 12 – Warranty
In this section, unless provided otherwise in the Contract, "Warranty Period" means a period of ninety (90) days commencing on the date of acceptance of the whole of the Work by Elections Canada, with the exception only of warranty work.
Despite inspection and acceptance of the Custom Software by Elections Canada and without restricting any condition of the Contract or any condition, warranty or provision imposed by law, the Contractor warrants that, during the Warranty Period, the Custom Software will perform in accordance with the Functional Specifications and all other requirements of the Contract on the computer system on which the Custom Software is installed under the Contract.
During the Warranty Period, if Elections Canada notifies the Contractor in writing of any failure of the Custom Software to perform in accordance with the Functional Specifications or any other requirement of the Contract, the Contractor must, as soon as possible, provide, at no additional charge to Elections Canada, corrections to the Custom Software. If Elections Canada reports a failure to the Contractor, Elections Canada must give the Contractor reasonable access to the computer system on which the Custom Software resides and provide such information as the Contractor may reasonably request, including sample output and other information, in order to permit the Contractor to expeditiously correct the error which caused that failure.
Although the Contractor must use all reasonable efforts to provide permanent corrections for all software errors, Elections Canada acknowledges that certain errors may not be permanently corrected by the Contractor under this section. The Contractor must provide a software patch or by-pass around the error in all cases where the error will not be permanently corrected. As a minimum, any such software patch or by-pass must cause the Custom Software to meet the functional and performance criteria set out in the Functional Specifications.
The Contractor is not obligated to correct errors in the Custom Software which result from modifications to the Custom Software or any part of it unless those modifications were made by the Contractor or by someone authorized by the Contractor to perform those modifications.
Part III – Ownership and Risk
Article 13 – Ownership of Media
All media containing the Developed Custom Software becomes the property of Elections Canada upon either delivery to Elections Canada of the Work or upon any payment being made to the Contractor for or on account of the media or the information stored on it, whichever comes first. It is agreed however that the transfer of ownership of the media to Elections Canada does not constitute acceptance by Elections Canada of the media or of the information stored on it and it does not relieve the Contractor of its obligation to perform the Work in accordance with the requirements of the Contract.
Article 14 – Risk of Loss
Risk of loss of or damage to the media or to the Developed Custom Software stored on it, or to any part of them, will pass to Elections Canada upon delivery of the media to Elections Canada. However, if the Contractor has retained a copy of the information that was stored on the media, the Contractor must, upon request by Elections Canada, replace the lost or damaged media and information at no additional charge to Elections Canada except for costs reasonably and properly incurred in the carrying out of such replacement.
Despite Subsection 14.01.01, the Contractor will be liable for loss of or damage to the media and the Developed Custom Software stored on it that is caused by the Contractor or any of its subcontractors after delivery.
Article 15 – Ownership of Developed Custom Software
For the purposes of this section, "Developed Custom Software" includes object code, source code, documentation, databases, specifications, designs, prototypes and other related information conceived, developed or produced as part of the Work performed under the Contract.
The Developed Custom Software belongs either to Elections Canada or to the Contractor, whichever is indicated in the intellectual property provisions of the Contract. If the Developed Custom Software belongs to the Contractor, the Contractor grants to Elections Canada the license with respect to the Developed Custom Software set out or referred to in those provisions.