SOFTWARE LICENCE AGREEMENT
Exhibit 10.28
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
StormMQ — Xxxxx Software Licence Agreement
THIS AGREEMENT (“Agreement”) is made on this 31st day of May, 2011, by and between Xxxxx Electric Vehicles US Corp. (“Xxxxx”), a Delaware, USA company with its principal place of business at 00000 X.X. Xxxxxxxxxx Xxxxx, Xxxxxx Xxxx, XX 00000 94303, USA, and StormMQ Limited (“StormMQ”), a UK company with its principal place of business at Gateshead International Business Centre, Xxxxxxxx Xxxxxxx, Xxxxxxxxx, XX0 0XX, Xxxxxx Xxxxxxx, WHEREIN:
(A) Xxxxx is a manufacturer of electric commercial vehicles. The Xxxxx market (“Market”) is defined as the sale and operation of vehicles which are:
1) Wholly powered by electric batteries (eg excluding vehicles powered by internal combustion engines, and excluding hybrid vehicles);
2) Vehicles with gross vehicle weight (GVW) of between 6000lbs and 33000lbs; and
3) Sold only into the commercial vehicle market.
(B) StormMQ are a provider of software products and cloud-based services related to message queuing and message delivery service, including those based on the AMQP protocols (which capabilities are collectively or individually a “Messaging Service”).
(C) The “Xxxxx Messaging Purpose” is to utilise a Messaging Service to remotely monitor and control the performance and behaviour of certain complex components built at the point of manufacture into a Xxxxx-manufactured electric commercial vehicle suitable for the Market.
1. Licence. StormMQ grants, and Xxxxx accepts, a non-transferable, world-wide 16 calendar month licence (“Initial Term”) for Xxxxx to use the Software Solution (as identified in Schedule A to this Agreement). The licence shall be exclusive for Xxxxx’x world-wide use of the Software Solution for the Xxxxx Messaging Purpose in the commercial areas defined as the Market for the first two (2) years of the Initial Term (“Exclusivity Term”). Xxxxx has no right to transfer its licence to use the Software Solution to any other person or entity. Xxxxx may, at its own expense and without any support requirement by StormMQ, modify the Software Solution as necessary for the Xxxxx Business Purpose, defined herein. The Xxxxx Business Purpose comprises the use of the Software Solution as an interface with Xxxxx’x clients. Except for the Xxxxx Business Purpose, Xxxxx has no right (and shall not permit any third party) to copy, reverse engineer, adapt, decompile, disassemble, modify or make error corrections to the Software Solution (in whole or in part) except (i) where the rights in Section 10 are triggered or (ii) to the extent that reduction of the software to human readable form is necessary for the purpose of integrating the software with the operation of other software or systems used by Xxxxx. The licence granted herein to Xxxxx shall not be sub-licensed, assigned or novated to any other party, nor shall Xxxxx permit the licence or any part of the Software Solution to become the subject of any charge or encumbrance. The Initial Term will commence on the date of this Agreement. In the event that StormMQ develops alternative Messaging Service or software solutions (in addition to those identified in Schedule A) which would suit the Xxxxx Messaging Purpose, the Parties, after an evaluation, may by mutual consent agree to terminate this Agreement and negotiate a new replacement agreement. At the expiry of the Initial Term or any mutually-agreed extensions of the Initial Term, this Agreement will continue thereafter until terminated on 90 days written notice by either Party or otherwise by reason of breach set out in Section 9 below.
2. Fee; Audit. In consideration for the grant of the licence and the use of the Software Solution, Xxxxx agrees to pay StormMQ the Fees set forth in Schedule B to this Agreement, commencing on the date of this Agreement and continuing until this Agreement is terminated. All sums paid shall be inclusive of all taxes, shall be paid in US dollars, shall be wire transferred to an account identified by StormMQ, and shall be payable monthly in advance, net 30 days. Any overdue payment of Fees will be subject to interest charges at the discretion of StormMQ, such interest to be calculated according to common UK practice and at typical interest rates for defaulting payments. Xxxxx shall keep complete, accurate and up-to-date records of the number of vehicles in respect of which the Software Solution is being used and in respect of which there are fees due under the licence granted herein and to produce such records on request made by StormMQ from time to time. Xxxxx shall also provide StormMQ directly with copies of any public data published from time to time relating to the numbers of vehicles in use to which the licence granted herein relates. StormMQ shall be permitted the right, at reasonable times and on reasonable notice, to have access to and inspect Xxxxx’x premises where the Software Solution is kept, deployed, operated, monitored, controlled or otherwise used in order to ensure compliance with the licence granted herein.
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
3. Messaging Exclusivity. During the period of the Exclusivity Term, Xxxxx agrees to use StormMQ’s Messaging Capabilities.
4. Exclusions to Licence Exclusivity. Throughout the duration of this Agreement, StormMQ will not be excluded from providing parts of the Software Solution as a service or a product to other commercial partners involved in the Market if those partners do not deploy the Software Solution for a purpose similar to the Xxxxx Messaging Purpose. Examples of purposes that would be permitted include (without limitation) asset tracking or task/job allocation services.
5. Warranty of Functionality. StormMQ warrants that the Software Solution shall conform in all material respects with the Software Specifications (as defined in Schedule C to this Agreement), as verified from time to time during Xxxxx’x acceptance testing and quality assurance processes for each implementation and application by Xxxxx of the Software Solution (such processes to be agreed using best endeavours between Xxxxx and StormMQ). StormMQ also warrants that the functionality of the Software Solution will not be materially decreased during the term of this Agreement. These warranties shall not apply to the Software Solution if modified by anyone (including by Xxxxx) or if used improperly or in an operating environment or in an application not approved in writing by StormMQ. In the event of any defect in the functionality of the Software Solution, Xxxxx shall notify StormMQ promptly of such defect and StormMQ shall then take commercially prudent and reasonable action to promptly correct the functionality of the Software Solution. Xxxxx agrees to cooperate with and assist StormMQ in the replication of such notified defects as necessary, and in the identification, rectification and evaluation of any changes that are necessary to the Software Solution in order to correct any such notified defect. The revised Software Solution which arises out of such activity will then be treated as conformant with the Software Specification until such time as Xxxxx notifies StormMQ of any further defects. All other conditions, warranties or other terms which might have effect between the Parties or be implied or incorporated into the agreement, whether by statute, common law or otherwise, are hereby excluded including the implied conditions, warranties or other terms as to satisfactory quality, fitness for purposes or the use of reasonable skill and care.
6. Limitation of Liability. To the fullest extent permitted by law, StormMQ shall not be liable for any damages suffered by the users of the Software Solution. Neither Party shall be held liable for any indirect, consequential, or incidental damages with respect to any claim by either Party or any third party on account of or arising from this Agreement or from the use of the Software Solution and/or associated materials, whether based on lost revenues or otherwise, regardless of whether the affected Party was advised of such losses in advance.
7. Intellectual Property Rights. Xxxxx acknowledges that StormMQ has a proprietary interest in the Software Solution and all intellectual property rights (including, without limitation, copyrights, design rights, trademarks, registered trademarks, URLs, patent applications and patents) in the Software Solution and any modifications to it made by StormMQ shall belong to StormMQ and Xxxxx shall have no right, title or interest in or to StormMQ’s intellectual property or the Software Solution other than the right to use it in accordance with this Agreement. Xxxxx acknowledges that source code of the Software Solution is confidential information, and Xxxxx agrees to maintain the Software Solution in confidence, and further agrees not to disclose the Software Solution to any other person or entity without the prior written consent of StormMQ (which may be given or withheld at StormMQ’s absolute discretion) and only on such terms and conditions as StormMQ shall prescribe in writing. Xxxxx further agrees to use all reasonable efforts to prevent unauthorised licensing, copying, or use of the Software Solution. If Xxxxx becomes aware of any unauthorised licensing, copying, or use of Software Solution, Xxxxx shall promptly notify StormMQ in writing. StormMQ authorises Xxxxx to make such copies of the Software Solution as are required to create software backups for Xxxxx’x lawful use, so long as Xxxxx undertakes to keep and maintain up-to-date and accurate records of the number and locations of such copies and to take all reasonable steps to prevent unauthorised further copying of them. Xxxxx expressly agrees to use Software Solution only in the manner and for the specific uses authorised in this Agreement. StormMQ has no right, title or interest, including any intellectual property rights, in or to any data, source code, or software created by Xxxxx or used by Xxxxx in conjunction with the Software Solution. StormMQ warrants that it has full right and title to the Software Solution and agrees to indemnify Xxxxx from or concerning any claims of infringement made against Xxxxx concerning the Software Solution or its use.
8. Software Maintenance. StormMQ agrees to provide software maintenance for the Software Solution, such that its functionality when used in mutually agreed implementations and applications meets the Software Specifications
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
defined in Schedule C, at no additional cost to Xxxxx. In the event Xxxxx requires additional or upgraded functionality or software from StormMQ (other than Software Solution) Xxxxx shall provide a request for such work and StormMQ will provide a quote to undertake the work required (according to its sole judgement) to deliver such additional capability.
9. Termination. Either Party shall have the right to terminate this licence upon 60 days written notice to remedy the material breach of, or non-compliance with, the terms of this Agreement by the other Party, such termination to be voided if such material breach or non-compliance is remedied to the satisfaction of the aggrieved Party within the period of notice. In the event of such termination by Xxxxx, StormMQ shall provide to Xxxxx:
(a) all relevant configuration information about the StormMQ AMQP 0-8 message queuing service that Xxxxx might need in order that it can transition to a similar AMQP 0-8 service; and
(b) technical consulting services to Xxxxx to help facilitate this transition to be invoiced on a [***] basis at a charge-out rate of [***] (GBP) per [***].
10. Escrow of Software. StormMQ agrees to provide the source code of all versions of the Software Solution that are covered by this Agreement to an escrow agent selected by mutual agreement who will hold in escrow the source code of those software components described in Schedule C as being appropriate for escrow throughout the term of this Agreement. Schedule C also describes the Non-Escrow Software which will not be supplied for escrow under this Agreement. In the event that StormMQ, for any reason, is (i) unable to provide Xxxxx with the Software Solution, services and support for the Software Solution, or the use of the Software Solution, (ii) discontinues its business operations, or (iii) becomes insolvent, Xxxxx shall have the immediate right to the Software Solution source code held in escrow and shall have a non-exclusive, world-wide, perpetual licence to use the Software Solution, as identified in Schedule A to this Agreement, for the Xxxxx Business Purpose within the Market. The costs of the escrow provision, including the services of the escrow agent, will be met by Xxxxx. The terms of service of the escrow agent and the detailed escrow terms will be agreed separately between the Parties, such agreement to be reasonably reached and discussed in good faith with best endeavours, and with clear reference to the content and intent of this Agreement.
11. Confidentiality. The existence, content and substance of this Agreement and all matters contemplated by its terms will be treated by all parties as Confidential Information under the existing non-disclosure and/or confidentiality agreements in place and as established from time to time between the parties.
12. Entire Agreement; Amendment of Documents; Severability; Headings. This is the entire agreement between the parties, covering everything agreed upon or understood in the transaction contemplated by this Agreement. There are no promises, representations, understandings, interpretations, or terms of any kind as conditions to the execution hereof or in effect between the Parties. No rights or obligations other than those expressly recited herein are to be implied from this Agreement. No change or additions may be made to this Agreement, except by written agreement by the parties. Whenever used in this Agreement, the singular shall include the plural and the plural the singular. If any term of this Agreement is held by a court of competent jurisdiction to be invalid or unenforceable, then this Agreement, including all of the remaining terms, will remain in full force and effect as if such invalid or unenforceable term had never been included. The headings preceding the various sections of this Agreement are intended solely for the convenience of the parties and shall not be deemed relevant in the construction of this Agreement.
13. Third Parties. No term of this agreement is enforceable under the Contracts (Rights of Third Parties) Xxx 0000 by a person who is not a party.
14. Governing Law and Jurisdiction. The governing law of this Agreement shall be that of England. The courts of England shall have jurisdiction to settle any dispute between the parties arising in connection with this Agreement and such jurisdiction shall be exclusive. The parties irrevocably submit to such jurisdiction and waive any objection to it, on the ground of inconvenient forum or otherwise. No party shall oppose the recognition or enforcement of a judgment, order or decision of those courts in respect of any such claim or dispute by the courts of any state which, under the laws and rules applicable in that state, are competent or able to grant such recognition or enforcement.
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
IN WITNESS WHEREOF, the parties have executed this Agreement as of the date below.
Xxxxx Electric Vehicles US Corp. (Licensee) |
|
StormMQ Ltd. (Licensor) | ||||
|
|
| ||||
|
|
| ||||
By: |
/s/ Xxxxx Xxxxxx |
|
By: |
/s/ Xxxxx Xxxx | ||
|
|
| ||||
|
|
| ||||
Dated: |
|
|
Dated: |
| ||
Schedule A —Solution Overview
Schedule B — Fees
Schedule C — Software Specifications
Schedule D — Software Maintenance and Defect Resolution
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
Schedule A: Solution Overview
StormMQ delivers a suite of ‘best in class’ commercially available Managed Message Queuing Services as a wholesale or retail offering on a monthly subscription basis. These are delivered to end-users through the cloud (via shared or dedicated server clusters) or directly using on-site facilities.
The cloud-based messaging service for Xxxxx is based around the AMQP 0-8 protocol and comprises the following functional components:
1) Vehicle data is transferred by the AMQP client embedded in the Xxxxx vehicle (detailed in the Software Specification in Schedule C) to the StormMQ cloud-based Managed Message Queuing Services using the AMQP 0-8 protocol.
2) StormMQ’s off-the-shelf Managed Message Queuing Services delivered using the AMQP 0-8 protocol. These services are provided by a cluster of dedicated servers based in the StormMQ datacentre, currently located in Sunderland, UK.
Taken together, these components constitute the “Software Solution”.
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
Schedule B: Fees
The StormMQ service is installed in Xxxxx vehicles and is charged on a [***] basis. A Xxxxx vehicle requires a licence to use the Software Solution from the moment that it is “ready to ship” from the Xxxxx factory, whether the vehicle is going to ship to an end-customer or to a contractor for further production work.
The Fees are:
1. [***] (USD) per calendar month for an initial [***] licence (increasing to [***] per calendar month from 1st March 2012), and
2. A licence to cover [***] (USD) [***] per year, purchased upfront in [***] bundles.
The Fees are payable monthly, pro rata with these annual commitments. Licences must be purchased in advance of activation.
Xxxxx will supply to StormMQ regular forward estimates of additional vehicle production that will be subject to licence purchases. Xxxxx will also supply to StormMQ copies of audit reports and other vehicle count statistics that Xxxxx supplies in the course of its ordinary business to various industry regulators, financial assistance bodies, governmental departments and agencies or that Xxxxx otherwise publishes into the public domain.
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
Schedule C: Software Specifications
The Software Solution consists of the following component parts:
1) AMQP client:
A custom AMQP client, written in C, and installed on the telemetry device. This software was written specifically for this project. This transfer’s data securely using the AMQP 0-8 protocol via StormMQ’s commercially-available cloud-based AMQP 0-8 protocol service (item #2 below).
The current source code has already been provided by StormMQ to Xxxxx. The source code of any revisions will be put into escrow according to Section 10 of this Agreement.
2) Commercially available cloud-based AMQP 0-8 protocol messaging service:
This consists of a bespoke software platform built by StormMQ which executes on server hardware specified and commissioned by StormMQ and runs under a server operating system, supported by licensed third-party libraries and binaries using StormMQ configuration. This software is used to provide a service which securely accepts messages from the remote AMQP client (item #2 above) and provides them securely to the Java application referred to in item #3 above. The service does this using the AMQP 0-8 protocol.
StormMQ will place into escrow all the source code developed and owned by StormMQ directly relevant to the provision of the AMQP 0-8 protocol messaging service that is used for the Xxxxx Messaging Purpose. This source code will include the configuration files used to customise the server operating system that is used to provide the service.
StormMQ will not place into escrow the following source code (the “Non-Escrow Software”):
· Any configuration information that is relevant only to StormMQ’s specific implementation or the specific service instantiation of the messaging service (eg IP addresses, cryptographic keys, X.509 certificates and passwords used internally by StormMQ);
· The source code for the operating system;
· The source code for executable binaries used by StormMQ which have been provided by third parties;
· The source code for compiled object libraries used by StormMQ which have been provided by third parties;
· Third party source code which is linked into the StormMQ source code base;
· The source code for the software build system, nor the build scripts used within the software build system; and
· The source code for any debugging, configuration, commissioning or administration tools that StormMQ has developed or acquired in order to manage the server or the instance of the messaging service.
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
Schedule D: Software Maintenance and Defect Resolution
The following processes are hereby agreed to provide for software maintenance and defect resolution relating to the Software Solution.
1) Change of Feature Implementation Notices:
If maintenance of the service platform requires a change to the manner of implementing a certain feature that is used by Xxxxx, then StormMQ will issue a Change of Feature Implementation Notice to Xxxxx that sets out the planned date of the switchover to the new implementation and the change of implementation required within the Xxxxx technology infrastructure to accommodate the change to the feature implementation. In reference to the foregoing sentence, the Parties agree that no change to the Software Solution will be made unless both Parties agree in writing to any such change or modification. In the event of a mutual agreement to permit any change to the Software Solution: (i) such changes will implement an equivalent feature in terms of the functionality required by Xxxxx, and (ii) where such changes identify functionality that is no longer required by Xxxxx, and where removal of such functionality would benefit Xxxxx (eg by simplification of Xxxxx’x internal technology architecture, or enhancement to the service robustness), then StormMQ and Xxxxx may agree in writing to remove the appropriate feature through reference to this section of the Agreement.
2) Planned Service Suspension:
If maintenance of the service platform requires that the server infrastructure has to go offline for a period, this will be communicated by StormMQ to Xxxxx via a Planned Service Suspension Notice which will indicate the reason for the suspension, the expected duration of the suspension, and the likely start date for the suspension. Xxxxx acknowledges that such suspensions will be required on occasion in order to facilitate certain forms of maintenance to the service. Xxxxx also acknowledges that the nature of the AMQP 0-8 protocol is such that data from the AMQP clients within the Xxxxx vehicles need not be lost during such a suspension, depending on the usage mode of the AMQP protocol. StormMQ will use its best endeavours to ensure that such suspensions are of the shortest possible duration, that the notice period given to Xxxxx is adequate for Xxxxx to accommodate the suspension, and that they take place at times that are not overly inconvenient to Xxxxx’x business needs.
3) Notice of Possible Defect:
If Xxxxx encounters a change in the behaviour in the Software Solution which is incompatible with the aims of the Xxxxx Messaging Purpose or with previous behaviour of the Software Solution, then Xxxxx may issue a Notice of Possible Defect to StormMQ which contains: sufficient detail about the issue to enable StormMQ to begin investigations into the new behaviour; details of any changes within the Xxxxx infrastructure that may have contributed to the change; the point in time where the change became apparent; the material impact of the change on Xxxxx’x business operations; and, the required timeframe for rectification of the change. These requirements in the notice will be formulated in good faith and with all best endeavours for accuracy. Upon receipt of a Notice of Possible Defect, StormMQ will make its first response within five working days (according to UK custom), such response containing either a remedy for the change, a request for more information about the change, or a plan of action to obtain more information or to provide a remedy. StormMQ’s response will be formulated in good faith, and will typically follow a progression through a sequence of problem acknowledge, diagnosis, agreement of a communication channel between StormMQ and Xxxxx to expedite a remedy, determination of the likely effect on the Software Solution of a remedy, and agreement of a scope of work and a deliverable for the remedy with outline timescales. Xxxxx acknowledges that remedies to changes in behaviour may on occasion take more time to prepare, test and commission than would be otherwise acceptable to Xxxxx’x business operations. Xxxxx also acknowledges that where a change in behaviour has been precipitated by changes elsewhere in Xxxxx’x technology platform, or by changes to Xxxxx’x mode of use of the Software Solution, or by use of
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
the Software Solution in applications or implementations not previously tested or approved by StormMQ, or where the remedy cannot readily be implemented solely within the server infrastructure of the messaging service, then remedial work by StormMQ would reasonably be considered to lie outside the scope of this Agreement and would be undertaken under an alternative consultancy agreement with its own terms regarding fees, costs, response times and acceptance criteria.
4) Notice of Defect Correction:
When the remedy to a previously issued Notice of Possible Defect is agreed by Xxxxx and StormMQ to be adequate (such agreement not to be withheld unreasonably by either party), Xxxxx will issue a Notice of Defect Correction to StormMQ to confirm that the remedy has been accepted. The programme of activity to reach such a conclusion will be agreed between the parties on a case-by-case basis. Upon receipt of a Notice of Defect Correction, StormMQ will endeavour to deliver the source code for the remedy into escrow within 30 elapsed days; such delivery may be, at the discretion of StormMQ, in the form of a ‘patch’ documenting the areas of change made instead of a full copy of the now-remedied code.
5) Escalation Procedures:
Each party undertakes to respond in good faith and with all best endeavours to any concerns of the other party regarding the process of responding to a change in behaviour of the Software Solution. In the event that discussion through usual operational channels between the parties, as set forth in the following support protocol, cannot resolve any dispute relating to the process of resolving any problems, then each party undertakes to engage in a dialogue involving the senior management teams from each party, escalating if necessary to a dialogue between the chief executive officers of each party before resorting to external arbitration. Only in the event that such dialogue fails to reach a satisfactory conclusion may a party invoke legal remedies. Xxxxx and StormMQ hereby agree that the laws of England will be used to resolve any such disputes. The Parties agree to the following support protocol:
Scope of Support
Technical Support covers production issues for StormMQ service, including:
Troubleshooting configuration settings
Troubleshooting operational or systemic problems with StormMQ resources
Technical Support does not include:
Code development
Debugging custom software
System administration tasks (e.g., problems with your machine’s configuration)
Named Support Contacts
Only Xxxxx’x named support contacts may submit issues/problems (Cases) and interact directly with StormMQ Technical Support. These individuals will be identified by an email from Xxxxx’x CTO.
Response Times and how to contact StormMQ
First-contact response times are based on the severity level for each Case. StormMQ is committed to providing a response within the timeframes described below.
***Confidential treatment requested pursuant to a request for confidential treatment filed with the Securities and Exchange Commission. Omitted portions have been filed separately with the Commission.
Severity Level |
|
Response Time |
|
Contact Method |
|
|
|
|
|
Urgent |
|
1 hour |
|
telephone |
|
|
|
|
|
High |
|
4 hours |
|
telephone |
|
|
|
|
|
Normal |
|
1 business day |
|
|
|
|
|
|
|
Low |
|
2 business days |
|
|
Resolved Queries
Once StormMQ has responded to Xxxxx’x problem (Case), Xxxxx will work with StormMQ to identify and resolve the problem. Cases (problem) are deemed resolved if:
The problem is fixed.
The source of the problem lies with third party software.
Xxxxx fails to respond to a query or request from StormMQ for seven (7) consecutive days.
For recurring issues, Xxxxx may choose to re-open the case later.