diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..7cf01454 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,45 @@ +# Contributing to SimpleBLE + +This document outlines the process for contributing to the project and provides some guidelines to ensure a smooth collaboration. + +## Contributor License Agreement + +Before we can accept your contribution, you must sign our Contributor License Agreement (CLA). This agreement ensures that the project has the necessary rights to use and distribute your contributions. + +- If you are contributing as an individual, please sign the Individual CLA. +- If you are contributing on behalf of your employer, please have your employer sign the Corporate CLA. + + + +**Please note:** We cannot accept any contributions without a signed CLA. + +## Coding Guidelines + +- Follow the existing code style and conventions used in the project. +- Write clear, readable, and well-documented code. +- Include unit tests for new features or bug fixes where applicable. +- Ensure your code works on all supported platforms (Linux, Windows, macOS, iOS, and Android). + +## Submitting a Pull Request + +1. Ensure you have signed the CLA before submitting your pull request. +2. Provide a clear and detailed description of your changes in the pull request. +3. Reference any related issues in your pull request description. +4. Be prepared to make changes if requested by the maintainers. + +## Reporting Issues + +- Use the GitHub issue tracker to report bugs or suggest features. +- Before creating a new issue, please check if a similar issue already exists. +- Provide as much detail as possible, including steps to reproduce for bugs. + +## Community Guidelines + +- Be respectful and considerate in all interactions. +- Help others if you can. + +## Questions? + +If you have any questions about contributing, feel free to open an issue or contact the team directly. + +Thank you for contributing to SimpleBLE! Your efforts help make this project better for everyone. \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md index c6e43dc8..60a36321 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -4,22 +4,222 @@ Since February 15th 2024, SimpleBLE is now available under the GNU General Publi version 3 (GPLv3), with the option for a commercial license without the GPLv3 restrictions available for a fee. +**You can find more information on pricing and commercial terms of service at www.simpleble.org** + To enquire about a commercial license, please contact us at ``contact at simpleble dot org``. Likewise, if you are using SimpleBLE in an open-source project and would like to request a free commercial license or if you have any other questions, please reach out at ``contact at simpleble dot org``. -## What do you consider "commercial use"? +------------------------------------------------------------------------------- + +# SimpleBLE Commercial License Agreement + +Version 1.2 - 2024-06-28 + +Copyright © 2024 - THE CALIFORNIA OPEN SOURCE COMPANY LLC + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +## TERMS AND CONDITIONS + +### 0. Definitions + +- **"Licensed Technology"** shall mean the software, documentation, code, materials, and any other intellectual property specified in Appendix A as provided by the Licensor to the Licensee under this Agreement, as well as any updates, modifications, or improvements thereto made by either the Licensor or the Licensee. + +- **"Licensor"** shall mean the individual, corporation, or other legal entity that owns or controls the intellectual property rights in the Licensed Technology and grants the Licensee a license to use the Licensed Technology under the terms and conditions of this Agreement. + +- **"Licensee"** shall mean the individual, corporation, or other legal entity that is granted a license to use the Licensed Technology under the terms and conditions of this Agreement. + +- **"Parties"** shall mean the Licensor and the Licensee collectively, and "Party" shall mean either the Licensor or the Licensee individually, as the context requires. + +- **"Affiliate"** shall mean, with respect to a Party, any entity that directly or indirectly controls, is controlled by, or is under common control with such Party. For purposes of this definition, "control" means the power to direct or cause the direction of the management and policies of an entity, whether through the ownership of voting securities, by contract, or otherwise. + +- **"Employee"** shall mean any individual who is employed by either Party or any of its Affiliates on a full-time, part-time, or temporary basis, and who is subject to the direction and control of the employing Party or Affiliate with respect to the time, place, and manner of their work. The term "Employee" shall not include Contractors. + +- **"Contractor"** shall mean any individual or entity that is not an Employee of either Party or any of its Affiliates, but is engaged by a Party or its Affiliate to perform services on their behalf. Contractors may include, but are not limited to, consultants, advisors, or outsourced service providers. + +- **"Intellectual Property Rights"** means any form of protection afforded anywhere in the world by law to inventions, works, designs, software, trade secrets, confidential information, know-how and other proprietary information and data, including without limitation patents (including re-issues, divisions, continuations and extensions thereof), copyrights, database rights, registered and not-registered design rights, utility models, mask works, as well as applications for any such rights. + +- **"Application"** shall mean a product, service, or solution developed by the Licensee that incorporates the Licensed Technology and adds primary and substantial functionality, features, or improvements that are distinct from those provided by the Licensed Technology itself. An Application must have a clear and distinctive goal that goes beyond merely serving as a wrapper, modification, or adaptation of the Licensed Technology. + +- **"Derivative Work"** shall mean any modification, adaptation, translation, improvement, enhancement, or other work based on or derived from the Licensed Technology that does not add primary and substantial functionality, features, or improvements distinct from those provided by the Licensed Technology itself. This includes, without limitation, any product, service, or solution that integrates, incorporates, bundles, wraps, interfaces with, or adapts the Licensed Technology without significantly changing or enhancing its original functionality, features, or purpose. + +- **"Documentation"** shall mean any user manuals, technical manuals, specifications, or other written materials provided by the Licensor that describe the features, functions, or operation of the Licensed Technology. + +- **"Feedback"** shall mean any suggestions, comments, ideas, or other information provided by the Licensee to the Licensor regarding the Licensed Technology, including but not limited to bug reports, feature requests, and performance evaluations. + +- **"Compatible Open-Source Licenses"** shall mean open-source software licenses allowing for the free use, modification, and distribution of the Licensed Technology, without imposing conflicting or additional restrictions. The only valid licenses are: (a) MIT License (b) Apache License 2.0 (c) BSD 3-Clause "New" or "Revised" License. + +- **"Non-Compatible Open-Source Licenses"** shall mean any license terms that are inconsistent with or conflict with the terms of this Agreement, including but not limited to the GNU General Public License (GPL), Lesser GPL (LGPL), or the Creative Commons Attribution-ShareAlike License. + +- **"Fees"** shall mean the amounts payable by the Licensee to the Licensor in consideration for the rights and licenses granted under this Agreement. + +- **"Term"** shall mean the duration of this Agreement, as specified in Appendix A, commencing on the Effective Date and continuing until the expiration or termination of this Agreement in accordance with its terms. + +- **"Effective Date"** shall mean the date on which this Agreement comes into force, as specified in Appendix A or as determined by the mutual execution of this Agreement by both parties. + +- **"Force Majeure Event"** shall have the meaning set forth in Section 13. + +- **"End User"** shall mean any individual, corporation, or other legal entity that is not a party to this Agreement, but obtains and uses the Application developed by the Licensee, either under the terms of a Compatible License or through a commercial arrangement with the Licensee. + +### 1. Object of the Agreement + +1.1 The primary purpose of this Agreement is to delineate the terms under which the Licensor grants the Licensee specific rights pertaining to the use of the Licensed Technology. It is explicitly stated and understood that this Agreement does not grant any rights, privileges, or licenses to any third parties not explicitly mentioned herein. + +1.2 Under the terms outlined in this Agreement, contingent upon the Licensee's timely payment of Fees as specified in Appendix A, and strict adherence to all other terms and conditions herein, the Licensor grants the Licensee a worldwide, non-exclusive, non-sublicensable, and non-transferable license to use or modify the Licensed Technology, for the sole purposes of creating Application based on the Licensed Technology for and marketing, promoting, licensing, maintaining and supporting such Applications to/for End-User,, subject to the limitations and restrictions set forth in this Agreement. + +1.3 All rights bestowed upon the Licensee under this Agreement are conferred solely through licensing and not by sale. These rights are also circumscribed and governed by the terms of this Agreement. This Agreement does not grant any license or other rights in any intellectual property other than the Licensed Technology. No license or rights will arise under this Agreement by implication, estoppel, or any other means. Any attempt at sublicensing that contradicts the terms of this Agreement will be deemed invalid and without effect. + +1.4 The effective period of this Agreement commences both Parties signing this Agreement and the subsequent payment of the Fee by the Licensee. This initiation is contingent upon these dual conditions being met, marking the start of the Term as indicated in Appendix A and continuing for the Term as indicated in Appendix A. Following the conclusion of this Term, the Agreement may be subject to renewal, based on mutual consent of both Parties and contingent upon the Licensee's payment of any applicable renewal fees, as well as their continued compliance with the terms set forth herein. + +1.5 The Licensee acknowledges and agrees that any use of the Licensed Technology or any Derivative Work by the Licensee outside the scope of this Agreement shall constitute a material breach of this Agreement and may result in the immediate termination of the license granted herein. The Licensee shall promptly notify the Licensor of any unauthorized use or disclosure of the Licensed Technology and take reasonable steps to prevent further breach of this Agreement. + +### 2. Intellectual Property + +2.1 The Licensor retains all right, title, and interest, including all Intellectual Property Rights, in and to the Licensed Technology. This Agreement does not grant the Licensee any ownership rights in the Licensed Technology, but only the limited license rights expressly set forth herein. The Licensed Technology is protected by copyright laws, international copyright treaties, and other Intellectual Property Laws and treaties. Any unauthorized copying, modification, distribution, or use of the Licensed Technology is strictly prohibited and may subject the Licensee to legal action. + +2.2 The Licensee shall own the Intellectual Property Rights in any Application developed by the Licensee, excluding the Licensed Technology and any Derivative Works. The Licensee is hereby granted the privilege to alter, adapt, and modify the Licensed Technology as necessary to meet specific requirements or objectives. Any Derivative Work based on or derived from the Licensed Technology shall be owned by the Licensor and considered part of the Licensed Technology, subject to the terms and conditions of this Agreement. The Licensee shall have no ownership rights in Derivative Works. + +2.3 End Users may use, modify, and distribute the Application in accordance with the terms of the applicable Compatible License or commercial agreement, with the licensee, but shall have no rights to the Licensed Technology except as expressly granted in this Agreement. + +### 3. Fees and Taxes + +3.1 The Licensee shall pay the Licensor the fees specified in Appendix A (the "Fees") in accordance with the payment terms set forth therein. If the Licensee fails to pay the Fees within the agreed payment term, the Licensee shall owe Late Payment Charges as specified in Appendix A. + +3.2 All Fees are non-refundable, and the Licensor shall have no obligation to refund any Fees paid by the Licensee, except as expressly provided in this Agreement. The Licensee shall not be entitled for any reason to any set-off, counter-claim, abatement, or other similar deduction to withhold payment of any amount due to the Licensor. + +3.3 All Fees are exclusive of any applicable taxes, levies, or duties, including but not limited to value-added tax, sales tax, or withholding tax. The Licensee shall be responsible for paying all such taxes, levies, or duties associated with the Fees, except for those based on the Licensor's income. + +3.4 If the Licensor is required to pay or collect any such taxes, levies, or duties on behalf of the Licensee, the amount payable by the Licensee shall be increased to the extent necessary to ensure that the Licensor receives a sum equal to the Fees it would have received had no such deduction or withholding been required. The Licensor shall provide the Licensee with appropriate tax invoices or receipts evidencing the payment of any such taxes, levies, or duties. The Licensee shall furnish the Licensor with any relevant tax exemption certificates or other documentation required to minimize or eliminate any applicable taxes, levies, or duties. + +### 4. General Provisions + +4.1 **Entire Agreement.** This Agreement, together with Appendix A, collectively forms the complete and exclusive terms of the arrangement between the Parties. It supersedes all prior or contemporaneous discussions, representations, contracts, including but not limited to previous License Agreements and similar agreements, as well as proposals, whether written or oral, concerning the subject matters herein. + +4.2 **Severability.** In the event any portion of this Agreement is deemed invalid or unenforceable, such portion shall not limit or otherwise modify or affect any other portion of this Agreement Without limiting the generality of the foregoing, if the scope of any provision contained in this Agreement is too broad to permit enforcement to its fullest extent, such covenant shall be enforced to the maximum extent permitted by law, and the Parties hereby agree that such scope may be judicially modified accordingly. + +4.3 **Modification Waiver.** This Agreement is furnished 'as-is' and no amendments to its terms are permissible. The failure of either Party to enforce any provision of this Agreement may not be deemed a waiver of that or any other provision of this Agreement. + +4.4 **Marketing.** Licensee agrees that the Licensor may use the Licensee's name, trade name, and trademark in the Licensor's marketing materials and on its website, solely for the purpose of identifying the Licensee as a customer of the Licensor. Such use shall be in accordance with the Licensee's brand guidelines and shall not imply any endorsement or affiliation beyond the scope of this Agreement. The Licensor shall promptly cease any such use upon written request from the Licensee. + +4.5 **Compliance with Applicable Laws.** In the course of employing the Licensed Technology pursuant to this Agreement, the Licensee shall ensure compliance with all relevant laws and regulations. The Licensee is prohibited from engaging in the renting, leasing, or similar disposal of the Licensed Technology in any manner that contradicts this Agreement. Additionally, the Licensee must refrain from any misappropriation or unauthorized utilization of other products or services offered by the Licensor. + +4.6 **Trademarks.** The Licensee shall not remove or alter any copyright, trademark, or other proprietary rights notice(s) contained in any portion of the Licensed Technology. Applications must add primary and substantial functionality to the Licensed Technology so as not to compete with the Licensed Technology. + +4.7 **Prohibited Activities.** The Licensee shall not use the Licensed Technology for any unlawful purpose, including without limitation the infringement of any third party's Intellectual Property Right or other proprietary rights. The Licensee agrees that it shall not claim any right to or license (except for the license granted pursuant to Section 1.2 above) with respect to the Licensed Technology nor shall the Licensee contest or assist in contesting the Licensor's right, title and interest in and to such the Licensed Technology. Further, the Licensee shall not partake in activities that contribute to or support claims, whether made by the Licensee or any third party, alleging that the Licensed Technology infringes on any patents. The sale of the Licensed Technology or the establishment of a security interest over it is strictly prohibited. Moreover, the distribution of any product, inclusive of the Licensed Technology, shall be conducted strictly in accordance with the permissions explicitly granted by this Agreement. + +4.8 **Assignment.** The Licensee is barred from assigning or transferring any rights, benefits, or obligations under this Agreement, unless such transfer is part of the sale of its relevant business or assets, or is done with the Licensor's prior written consent, which is not to be unreasonably withheld or delayed. In contrast, the Licensor retains the unencumbered right to assign or transfer any of its rights, benefits, or obligations under this Agreement. + +4.9 **Injunctive Relief.** The Licensee hereby acknowledges that unauthorized disclosure and/or use of any of the Licensed Technology could cause irreparable harm and significant injury to the Licensor that may be difficult to ascertain. Accordingly, the Licensee agrees that, in addition to any other rights and remedies it may have, the Licensor will have the right to seek immediate injunctive relief to enforce the obligations under this Agreement without the necessity of posting a bond or any other security. + +4.10 **No Representation.** The Licensee shall not represent itself as an agent of the Licensor for any purpose, nor give any condition or warranty or make any representation on the Licensor's behalf or commit the Licensor to any contracts. Further, the Licensee shall not make any representations, warranties, guarantees or other commitments with respect to the specifications, features or capabilities of the Licensed Technology or otherwise incur any liability on behalf of the Licensor in any circumstances. + +4.11 **Audits.** The Licensor has the right to audit the Licensee compliance with its obligations under this Agreement. The Licensee shall provide to the Licensor and its personnel, auditors and inspectors such assistance, access and co-operation as they may need and reasonably require. + +4.12 **Cumulative Remedies.** Any remedies specified in this Agreement are cumulative and are not intended to be exclusive of any other remedies to which the Licensor may be entitled at law or equity in case of any breach or threatened breach by the Licensee of any provision of this Agreement, unless such remedies are specifically limited or excluded by the terms of any provision of this Agreement. + +4.13 **Survival.** Certain provisions of this Agreement are designed to outlast its termination. These provisions, due to their inherent nature or as specifically indicated, will continue to be valid and enforceable even after the termination of this Agreement. + +### 5. Feedback and Updates + +5.1 The Licensee hereby grants to the Licensor the unrestricted right to freely utilize and disclose any Feedback that the Licensee provides concerning the Licensed Technology. The Licensee acknowledges and agrees that all Feedback may be employed by the Licensor for any purpose, whether commercial, developmental, or otherwise, without any obligation for acknowledgment, compensation, or other consideration to the Licensee. This includes, but is not limited to, the right to develop, copy, publish, modify, enhance, or otherwise make improvements to the Licensed Technology, at the sole discretion of the Licensor. The Licensee recognizes that all Feedback shall be considered non-confidential and the Licensor is free to use such Feedback without any restriction or obligation of confidentiality. + +5.2 During the Term, the Licensor may develop and release updates, upgrades, or new versions of the Licensed Technology. The Licensee shall have the right to receive and use such updates, upgrades, or new versions, subject to the terms and conditions of this Agreement. + +5.3 The Licensee's right to receive and use updates, upgrades, or new versions shall continue until the termination of this Agreement, as outlined in Section 8. Upon termination, the Licensee shall have no further right to receive any updates, upgrades, or new versions of the Licensed Technology. + +5.4 All updates, upgrades, or new versions of the Licensed Technology provided to the Licensee shall be considered part of the Licensed Technology and subject to the terms and conditions of this Agreement, unless otherwise specified by the Licensor in writing. + +5.5 Notwithstanding the Licensee's right to receive updates, upgrades, or new versions, the Licensor is under no obligation to develop or release any such updates, upgrades, or new versions. The development and release of updates, upgrades, or new versions shall be at the sole discretion of the Licensor. + +### 6. End User Rights and Obligations + +6.1 End Users who obtain the Application, either under a Compatible Open-Source License or through a commercial arrangement with the Licensee, may use, modify, and distribute the Application, subject to the terms and conditions of the applicable Compatible Open-Source License or commercial agreement. However, End Users shall have no right to use, modify, or distribute the Licensed Technology, or any part thereof, except as incorporated in the Application and subject to the terms and conditions of this Agreement. + +6.2 The Licensee shall include a prominent notice in the Application's documentation, user interface, and source code, stating the following: + +``` +IMPORTANT NOTICE: This Application is built upon the [Licensed Technology Name], which is owned by [Licensor Name] and used under license. As an End User of this Application, you are prohibited from using, modifying, or distributing the [Licensed Technology Name], or any part thereof, except as incorporated in this Application. Specifically, you may not: + +a) Extract, isolate, or separate the [Licensed Technology Name] from this Application; +b) Use the [Licensed Technology Name] for any purpose other than as part of this Application; +c) Modify, adapt or translate the [Licensed Technology Name]; +d) Create any Derivative Works based on the [Licensed Technology Name]; +e) Distribute, sublicense, rent, lease, lend, or transfer the [Licensed Technology Name] to any third party; +f) Reverse engineer, decompile, disassemble, or attempt to derive the source code of the [Licensed Technology Name]; +g) Remove, obscure, or alter any copyright, trademark, or other proprietary rights notices contained within the [Licensed Technology Name]. + +Your use of this Application is subject to your compliance with these restrictions. If you have any questions about these terms, please contact [Licensee Name]. +``` + +The Licensee shall include a copy of this notice in all copies or substantial portions of the Application. + +6.3 End Users must comply with all applicable laws, regulations, and third-party rights when using, modifying, or distributing the Application. + +6.4 The Licensee shall indemnify, defend, and hold harmless the Licensor from and against any claims, damages, liabilities, costs, and expenses arising out of or in connection with any use of the Application by End Users, including any use that breaches the terms and conditions of this Agreement. + +### 7. Use of Non-Compatible Open-Source Licenses + +In adherence to the terms of this Agreement, the Licensee is expressly prohibited from, and shall not permit any third party or End User to, integrate, distribute, or otherwise utilize the Licensed Technology in conjunction with any code, software, or content that is subject to a license incompatible with the terms of this Agreement, hereafter referred to as "Non-Compatible Open-Source Licenses". Such prohibitive action includes, but is not limited to, any combination or use that would necessitate, either directly or indirectly, that the Licensed Technology be subject or conform to any licensing terms other than those explicitly set forth in this Agreement. + +### 8. Termination + +8.1 This Agreement may be terminated without cause by either Party upon written notice to the other Party, provided such notice period is no less than three (3) months. + +8.2 Either Party may terminate this Agreement with immediate effect, if the other Party commits a material breach of the terms of this Agreement and has not remedied such breach upon the non-breaching Party's written notice within a reasonable timeframe, which shall be no less than thirty (30) days). + +8.3 The Licensor may also immediately terminate this Agreement upon written notice to the Licensee if the Licensee becomes bankrupt, insolvent, enters into liquidation, or undergoes debt restructuring. + +### 9. Rights and Duties upon Termination + +9.1 Upon termination of this Agreement, the Licensee's rights to use or modify the Licensed Technology, and to create Derivative Works based on the Licensed Technology, shall immediately cease, except as provided in Section 9.2. + +9.2 In the event that this Agreement is terminated by either Party without cause pursuant to Section 8.1, or by the Licensor due to the Licensee's bankruptcy, insolvency, liquidation, or debt restructuring pursuant to Section 8.3, or upon the conclusion of the Term as specified in Section 1.4, the Licensee shall retain the right to continue using the Licensed Technology, limited to the version in use immediately prior to the termination date, solely for the purpose of maintaining and supporting existing Applications. The Licensee shall have no right to receive any updates, modifications, or improvements to the Licensed Technology made by the Licensor after the termination date. + +9.3 In the event that this Agreement is terminated by either Party due to a material breach by the other Party pursuant to Section 8.2, the Licensee's right to continue using the Licensed Technology as described in Section 9.2 shall not apply, and all rights granted to the Licensee under this Agreement shall immediately terminate. + +9.4 Expiry or termination of this Agreement shall not relieve the Licensee of its obligation to pay any Fees accrued or payable to the Licensor prior to the effective date of termination, and the Licensee shall pay to the Licensor all such Fees within 30 days from the effective date of termination. + +9.5 The Licensee acknowledges and agrees that, following the termination of this Agreement, it shall remain bound by its obligations under this Agreement with respect to any use of the Licensed Technology, including in Applications already distributed, and shall ensure that such use remains in compliance with the terms of this Agreement. + +### 10. Notices + +Any notice given by one Party to the other shall be deemed properly given and deemed received if specifically acknowledged by the receiving Party in writing. Additionally, any notice issued by the Licensor to the Licensee using the email address provided by the Licensee to the Licensor will be effective from the moment it was sent. Each communication and document made or delivered by one Party to the other Party pursuant to this Agreement shall be in the language specified in Appendix A. + +### 11. Warranty Disclaimers + +THE LICENSED TECHNOLOGY, INCLUDING ALL SOFTWARE, DOCUMENTATION, INFORMATION, CONTENT, MATERIALS, CODE, AND RELATED SERVICES, ARE PROVIDED BY THE LICENSOR ON AN "AS IS" AND "AS AVAILABLE" BASIS. THE LICENSOR AND ITS AFFILIATES HEREBY DISCLAIM ALL WARRANTIES, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE. SPECIFICALLY, THE LICENSOR AND ITS AFFILIATES MAKE NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, REGARDING THE LICENSED TECHNOLOGY, INCLUDING BUT NOT LIMITED TO IMPLIED OR STATUTORY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT OF INTELLECTUAL PROPERTY OR OTHER PROPRIETARY RIGHTS, AND ALL WARRANTIES ARISING FROM COURSE OF DEALING, USAGE, OR TRADE PRACTICE. THE LICENSOR AND ITS AFFILIATES DO NOT WARRANT THAT THE LICENSED TECHNOLOGY, OR ANY PRODUCTS OR RESULTS OF THE USE THEREOF, WILL MEET LICENSEE'S OR ANY OTHER PERSON'S REQUIREMENTS, OPERATE WITHOUT INTERRUPTION, ACHIEVE ANY INTENDED RESULT, BE COMPATIBLE OR WORK WITH ANY SOFTWARE, SYSTEM, OR OTHER SERVICES, OR BE SECURE, ACCURATE, COMPLETE, FREE OF HARMFUL CODE, OR ERROR-FREE AT THE TIME OF THIS AGREEMENT OR AT ANY TIME IN THE FUTURE. FURTHER, THE LICENSOR AND ITS AFFILIATES DO NOT WARRANT THAT THE LICENSED TECHNOLOGY IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. THE PARTIES ACKNOWLEDGE AND AGREE THAT THE FOREGOING WARRANTY DISCLAIMERS ARE AN ESSENTIAL ELEMENT IN SETTING CONSIDERATION UNDER THIS AGREEMENT. + +### 12. Limitation of Liability + +TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSOR WILL NOT BE LIABLE FOR ANY LOST PROFITS, LOSS OF SAVINGS, LOSS OR CORRUPTION OF DATA, LOSS OR INTERRUPTION OF BUSINESS, LOSS OF GOODWILL OR REPUTATION, CLAIMS MADE BY ANY END-USER OR ANY OTHER THIRD PARTY, OR ANY OTHER INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, OR PUNITIVE COSTS, DAMAGES, OR EXPENSES OF ANY KIND ARISING UNDER OR IN CONNECTION WITH THIS AGREEMENT. FURTHER, THE LICENSOR'S AGGREGATE LIABILITY UNDER THIS AGREEMENT SHALL NOT EXCEED THE TOTAL AMOUNTS PAID (IF ANY) TO THE LICENSOR UNDER THIS AGREEMENT DURING THE TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE EVENTS GIVING RISE TO THE LIABILITY. SEEKING DAMAGES AS LIMITED BY THIS SECTION SHALL BE THE SOLE AND EXCLUSIVE REMEDY TO THE LICENSEE FOR ANY ACT OR OMISSION OF THE LICENSOR. THESE LIMITATIONS OF LIABILITY AND EXCLUSIONS OF POTENTIAL DAMAGES WERE AN ESSENTIAL ELEMENT IN SETTING CONSIDERATION UNDER THIS AGREEMENT. + +### 13. Force Majeure + +Neither Party shall be liable to the other for any delay or non-performance of its obligations hereunder in the event and to the extent that such delay or non-performance is due to an event beyond a Party's reasonable control and without the fault or negligence of such Party. Such causes may include, but are not limited to, any God, terrorist attack, destruction of all available copies of the Licensed Technology, governmental actions such as changes in law or embargoes, cyberattacks including but not limited to significant DDoS attacks or other cybersecurity breaches that disrupt services, critical infrastructure failure involving essential utilities including but not limited to electricity or internet services, but in every case the failure to perform must be beyond the control and without the fault or negligence of the affected Party and cannot be avoided or circumvented by such party ("Force Majeure Event"). In the occurrence of any such event, the affected Party shall notify the other Party as soon as reasonably possible and shall use all reasonable endeavors to mitigate the effects of the Force Majeure Event. If the Force Majeure Event results in a delay or non-performance of a Party for a period of three (3) months or longer, then either Party shall have the right to terminate this Agreement with immediate effect without any liability (except for the obligations of payment arising prior to the Force Majeure Event) towards the other Party. + +### 14. Indemnification + +Under this Agreement, the Licensee agrees to indemnify, defend, and hold harmless the Licensor, its officers, directors, employees, agents, affiliates, successors, and assigns from any liabilities, damages, judgments, awards, losses, costs, expenses, including reasonable attorney and expert witness fees, arising out of or in connection with any third-party claims, suits, actions, or proceedings. This indemnity covers claims resulting from the Licensee's breach of this Agreement, negligence, willful misconduct, use of the Licensed Technology, or related to the Licensee's products. Excluded from this indemnification are claims alleging that the Licensee's authorized use of unmodified Licensed Technology provided by the Licensor infringes any patent, trademark, or copyright. The Licensor reserves the right, at its option and sole discretion, to assume full control of the defense of such claims with legal counsel of its choice. The Licensee is not permitted to enter into any third-party agreement that would affect the Licensor's rights, constitute an admission of fault by the Licensor, or bind the Licensor in any manner, without the Licensor's prior written consent. The Licensee must promptly notify the Licensor in writing of any claims brought against the Licensor for which indemnification or defense is sought, thereby enabling the Licensor to manage legal strategies and potential settlements effectively. For the avoidance of doubt, the Licensor does not have any obligation to defend the Licensee or any End-User against such claim and therefore such defense shall be up to the Licensor's sole discretion. If the Licensor decides to not defend a claim for infringement of Intellectual Property Rights, the Licensee may defend itself through counsel of its own choice and at its own expense. The Licensor shall have no liability for any costs, expenses, losses or damages incurred by the Licensee or any of its End-Users in the event of such claim. + +### 15. Governing Law and Jurisdiction + +The Licensor and the Licensee hereby mutually concur that the governance and interpretation of this Agreement shall be in strict accordance with the legal statutes and principles as stipulated in Appendix A. + +### 16. Dispute Resolution + +16.1 It is explicitly agreed that any dispute, controversy, or claim that may arise out of, or in connection with, this contract, inclusive of, but not limited to, its formation, interpretation, breach, or termination, and the arbitrability of the claims posited therein, shall be definitively resolved through arbitration. This arbitration shall be conducted in full alignment with the JAMS International Arbitration Rules. + +16.2 Furthermore, the arbitral tribunal shall be comprised of a sole arbitrator. The venue for such arbitration proceedings shall be as delineated in Appendix A of this Agreement. Moreover, the proceedings of the arbitration shall be conducted in the language specified within Appendix A. It is hereby declared that the award rendered by the said arbitrator shall be binding and enforceable, and judgment thereon may be entered in any court of competent jurisdiction. + +### 17. Confidentiality + +17.1 During the term of this Agreement and thereafter until Confidential Information becomes subject to one or more of the exceptions set forth in Section 17.3, each Party shall maintain strict confidentiality regarding the other Party's Confidential Information. "Confidential Information" shall include, but is not limited to, the Licensed Technology, trade secrets, business plans, strategies, customer information, and any other proprietary or sensitive information disclosed by one Party to the other. -Commercial use in the context of SimpleBLE refers to any usage of the SimpleBLE or any of its -language bindings in a commercial setting where it contributes, either directly or indirectly, -to financial gain. This includes, but is not limited to, incorporating SimpleBLE into commercial -software products, using it in the development of services offered for a fee, or deploying it -within internal tools or software in a for-profit organization where it adds business value. -The key factor is the use of the library as a component in a revenue-generating or -business-advancing context, irrespective of whether the library itself is sold or offered as -a standalone product. +17.2 Each Party agrees to use the Confidential Information solely for the purposes of exercising its rights and fulfilling its obligations under this Agreement. The receiving Party shall not disclose or permit access to Confidential Information to any third party, except to its Employees, Contractors, or agents who need to know such information for the purposes of this Agreement and who are bound by confidentiality obligations no less protective than those set forth herein. +17.3 The confidentiality obligations shall not apply to information that: (a) is or becomes publicly available through no fault of the receiving Party; (b) was known to the receiving Party prior to disclosure; (c) is independently developed by the receiving Party without use of or reference to the Confidential Information; or (d) is required to be disclosed by law or court order, provided that the receiving Party gives prompt notice to the disclosing Party to enable it to seek a protective order. ------------------------------------------------------------------------------- diff --git a/README.rst b/README.rst index b866f458..0225978f 100644 --- a/README.rst +++ b/README.rst @@ -9,14 +9,15 @@ Overview -------- The SimpleBLE project aims to provide fully cross-platform BLE libraries and bindings -for Python, Rust and C++, designed for simplicity and ease of use with a licencing scheme -chosen to be friendly towards commercial use. All specific operating system quirks -are handled internally to provide a consistent behavior across all platforms. The -libraries also provide first-class support for vendorization of all third-party -dependencies, allowing for easy integration into existing projects. +for C++, Python, Rust and other languages, designed for simplicity and ease of use. +All specific operating system quirks are handled internally to provide a consistent behavior +and API across all platforms. The libraries also provide first-class support for vendorization +of all third-party dependencies, allowing for easy integration into existing projects. **NOTICE: Since February 20, 2024 the license terms of SimpleBLE have changed. Please make sure to read and understand the details below.** +Below you'll find a list of components that are part of SimpleBLE: + * **SimpleBLE:** C++ cross-platform BLE library. * **SimplePyBLE:** Python bindings for SimpleBLE. See the `SimplePyBLE`_ PyPI page for more details. * **SimpleRsBLE:** Rust bindings for SimpleBLE. See the `SimpleRsBLE`_ Crates.io page for more details. @@ -27,20 +28,35 @@ If you want to use SimpleBLE and need help. **Please do not hesitate to reach ou * Visit our `ReadTheDocs`_ page. * Join our `Discord`_ server. -* Contact me: ``kevin at dewald dot me`` (Dedicated consulting services available) - -Are you using SimpleBLE on your own project and would like to see it featured here? -Reach out and I'll add a link to it below! +* Contact us: ``contact at simpleble dot org`` +* Visit our `website`_ for more information. Supported platforms ------------------- -=========== ============= =================================== ===== -Windows Linux MacOS iOS -=========== ============= =================================== ===== -Windows 10+ Ubuntu 20.04+ 10.15+ (except 12.0, 12.1 and 12.2) 15.0+ -=========== ============= =================================== ===== -**NOTE:** WSL does not support Bluetooth. +.. list-table:: + :header-rows: 1 + + * - Platform + - Versions + - Notes + * - Windows + - Windows 10+ + - • WSL does not support Bluetooth. + • Only a single adapter is supported by the OS backend. + * - Linux + - Ubuntu 20.04+ + - • Other distros using Bluez as their Bluetooth backend should work. + * - MacOS + - 10.15+ (Catalina and newer) + - • MacOS 12.0, 12.1, and 12.2 have a bug where the adapter won't return any peripherals after scanning. + • Only a single adapter is supported by the OS backend. + * - iOS + - 15.0+ + - • Older versions of iOS might work but haven't been formally tested. + * - Android (Alpha) + - API 31+ + - • Older APIs are missing certain features of the JVM API that are required by SimpleBLE. Projects using SimpleBLE ------------------------ @@ -62,19 +78,23 @@ Since February 15th 2024, SimpleBLE is now available under the GNU General Publi version 3 (GPLv3), with the option for a commercial license without the GPLv3 restrictions available for a fee. -**More information on pricing and commercial terms of service will be available soon.** - -To enquire about a commercial license, please contact us at ``contact at simpleble dot org``. - -**NOTICE:** The following projects are allowed to use SimpleBLE under a GNU Lesser General Public -License version 3 (LGPLv3), due to their past contributions: `BrainFlow`_, `InsideBlue`_, `NodeWebBluetooth`_. +**You can find more information on pricing and commercial terms of service on our `website`_.** -Likewise, if you are using SimpleBLE in an open-source project and would like to request -a free commercial license or if you have any other questions, please reach out at ``contact at simpleble dot org``. +For further enquiries, please contact us at ``contact at simpleble dot org``. Licensing FAQ ------------- +I'm already using SimpleBLE. What happens to my project? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Please reach out at ``contact at simpleble dot org`` and we can discuss the specifics of your +situation. It is my intention to make this transition as smooth as possible for existing users, +and I'm open to finding a solution that works for everyone. + +If you are using SimpleBLE in an open-source project and would like to request +a free commercial license or if you have any other questions, do not hesitate to reach out. + Why are you making this change? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -84,44 +104,23 @@ of products that have been built around it, in particular around notable names i and industrial sectors, which has been both surprising and encouraging. Providing robust support for these diverse and critical use cases is a resource-intensive endeavor which can't be achieved on goodwill alone, especially so when the underlying APIs are also evolving and life having its own -plans. By introducing a commercial license, I'm opening a pathway to dedicate more resources to +plans. By introducing a commercial license, we're opening a pathway to dedicate more resources to enhance SimpleBLE. Some of the things on the roadmap include: + - Bindings into more languages and frameworks. - Hardware-in-the-loop test infrastructure. - Offering bounties and revenue sharing with other developers who contribute. - Providing more comprehensive documentation and tutorials. -Despite this transition, I remain firmly committed to the open-source philosophy. SimpleBLE was grown +Despite this transition, We remain firmly committed to the open-source philosophy. SimpleBLE was grown a lot thanks to the feedback of the open-source community, and that foundation will always be a part of the project. The GPLv3 license option ensures continued accessibility for open-source projects, -and I pledge to actively contribute to and collaborate with the community whenever possible. +and we pledge to actively contribute to and collaborate with the community whenever possible. -Ultimately, the success of SimpleBLE has been fueled by its open nature, and I believe this +Ultimately, the success of SimpleBLE has been fueled by its open nature, and we believe this dual-licensing model strengthens that success by enabling both community-driven growth and targeted enhancements that benefit everyone. - -I'm already using SimpleBLE. What happens to my project? -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Please reach out at ``contact at simpleble dot org`` and we can discuss the specifics of your -situation. It is my intention to make this transition as smooth as possible for existing users, -and I'm open to finding a solution that works for everyone. - - -What do you consider "commercial use"? -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Commercial use in the context of SimpleBLE refers to any usage of the SimpleBLE or any of its -language bindings in a commercial setting where it contributes, either directly or indirectly, -to financial gain. This includes, but is not limited to, incorporating SimpleBLE into commercial -software products, using it in the development of services offered for a fee, or deploying it -within internal tools or software in a for-profit organization where it adds business value. -The key factor is the use of the library as a component in a revenue-generating or -business-advancing context, irrespective of whether the library itself is sold or offered as -a standalone product. - - What does the GPLv3 license imply for my commercial project? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The GPLv3 license ensures that end users have the freedom to run, study, share, and modify the software. @@ -133,6 +132,8 @@ You can find the full text of the GPLv3 license at https://www.gnu.org/licenses/ .. Links +.. _website: https://simpleble.org + .. _SimplePyBLE: https://pypi.org/project/simplepyble/ .. _SimpleRsBLE: https://crates.io/crates/simplersble diff --git a/docs/conf.py b/docs/conf.py index 98fc414e..42ebfed1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -50,8 +50,8 @@ # -- External Apps ----------------------------------------------------------- -subprocess.call('doxygen', shell=True) -subprocess.call(["pip", "install", "."], cwd=(root / "simplepyble")) +# subprocess.call('doxygen', shell=True) +# subprocess.call(["pip", "install", "."], cwd=(root / "simplepyble")) # -- Options for HTML output ------------------------------------------------- diff --git a/docs/extras.rst b/docs/extras.rst index f87d2de1..e028efab 100644 --- a/docs/extras.rst +++ b/docs/extras.rst @@ -1,6 +1,9 @@ -====================== +Extras +====== + Building documentation -====================== +---------------------- + To build documentation for the projects in this repository, you first need to install Sphynx, using the following commands: :: @@ -13,10 +16,8 @@ by calling the following commands: :: cd /docs make html - -================= Release checklist -================= +----------------- Before releasing a new version of the project, the following steps should be performed: diff --git a/docs/index.rst b/docs/index.rst index 4355ea01..cec44c92 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,5 @@ SimpleBLE -========== +========= The ultimate fully-fledged cross-platform library and bindings for Bluetooth Low Energy (BLE). @@ -15,6 +15,7 @@ Table of Contents :caption: General overview + licensing_faq changelog extras diff --git a/docs/licensing_faq.rst b/docs/licensing_faq.rst new file mode 100644 index 00000000..3194d0f0 --- /dev/null +++ b/docs/licensing_faq.rst @@ -0,0 +1,1387 @@ + +License +======= + +Since February 15th 2024, SimpleBLE is now available under the GNU General Public License +version 3 (GPLv3), with the option for a commercial license without the GPLv3 restrictions +available for a fee. You can find more information on pricing and commercial terms of service +on our `website`_. + +For further enquiries, please contact us at ``contact at simpleble dot org``. + +Likewise, if you are using SimpleBLE in an open-source project and would +like to request a free commercial license or if you have any other +questions, please reach out at ``contact at simpleble dot org``. + +Licensing FAQ +------------- + +I'm already using SimpleBLE. What happens to my project? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Please reach out at ``contact at simpleble dot org`` and we can discuss the specifics of your +situation. It is my intention to make this transition as smooth as possible for existing users, +and I'm open to finding a solution that works for everyone. + +If you are using SimpleBLE in an open-source project and would like to request +a free commercial license or if you have any other questions, do not hesitate to reach out. + +Why are you making this change? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +So far, SimpleBLE has been a labor of passion with over 4000 hours invested in multiple iterations. +The decision to transition SimpleBLE to a dual-licensing model is mainly driven by the kind +of products that have been built around it, in particular around notable names in the medical +and industrial sectors, which has been both surprising and encouraging. Providing robust support for +these diverse and critical use cases is a resource-intensive endeavor which can't be achieved on +goodwill alone, especially so when the underlying APIs are also evolving and life having its own +plans. By introducing a commercial license, we're opening a pathway to dedicate more resources to +enhance SimpleBLE. Some of the things on the roadmap include: + +- Bindings into more languages and frameworks. +- Hardware-in-the-loop test infrastructure. +- Offering bounties and revenue sharing with other developers who contribute. +- Providing more comprehensive documentation and tutorials. + +Despite this transition, We remain firmly committed to the open-source philosophy. SimpleBLE was grown +a lot thanks to the feedback of the open-source community, and that foundation will always be a part +of the project. The GPLv3 license option ensures continued accessibility for open-source projects, +and we pledge to actively contribute to and collaborate with the community whenever possible. + +Ultimately, the success of SimpleBLE has been fueled by its open nature, and we believe this +dual-licensing model strengthens that success by enabling both community-driven growth and +targeted enhancements that benefit everyone. + +What does the GPLv3 license imply for my commercial project? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The GPLv3 license ensures that end users have the freedom to run, study, share, and modify the software. +It requires that any modified versions of SimpleBLE, or any software incorporating it, also be +distributed under the GPLv3. Essentially, if your project incorporates SimpleBLE and is distributed, +the entire codebase must be open-source under the GPLv3. + +You can find the full text of the GPLv3 license at https://www.gnu.org/licenses/gpl-3.0.html. + + +-------------- + +SimpleBLE Commercial License Agreement +-------------------------------------- + +Version 1.2 - 2024-06-28 + +Copyright © 2024 - THE CALIFORNIA OPEN SOURCE COMPANY LLC + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +0. Definitions +^^^^^^^^^^^^^^ + +- **“Licensed Technology”** shall mean the software, documentation, + code, materials, and any other intellectual property specified in + Appendix A as provided by the Licensor to the Licensee under this + Agreement, as well as any updates, modifications, or improvements + thereto made by either the Licensor or the Licensee. + +- **“Licensor”** shall mean the individual, corporation, or other legal + entity that owns or controls the intellectual property rights in the + Licensed Technology and grants the Licensee a license to use the + Licensed Technology under the terms and conditions of this Agreement. + +- **“Licensee”** shall mean the individual, corporation, or other legal + entity that is granted a license to use the Licensed Technology under + the terms and conditions of this Agreement. + +- **“Parties”** shall mean the Licensor and the Licensee collectively, + and “Party” shall mean either the Licensor or the Licensee + individually, as the context requires. + +- **“Affiliate”** shall mean, with respect to a Party, any entity that + directly or indirectly controls, is controlled by, or is under common + control with such Party. For purposes of this definition, “control” + means the power to direct or cause the direction of the management + and policies of an entity, whether through the ownership of voting + securities, by contract, or otherwise. + +- **“Employee”** shall mean any individual who is employed by either + Party or any of its Affiliates on a full-time, part-time, or + temporary basis, and who is subject to the direction and control of + the employing Party or Affiliate with respect to the time, place, and + manner of their work. The term “Employee” shall not include + Contractors. + +- **“Contractor”** shall mean any individual or entity that is not an + Employee of either Party or any of its Affiliates, but is engaged by + a Party or its Affiliate to perform services on their behalf. + Contractors may include, but are not limited to, consultants, + advisors, or outsourced service providers. + +- **“Intellectual Property Rights”** means any form of protection + afforded anywhere in the world by law to inventions, works, designs, + software, trade secrets, confidential information, know-how and other + proprietary information and data, including without limitation + patents (including re-issues, divisions, continuations and extensions + thereof), copyrights, database rights, registered and not-registered + design rights, utility models, mask works, as well as applications + for any such rights. + +- **“Application”** shall mean a product, service, or solution + developed by the Licensee that incorporates the Licensed Technology + and adds primary and substantial functionality, features, or + improvements that are distinct from those provided by the Licensed + Technology itself. An Application must have a clear and distinctive + goal that goes beyond merely serving as a wrapper, modification, or + adaptation of the Licensed Technology. + +- **“Derivative Work”** shall mean any modification, adaptation, + translation, improvement, enhancement, or other work based on or + derived from the Licensed Technology that does not add primary and + substantial functionality, features, or improvements distinct from + those provided by the Licensed Technology itself. This includes, + without limitation, any product, service, or solution that + integrates, incorporates, bundles, wraps, interfaces with, or adapts + the Licensed Technology without significantly changing or enhancing + its original functionality, features, or purpose. + +- **“Documentation”** shall mean any user manuals, technical manuals, + specifications, or other written materials provided by the Licensor + that describe the features, functions, or operation of the Licensed + Technology. + +- **“Feedback”** shall mean any suggestions, comments, ideas, or other + information provided by the Licensee to the Licensor regarding the + Licensed Technology, including but not limited to bug reports, + feature requests, and performance evaluations. + +- **“Compatible Open-Source Licenses”** shall mean open-source software + licenses allowing for the free use, modification, and distribution of + the Licensed Technology, without imposing conflicting or additional + restrictions. The only valid licenses are: (a) MIT License (b) Apache + License 2.0 (c) BSD 3-Clause “New” or “Revised” License. + +- **“Non-Compatible Open-Source Licenses”** shall mean any license + terms that are inconsistent with or conflict with the terms of this + Agreement, including but not limited to the GNU General Public + License (GPL), Lesser GPL (LGPL), or the Creative Commons + Attribution-ShareAlike License. + +- **“Fees”** shall mean the amounts payable by the Licensee to the + Licensor in consideration for the rights and licenses granted under + this Agreement. + +- **“Term”** shall mean the duration of this Agreement, as specified in + Appendix A, commencing on the Effective Date and continuing until the + expiration or termination of this Agreement in accordance with its + terms. + +- **“Effective Date”** shall mean the date on which this Agreement + comes into force, as specified in Appendix A or as determined by the + mutual execution of this Agreement by both parties. + +- **“Force Majeure Event”** shall have the meaning set forth in Section + 13. + +- **“End User”** shall mean any individual, corporation, or other legal + entity that is not a party to this Agreement, but obtains and uses + the Application developed by the Licensee, either under the terms of + a Compatible License or through a commercial arrangement with the + Licensee. + +1. Object of the Agreement +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1.1 The primary purpose of this Agreement is to delineate the terms +under which the Licensor grants the Licensee specific rights pertaining +to the use of the Licensed Technology. It is explicitly stated and +understood that this Agreement does not grant any rights, privileges, or +licenses to any third parties not explicitly mentioned herein. + +1.2 Under the terms outlined in this Agreement, contingent upon the +Licensee’s timely payment of Fees as specified in Appendix A, and strict +adherence to all other terms and conditions herein, the Licensor grants +the Licensee a worldwide, non-exclusive, non-sublicensable, and +non-transferable license to use or modify the Licensed Technology, for +the sole purposes of creating Application based on the Licensed +Technology for and marketing, promoting, licensing, maintaining and +supporting such Applications to/for End-User,, subject to the +limitations and restrictions set forth in this Agreement. + +1.3 All rights bestowed upon the Licensee under this Agreement are +conferred solely through licensing and not by sale. These rights are +also circumscribed and governed by the terms of this Agreement. This +Agreement does not grant any license or other rights in any intellectual +property other than the Licensed Technology. No license or rights will +arise under this Agreement by implication, estoppel, or any other means. +Any attempt at sublicensing that contradicts the terms of this Agreement +will be deemed invalid and without effect. + +1.4 The effective period of this Agreement commences both Parties +signing this Agreement and the subsequent payment of the Fee by the +Licensee. This initiation is contingent upon these dual conditions being +met, marking the start of the Term as indicated in Appendix A and +continuing for the Term as indicated in Appendix A. Following the +conclusion of this Term, the Agreement may be subject to renewal, based +on mutual consent of both Parties and contingent upon the Licensee’s +payment of any applicable renewal fees, as well as their continued +compliance with the terms set forth herein. + +1.5 The Licensee acknowledges and agrees that any use of the Licensed +Technology or any Derivative Work by the Licensee outside the scope of +this Agreement shall constitute a material breach of this Agreement and +may result in the immediate termination of the license granted herein. +The Licensee shall promptly notify the Licensor of any unauthorized use +or disclosure of the Licensed Technology and take reasonable steps to +prevent further breach of this Agreement. + +2. Intellectual Property +^^^^^^^^^^^^^^^^^^^^^^^^ + +2.1 The Licensor retains all right, title, and interest, including all +Intellectual Property Rights, in and to the Licensed Technology. This +Agreement does not grant the Licensee any ownership rights in the +Licensed Technology, but only the limited license rights expressly set +forth herein. The Licensed Technology is protected by copyright laws, +international copyright treaties, and other Intellectual Property Laws +and treaties. Any unauthorized copying, modification, distribution, or +use of the Licensed Technology is strictly prohibited and may subject +the Licensee to legal action. + +2.2 The Licensee shall own the Intellectual Property Rights in any +Application developed by the Licensee, excluding the Licensed Technology +and any Derivative Works. The Licensee is hereby granted the privilege +to alter, adapt, and modify the Licensed Technology as necessary to meet +specific requirements or objectives. Any Derivative Work based on or +derived from the Licensed Technology shall be owned by the Licensor and +considered part of the Licensed Technology, subject to the terms and +conditions of this Agreement. The Licensee shall have no ownership +rights in Derivative Works. + +2.3 End Users may use, modify, and distribute the Application in +accordance with the terms of the applicable Compatible License or +commercial agreement, with the licensee, but shall have no rights to the +Licensed Technology except as expressly granted in this Agreement. + +3. Fees and Taxes +^^^^^^^^^^^^^^^^^ + +3.1 The Licensee shall pay the Licensor the fees specified in Appendix A +(the “Fees”) in accordance with the payment terms set forth therein. If +the Licensee fails to pay the Fees within the agreed payment term, the +Licensee shall owe Late Payment Charges as specified in Appendix A. + +3.2 All Fees are non-refundable, and the Licensor shall have no +obligation to refund any Fees paid by the Licensee, except as expressly +provided in this Agreement. The Licensee shall not be entitled for any +reason to any set-off, counter-claim, abatement, or other similar +deduction to withhold payment of any amount due to the Licensor. + +3.3 All Fees are exclusive of any applicable taxes, levies, or duties, +including but not limited to value-added tax, sales tax, or withholding +tax. The Licensee shall be responsible for paying all such taxes, +levies, or duties associated with the Fees, except for those based on +the Licensor’s income. + +3.4 If the Licensor is required to pay or collect any such taxes, +levies, or duties on behalf of the Licensee, the amount payable by the +Licensee shall be increased to the extent necessary to ensure that the +Licensor receives a sum equal to the Fees it would have received had no +such deduction or withholding been required. The Licensor shall provide +the Licensee with appropriate tax invoices or receipts evidencing the +payment of any such taxes, levies, or duties. The Licensee shall furnish +the Licensor with any relevant tax exemption certificates or other +documentation required to minimize or eliminate any applicable taxes, +levies, or duties. + +4. General Provisions +^^^^^^^^^^^^^^^^^^^^^ + +4.1 **Entire Agreement.** This Agreement, together with Appendix A, +collectively forms the complete and exclusive terms of the arrangement +between the Parties. It supersedes all prior or contemporaneous +discussions, representations, contracts, including but not limited to +previous License Agreements and similar agreements, as well as +proposals, whether written or oral, concerning the subject matters +herein. + +4.2 **Severability.** In the event any portion of this Agreement is +deemed invalid or unenforceable, such portion shall not limit or +otherwise modify or affect any other portion of this Agreement Without +limiting the generality of the foregoing, if the scope of any provision +contained in this Agreement is too broad to permit enforcement to its +fullest extent, such covenant shall be enforced to the maximum extent +permitted by law, and the Parties hereby agree that such scope may be +judicially modified accordingly. + +4.3 **Modification Waiver.** This Agreement is furnished ‘as-is’ and no +amendments to its terms are permissible. The failure of either Party to +enforce any provision of this Agreement may not be deemed a waiver of +that or any other provision of this Agreement. + +4.4 **Marketing.** Licensee agrees that the Licensor may use the +Licensee’s name, trade name, and trademark in the Licensor’s marketing +materials and on its website, solely for the purpose of identifying the +Licensee as a customer of the Licensor. Such use shall be in accordance +with the Licensee’s brand guidelines and shall not imply any endorsement +or affiliation beyond the scope of this Agreement. The Licensor shall +promptly cease any such use upon written request from the Licensee. + +4.5 **Compliance with Applicable Laws.** In the course of employing the +Licensed Technology pursuant to this Agreement, the Licensee shall +ensure compliance with all relevant laws and regulations. The Licensee +is prohibited from engaging in the renting, leasing, or similar disposal +of the Licensed Technology in any manner that contradicts this +Agreement. Additionally, the Licensee must refrain from any +misappropriation or unauthorized utilization of other products or +services offered by the Licensor. + +4.6 **Trademarks.** The Licensee shall not remove or alter any +copyright, trademark, or other proprietary rights notice(s) contained in +any portion of the Licensed Technology. Applications must add primary +and substantial functionality to the Licensed Technology so as not to +compete with the Licensed Technology. + +4.7 **Prohibited Activities.** The Licensee shall not use the Licensed +Technology for any unlawful purpose, including without limitation the +infringement of any third party’s Intellectual Property Right or other +proprietary rights. The Licensee agrees that it shall not claim any +right to or license (except for the license granted pursuant to Section +1.2 above) with respect to the Licensed Technology nor shall the +Licensee contest or assist in contesting the Licensor’s right, title and +interest in and to such the Licensed Technology. Further, the Licensee +shall not partake in activities that contribute to or support claims, +whether made by the Licensee or any third party, alleging that the +Licensed Technology infringes on any patents. The sale of the Licensed +Technology or the establishment of a security interest over it is +strictly prohibited. Moreover, the distribution of any product, +inclusive of the Licensed Technology, shall be conducted strictly in +accordance with the permissions explicitly granted by this Agreement. + +4.8 **Assignment.** The Licensee is barred from assigning or +transferring any rights, benefits, or obligations under this Agreement, +unless such transfer is part of the sale of its relevant business or +assets, or is done with the Licensor’s prior written consent, which is +not to be unreasonably withheld or delayed. In contrast, the Licensor +retains the unencumbered right to assign or transfer any of its rights, +benefits, or obligations under this Agreement. + +4.9 **Injunctive Relief.** The Licensee hereby acknowledges that +unauthorized disclosure and/or use of any of the Licensed Technology +could cause irreparable harm and significant injury to the Licensor that +may be difficult to ascertain. Accordingly, the Licensee agrees that, in +addition to any other rights and remedies it may have, the Licensor will +have the right to seek immediate injunctive relief to enforce the +obligations under this Agreement without the necessity of posting a bond +or any other security. + +4.10 **No Representation.** The Licensee shall not represent itself as +an agent of the Licensor for any purpose, nor give any condition or +warranty or make any representation on the Licensor’s behalf or commit +the Licensor to any contracts. Further, the Licensee shall not make any +representations, warranties, guarantees or other commitments with +respect to the specifications, features or capabilities of the Licensed +Technology or otherwise incur any liability on behalf of the Licensor in +any circumstances. + +4.11 **Audits.** The Licensor has the right to audit the Licensee +compliance with its obligations under this Agreement. The Licensee shall +provide to the Licensor and its personnel, auditors and inspectors such +assistance, access and co-operation as they may need and reasonably +require. + +4.12 **Cumulative Remedies.** Any remedies specified in this Agreement +are cumulative and are not intended to be exclusive of any other +remedies to which the Licensor may be entitled at law or equity in case +of any breach or threatened breach by the Licensee of any provision of +this Agreement, unless such remedies are specifically limited or +excluded by the terms of any provision of this Agreement. + +4.13 **Survival.** Certain provisions of this Agreement are designed to +outlast its termination. These provisions, due to their inherent nature +or as specifically indicated, will continue to be valid and enforceable +even after the termination of this Agreement. + +5. Feedback and Updates +^^^^^^^^^^^^^^^^^^^^^^^ + +5.1 The Licensee hereby grants to the Licensor the unrestricted right to +freely utilize and disclose any Feedback that the Licensee provides +concerning the Licensed Technology. The Licensee acknowledges and agrees +that all Feedback may be employed by the Licensor for any purpose, +whether commercial, developmental, or otherwise, without any obligation +for acknowledgment, compensation, or other consideration to the +Licensee. This includes, but is not limited to, the right to develop, +copy, publish, modify, enhance, or otherwise make improvements to the +Licensed Technology, at the sole discretion of the Licensor. The +Licensee recognizes that all Feedback shall be considered +non-confidential and the Licensor is free to use such Feedback without +any restriction or obligation of confidentiality. + +5.2 During the Term, the Licensor may develop and release updates, +upgrades, or new versions of the Licensed Technology. The Licensee shall +have the right to receive and use such updates, upgrades, or new +versions, subject to the terms and conditions of this Agreement. + +5.3 The Licensee’s right to receive and use updates, upgrades, or new +versions shall continue until the termination of this Agreement, as +outlined in Section 8. Upon termination, the Licensee shall have no +further right to receive any updates, upgrades, or new versions of the +Licensed Technology. + +5.4 All updates, upgrades, or new versions of the Licensed Technology +provided to the Licensee shall be considered part of the Licensed +Technology and subject to the terms and conditions of this Agreement, +unless otherwise specified by the Licensor in writing. + +5.5 Notwithstanding the Licensee’s right to receive updates, upgrades, +or new versions, the Licensor is under no obligation to develop or +release any such updates, upgrades, or new versions. The development and +release of updates, upgrades, or new versions shall be at the sole +discretion of the Licensor. + +6. End User Rights and Obligations +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +6.1 End Users who obtain the Application, either under a Compatible +Open-Source License or through a commercial arrangement with the +Licensee, may use, modify, and distribute the Application, subject to +the terms and conditions of the applicable Compatible Open-Source +License or commercial agreement. However, End Users shall have no right +to use, modify, or distribute the Licensed Technology, or any part +thereof, except as incorporated in the Application and subject to the +terms and conditions of this Agreement. + +6.2 The Licensee shall include a prominent notice in the Application’s +documentation, user interface, and source code, stating the following: + +:: + + IMPORTANT NOTICE: This Application is built upon the [Licensed Technology Name], which is owned by [Licensor Name] and used under license. As an End User of this Application, you are prohibited from using, modifying, or distributing the [Licensed Technology Name], or any part thereof, except as incorporated in this Application. Specifically, you may not: + + a) Extract, isolate, or separate the [Licensed Technology Name] from this Application; + b) Use the [Licensed Technology Name] for any purpose other than as part of this Application; + c) Modify, adapt or translate the [Licensed Technology Name]; + d) Create any Derivative Works based on the [Licensed Technology Name]; + e) Distribute, sublicense, rent, lease, lend, or transfer the [Licensed Technology Name] to any third party; + f) Reverse engineer, decompile, disassemble, or attempt to derive the source code of the [Licensed Technology Name]; + g) Remove, obscure, or alter any copyright, trademark, or other proprietary rights notices contained within the [Licensed Technology Name]. + + Your use of this Application is subject to your compliance with these restrictions. If you have any questions about these terms, please contact [Licensee Name]. + +The Licensee shall include a copy of this notice in all copies or +substantial portions of the Application. + +6.3 End Users must comply with all applicable laws, regulations, and +third-party rights when using, modifying, or distributing the +Application. + +6.4 The Licensee shall indemnify, defend, and hold harmless the Licensor +from and against any claims, damages, liabilities, costs, and expenses +arising out of or in connection with any use of the Application by End +Users, including any use that breaches the terms and conditions of this +Agreement. + +7. Use of Non-Compatible Open-Source Licenses +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In adherence to the terms of this Agreement, the Licensee is expressly +prohibited from, and shall not permit any third party or End User to, +integrate, distribute, or otherwise utilize the Licensed Technology in +conjunction with any code, software, or content that is subject to a +license incompatible with the terms of this Agreement, hereafter +referred to as “Non-Compatible Open-Source Licenses”. Such prohibitive +action includes, but is not limited to, any combination or use that +would necessitate, either directly or indirectly, that the Licensed +Technology be subject or conform to any licensing terms other than those +explicitly set forth in this Agreement. + +8. Termination +^^^^^^^^^^^^^^ + +8.1 This Agreement may be terminated without cause by either Party upon +written notice to the other Party, provided such notice period is no +less than three (3) months. + +8.2 Either Party may terminate this Agreement with immediate effect, if +the other Party commits a material breach of the terms of this Agreement +and has not remedied such breach upon the non-breaching Party’s written +notice within a reasonable timeframe, which shall be no less than thirty +(30) days). + +8.3 The Licensor may also immediately terminate this Agreement upon +written notice to the Licensee if the Licensee becomes bankrupt, +insolvent, enters into liquidation, or undergoes debt restructuring. + +9. Rights and Duties upon Termination +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +9.1 Upon termination of this Agreement, the Licensee’s rights to use or +modify the Licensed Technology, and to create Derivative Works based on +the Licensed Technology, shall immediately cease, except as provided in +Section 9.2. + +9.2 In the event that this Agreement is terminated by either Party +without cause pursuant to Section 8.1, or by the Licensor due to the +Licensee’s bankruptcy, insolvency, liquidation, or debt restructuring +pursuant to Section 8.3, or upon the conclusion of the Term as specified +in Section 1.4, the Licensee shall retain the right to continue using +the Licensed Technology, limited to the version in use immediately prior +to the termination date, solely for the purpose of maintaining and +supporting existing Applications. The Licensee shall have no right to +receive any updates, modifications, or improvements to the Licensed +Technology made by the Licensor after the termination date. + +9.3 In the event that this Agreement is terminated by either Party due +to a material breach by the other Party pursuant to Section 8.2, the +Licensee’s right to continue using the Licensed Technology as described +in Section 9.2 shall not apply, and all rights granted to the Licensee +under this Agreement shall immediately terminate. + +9.4 Expiry or termination of this Agreement shall not relieve the +Licensee of its obligation to pay any Fees accrued or payable to the +Licensor prior to the effective date of termination, and the Licensee +shall pay to the Licensor all such Fees within 30 days from the +effective date of termination. + +9.5 The Licensee acknowledges and agrees that, following the termination +of this Agreement, it shall remain bound by its obligations under this +Agreement with respect to any use of the Licensed Technology, including +in Applications already distributed, and shall ensure that such use +remains in compliance with the terms of this Agreement. + +10. Notices +^^^^^^^^^^^ + +Any notice given by one Party to the other shall be deemed properly +given and deemed received if specifically acknowledged by the receiving +Party in writing. Additionally, any notice issued by the Licensor to the +Licensee using the email address provided by the Licensee to the +Licensor will be effective from the moment it was sent. Each +communication and document made or delivered by one Party to the other +Party pursuant to this Agreement shall be in the language specified in +Appendix A. + +11. Warranty Disclaimers +^^^^^^^^^^^^^^^^^^^^^^^^ + +THE LICENSED TECHNOLOGY, INCLUDING ALL SOFTWARE, DOCUMENTATION, +INFORMATION, CONTENT, MATERIALS, CODE, AND RELATED SERVICES, ARE +PROVIDED BY THE LICENSOR ON AN “AS IS” AND “AS AVAILABLE” BASIS. THE +LICENSOR AND ITS AFFILIATES HEREBY DISCLAIM ALL WARRANTIES, WHETHER +EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE. SPECIFICALLY, THE LICENSOR +AND ITS AFFILIATES MAKE NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, +EXPRESS OR IMPLIED, REGARDING THE LICENSED TECHNOLOGY, INCLUDING BUT NOT +LIMITED TO IMPLIED OR STATUTORY WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT OF INTELLECTUAL +PROPERTY OR OTHER PROPRIETARY RIGHTS, AND ALL WARRANTIES ARISING FROM +COURSE OF DEALING, USAGE, OR TRADE PRACTICE. THE LICENSOR AND ITS +AFFILIATES DO NOT WARRANT THAT THE LICENSED TECHNOLOGY, OR ANY PRODUCTS +OR RESULTS OF THE USE THEREOF, WILL MEET LICENSEE’S OR ANY OTHER +PERSON’S REQUIREMENTS, OPERATE WITHOUT INTERRUPTION, ACHIEVE ANY +INTENDED RESULT, BE COMPATIBLE OR WORK WITH ANY SOFTWARE, SYSTEM, OR +OTHER SERVICES, OR BE SECURE, ACCURATE, COMPLETE, FREE OF HARMFUL CODE, +OR ERROR-FREE AT THE TIME OF THIS AGREEMENT OR AT ANY TIME IN THE +FUTURE. FURTHER, THE LICENSOR AND ITS AFFILIATES DO NOT WARRANT THAT THE +LICENSED TECHNOLOGY IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. THE +PARTIES ACKNOWLEDGE AND AGREE THAT THE FOREGOING WARRANTY DISCLAIMERS +ARE AN ESSENTIAL ELEMENT IN SETTING CONSIDERATION UNDER THIS AGREEMENT. + +12. Limitation of Liability +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSOR WILL NOT BE +LIABLE FOR ANY LOST PROFITS, LOSS OF SAVINGS, LOSS OR CORRUPTION OF +DATA, LOSS OR INTERRUPTION OF BUSINESS, LOSS OF GOODWILL OR REPUTATION, +CLAIMS MADE BY ANY END-USER OR ANY OTHER THIRD PARTY, OR ANY OTHER +INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL, OR PUNITIVE COSTS, +DAMAGES, OR EXPENSES OF ANY KIND ARISING UNDER OR IN CONNECTION WITH +THIS AGREEMENT. FURTHER, THE LICENSOR’S AGGREGATE LIABILITY UNDER THIS +AGREEMENT SHALL NOT EXCEED THE TOTAL AMOUNTS PAID (IF ANY) TO THE +LICENSOR UNDER THIS AGREEMENT DURING THE TWELVE (12) MONTHS IMMEDIATELY +PRECEDING THE EVENTS GIVING RISE TO THE LIABILITY. SEEKING DAMAGES AS +LIMITED BY THIS SECTION SHALL BE THE SOLE AND EXCLUSIVE REMEDY TO THE +LICENSEE FOR ANY ACT OR OMISSION OF THE LICENSOR. THESE LIMITATIONS OF +LIABILITY AND EXCLUSIONS OF POTENTIAL DAMAGES WERE AN ESSENTIAL ELEMENT +IN SETTING CONSIDERATION UNDER THIS AGREEMENT. + +13. Force Majeure +^^^^^^^^^^^^^^^^^ + +Neither Party shall be liable to the other for any delay or +non-performance of its obligations hereunder in the event and to the +extent that such delay or non-performance is due to an event beyond a +Party’s reasonable control and without the fault or negligence of such +Party. Such causes may include, but are not limited to, any God, +terrorist attack, destruction of all available copies of the Licensed +Technology, governmental actions such as changes in law or embargoes, +cyberattacks including but not limited to significant DDoS attacks or +other cybersecurity breaches that disrupt services, critical +infrastructure failure involving essential utilities including but not +limited to electricity or internet services, but in every case the +failure to perform must be beyond the control and without the fault or +negligence of the affected Party and cannot be avoided or circumvented +by such party (“Force Majeure Event”). In the occurrence of any such +event, the affected Party shall notify the other Party as soon as +reasonably possible and shall use all reasonable endeavors to mitigate +the effects of the Force Majeure Event. If the Force Majeure Event +results in a delay or non-performance of a Party for a period of three +(3) months or longer, then either Party shall have the right to +terminate this Agreement with immediate effect without any liability +(except for the obligations of payment arising prior to the Force +Majeure Event) towards the other Party. + +14. Indemnification +^^^^^^^^^^^^^^^^^^^ + +Under this Agreement, the Licensee agrees to indemnify, defend, and hold +harmless the Licensor, its officers, directors, employees, agents, +affiliates, successors, and assigns from any liabilities, damages, +judgments, awards, losses, costs, expenses, including reasonable +attorney and expert witness fees, arising out of or in connection with +any third-party claims, suits, actions, or proceedings. This indemnity +covers claims resulting from the Licensee’s breach of this Agreement, +negligence, willful misconduct, use of the Licensed Technology, or +related to the Licensee’s products. Excluded from this indemnification +are claims alleging that the Licensee’s authorized use of unmodified +Licensed Technology provided by the Licensor infringes any patent, +trademark, or copyright. The Licensor reserves the right, at its option +and sole discretion, to assume full control of the defense of such +claims with legal counsel of its choice. The Licensee is not permitted +to enter into any third-party agreement that would affect the Licensor’s +rights, constitute an admission of fault by the Licensor, or bind the +Licensor in any manner, without the Licensor’s prior written consent. +The Licensee must promptly notify the Licensor in writing of any claims +brought against the Licensor for which indemnification or defense is +sought, thereby enabling the Licensor to manage legal strategies and +potential settlements effectively. For the avoidance of doubt, the +Licensor does not have any obligation to defend the Licensee or any +End-User against such claim and therefore such defense shall be up to +the Licensor’s sole discretion. If the Licensor decides to not defend a +claim for infringement of Intellectual Property Rights, the Licensee may +defend itself through counsel of its own choice and at its own expense. +The Licensor shall have no liability for any costs, expenses, losses or +damages incurred by the Licensee or any of its End-Users in the event of +such claim. + +15. Governing Law and Jurisdiction +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The Licensor and the Licensee hereby mutually concur that the governance +and interpretation of this Agreement shall be in strict accordance with +the legal statutes and principles as stipulated in Appendix A. + +16. Dispute Resolution +^^^^^^^^^^^^^^^^^^^^^^ + +16.1 It is explicitly agreed that any dispute, controversy, or claim +that may arise out of, or in connection with, this contract, inclusive +of, but not limited to, its formation, interpretation, breach, or +termination, and the arbitrability of the claims posited therein, shall +be definitively resolved through arbitration. This arbitration shall be +conducted in full alignment with the JAMS International Arbitration +Rules. + +16.2 Furthermore, the arbitral tribunal shall be comprised of a sole +arbitrator. The venue for such arbitration proceedings shall be as +delineated in Appendix A of this Agreement. Moreover, the proceedings of +the arbitration shall be conducted in the language specified within +Appendix A. It is hereby declared that the award rendered by the said +arbitrator shall be binding and enforceable, and judgment thereon may be +entered in any court of competent jurisdiction. + +17. Confidentiality +^^^^^^^^^^^^^^^^^^^ + +17.1 During the term of this Agreement and thereafter until Confidential +Information becomes subject to one or more of the exceptions set forth +in Section 17.3, each Party shall maintain strict confidentiality +regarding the other Party’s Confidential Information. “Confidential +Information” shall include, but is not limited to, the Licensed +Technology, trade secrets, business plans, strategies, customer +information, and any other proprietary or sensitive information +disclosed by one Party to the other. + +17.2 Each Party agrees to use the Confidential Information solely for +the purposes of exercising its rights and fulfilling its obligations +under this Agreement. The receiving Party shall not disclose or permit +access to Confidential Information to any third party, except to its +Employees, Contractors, or agents who need to know such information for +the purposes of this Agreement and who are bound by confidentiality +obligations no less protective than those set forth herein. + +17.3 The confidentiality obligations shall not apply to information +that: (a) is or becomes publicly available through no fault of the +receiving Party; (b) was known to the receiving Party prior to +disclosure; (c) is independently developed by the receiving Party +without use of or reference to the Confidential Information; or (d) is +required to be disclosed by law or court order, provided that the +receiving Party gives prompt notice to the disclosing Party to enable it +to seek a protective order. + +-------------- + +GNU General Public License version 3 +------------------------------------ + +Preamble +^^^^^^^^ + +The GNU General Public License is a free, copyleft license for software +and other kinds of works. + +The licenses for most software and other practical works are designed to +take away your freedom to share and change the works. By contrast, the +GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program–to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. +Our General Public Licenses are designed to make sure that you have the +freedom to distribute copies of free software (and charge for them if +you wish), that you receive source code or can get it if you want it, +that you can change the software or use pieces of it in new free +programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you these +rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis +or for a fee, you must pass on to the recipients the same freedoms that +you received. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +Developers that use the GNU GPL protect your rights with two steps: (1) +assert copyright on the software, and (2) offer you this License giving +you legal permission to copy, distribute and/or modify it. + +For the developers’ and authors’ protection, the GPL clearly explains +that there is no warranty for this free software. For both users’ and +authors’ sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + +Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of protecting +users’ freedom to change the software. The systematic pattern of such +abuse occurs in the area of products for individuals to use, which is +precisely where it is most unacceptable. Therefore, we have designed +this version of the GPL to prohibit the practice for those products. If +such problems arise substantially in other domains, we stand ready to +extend this provision to those domains in future versions of the GPL, as +needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and +modification follow. + +**TERMS AND CONDITIONS** + +0. Definitions. +^^^^^^^^^^^^^^^ + +“This License” refers to version 3 of the GNU General Public License. + +“Copyright” also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +“The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as “you”. “Licensees” and +“recipients” may be individuals or organizations. + +To “modify” a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a “modified version” of the +earlier work or a work “based on” the earlier work. + +A “covered work” means either the unmodified Program or a work based on +the Program. + +To “propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To “convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays “Appropriate Legal Notices” to +the extent that it includes a convenient and prominently visible feature +that (1) displays an appropriate copyright notice, and (2) tells the +user that there is no warranty for the work (except to the extent that +warranties are provided), that licensees may convey the work under this +License, and how to view a copy of this License. If the interface +presents a list of user commands or options, such as a menu, a prominent +item in the list meets this criterion. + +1. Source Code. +^^^^^^^^^^^^^^^ + +The “source code” for a work means the preferred form of the work for +making modifications to it. “Object code” means any non-source form of a +work. + +A “Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that is +widely used among developers working in that language. + +The “System Libraries” of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that Major +Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A “Major +Component”, in this context, means a major essential component (kernel, +window system, and so on) of the specific operating system (if any) on +which the executable work runs, or a compiler used to produce the work, +or an object code interpreter used to run it. + +The “Corresponding Source” for a work in object code form means all the +source code needed to generate, install, and (for an executable work) +run the object code and to modify the work, including scripts to control +those activities. However, it does not include the work’s System +Libraries, or general-purpose tools or generally available free programs +which are used unmodified in performing those activities but which are +not part of the work. For example, Corresponding Source includes +interface definition files associated with source files for the work, +and the source code for shared libraries and dynamically linked +subprograms that the work is specifically designed to require, such as +by intimate data communication or control flow between those subprograms +and other parts of the work. + +The Corresponding Source need not include anything that users can +regenerate automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same +work. + +2. Basic Permissions. +^^^^^^^^^^^^^^^^^^^^^ + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, +without conditions so long as your license otherwise remains in force. +You may convey covered works to others for the sole purpose of having +them make modifications exclusively for you, or provide you with +facilities for running those works, provided that you comply with the +terms of this License in conveying all material for which you do not +control copyright. Those thus making or running the covered works for +you must do so exclusively on your behalf, under your direction and +control, on terms that prohibit them from making any copies of your +copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the +conditions stated below. Sublicensing is not allowed; section 10 makes +it unnecessary. + +3. Protecting Users’ Legal Rights From Anti-Circumvention Law. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article 11 +of the WIPO copyright treaty adopted on 20 December 1996, or similar +laws prohibiting or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to the +covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work’s +users, your or third parties’ legal rights to forbid circumvention of +technological measures. + +4. Conveying Verbatim Copies. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You may convey verbatim copies of the Program’s source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; keep +intact all notices stating that this License and any non-permissive +terms added in accord with section 7 apply to the code; keep intact all +notices of the absence of any warranty; and give all recipients a copy +of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and +you may offer support or warranty protection for a fee. + +5. Conveying Modified Source Versions. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the terms +of section 4, provided that you also meet all of these conditions: + +- + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + +- + + b) The work must carry prominent notices stating that it is released + under this License and any conditions added under section 7. This + requirement modifies the requirement in section 4 to “keep intact + all notices”. + +- + + c) You must license the entire work, as a whole, under this License + to anyone who comes into possession of a copy. This License will + therefore apply, along with any applicable section 7 additional + terms, to the whole of the work, and all its parts, regardless of + how they are packaged. This License gives no permission to license + the work in any other way, but it does not invalidate such + permission if you have separately received it. + +- + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, and +which are not combined with it such as to form a larger program, in or +on a volume of a storage or distribution medium, is called an +“aggregate” if the compilation and its resulting copyright are not used +to limit the access or legal rights of the compilation’s users beyond +what the individual works permit. Inclusion of a covered work in an +aggregate does not cause this License to apply to the other parts of the +aggregate. + +6. Conveying Non-Source Forms. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You may convey a covered work in object code form under the terms of +sections 4 and 5, provided that you also convey the machine-readable +Corresponding Source under the terms of this License, in one of these +ways: + +- + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + +- + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the Corresponding + Source from a network server at no charge. + +- + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + +- + + d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + +- + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be included +in conveying the object code work. + +A “User Product” is either (1) a “consumer product”, which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for +incorporation into a dwelling. In determining whether a product is a +consumer product, doubtful cases shall be resolved in favor of coverage. +For a particular product received by a particular user, “normally used” +refers to a typical or common use of that class of product, regardless +of the status of the particular user or of the way in which the +particular user actually uses, or expects or is expected to use, the +product. A product is a consumer product regardless of whether the +product has substantial commercial, industrial or non-consumer uses, +unless such uses represent the only significant mode of use of the +product. + +“Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product +from a modified version of its Corresponding Source. The information +must suffice to ensure that the continued functioning of the modified +object code is in no case prevented or interfered with solely because +modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied by +the Installation Information. But this requirement does not apply if +neither you nor any third party retains the ability to install modified +object code on the User Product (for example, the work has been +installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, in +accord with this section must be in a format that is publicly documented +(and with an implementation available to the public in source code +form), and must require no special password or key for unpacking, +reading or copying. + +7. Additional Terms. +^^^^^^^^^^^^^^^^^^^^ + +“Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by this +License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove +any additional permissions from that copy, or from any part of it. +(Additional permissions may be written to require their own removal in +certain cases when you modify the work.) You may place additional +permissions on material, added by you to a covered work, for which you +have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders +of that material) supplement the terms of this License with terms: + +- + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + +- + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + +- + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + +- + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + +- + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + +- + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions + of it) with contractual assumptions of liability to the recipient, + for any liability that these contractual assumptions directly + impose on those licensors and authors. + +All other non-permissive additional terms are considered “further +restrictions” within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains a +further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms of +that license document, provided that the further restriction does not +survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must +place, in the relevant source files, a statement of the additional terms +that apply to those files, or a notice indicating where to find the +applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; the above +requirements apply either way. + +8. Termination. +^^^^^^^^^^^^^^^ + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally terminates +your license, and (b) permanently, if the copyright holder fails to +notify you of the violation by some reasonable means prior to 60 days +after the cessation. + +Moreover, your license from a particular copyright holder is reinstated +permanently if the copyright holder notifies you of the violation by +some reasonable means, this is the first time you have received notice +of violation of this License (for any work) from that copyright holder, +and you cure the violation prior to 30 days after your receipt of the +notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +9. Acceptance Not Required for Having Copies. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You are not required to accept this License in order to receive or run a +copy of the Program. Ancillary propagation of a covered work occurring +solely as a consequence of using peer-to-peer transmission to receive a +copy likewise does not require acceptance. However, nothing other than +this License grants you permission to propagate or modify any covered +work. These actions infringe copyright if you do not accept this +License. Therefore, by modifying or propagating a covered work, you +indicate your acceptance of this License to do so. + +10. Automatic Licensing of Downstream Recipients. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An “entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered work +results from an entity transaction, each party to that transaction who +receives a copy of the work also receives whatever licenses to the work +the party’s predecessor in interest had or could give under the previous +paragraph, plus a right to possession of the Corresponding Source of the +work from the predecessor in interest, if the predecessor has it or can +get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may not +impose a license fee, royalty, or other charge for exercise of rights +granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that any +patent claim is infringed by making, using, selling, offering for sale, +or importing the Program or any portion of it. + +11. Patents. +^^^^^^^^^^^^ + +A “contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The work +thus licensed is called the contributor’s “contributor version”. + +A contributor’s “essential patent claims” are all patent claims owned or +controlled by the contributor, whether already acquired or hereafter +acquired, that would be infringed by some manner, permitted by this +License, of making, using, or selling its contributor version, but do +not include claims that would be infringed only as a consequence of +further modification of the contributor version. For purposes of this +definition, “control” includes the right to grant patent sublicenses in +a manner consistent with the requirements of this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor’s essential patent claims, to make, +use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a “patent license” is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To “grant” such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and +the Corresponding Source of the work is not available for anyone to +copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. “Knowingly relying” means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient’s use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify or +convey a specific copy of the covered work, then the patent license you +grant is automatically extended to all recipients of the covered work +and works based on it. + +A patent license is “discriminatory” if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on +the non-exercise of one or more of the rights that are specifically +granted under this License. You may not convey a covered work if you are +a party to an arrangement with a third party that is in the business of +distributing software, under which you make payment to the third party +based on the extent of your activity of conveying the work, and under +which the third party grants, to any of the parties who would receive +the covered work from you, a discriminatory patent license (a) in +connection with copies of the covered work conveyed by you (or copies +made from those copies), or (b) primarily for and in connection with +specific products or compilations that contain the covered work, unless +you entered into that arrangement, or that patent license was granted, +prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any +implied license or other defenses to infringement that may otherwise be +available to you under applicable patent law. + +12. No Surrender of Others’ Freedom. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not convey it at all. For example, if you agree to terms that +obligate you to collect a royalty for further conveying from those to +whom you convey the Program, the only way you could satisfy both those +terms and this License would be to refrain entirely from conveying the +Program. + +13. Use with the GNU Affero General Public License. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Notwithstanding any other provision of this License, you have permission +to link or combine any covered work with a work licensed under version 3 +of the GNU Affero General Public License into a single combined work, +and to convey the resulting work. The terms of this License will +continue to apply to the part which is the covered work, but the special +requirements of the GNU Affero General Public License, section 13, +concerning interaction through a network will apply to the combination +as such. + +14. Revised Versions of this License. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies that a certain numbered version of the GNU General Public +License “or any later version” applies to it, you have the option of +following the terms and conditions either of that numbered version or of +any later version published by the Free Software Foundation. If the +Program does not specify a version number of the GNU General Public +License, you may choose any version ever published by the Free Software +Foundation. + +If the Program specifies that a proxy can decide which future versions +of the GNU General Public License can be used, that proxy’s public +statement of acceptance of a version permanently authorizes you to +choose that version for the Program. + +Later license versions may give you additional or different permissions. +However, no additional obligations are imposed on any author or +copyright holder as a result of your choosing to follow a later version. + +15. Disclaimer of Warranty. +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF +THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. Limitation of Liability. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR +CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT +NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES +SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE +WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN +ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +17. Interpretation of Sections 15 and 16. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If the disclaimer of warranty and limitation of liability provided above +cannot be given local legal effect according to their terms, reviewing +courts shall apply local law that most closely approximates an absolute +waiver of all civil liability in connection with the Program, unless a +warranty or assumption of liability accompanies a copy of the Program in +return for a fee. + +.. Links + +.. _website: https://simpleble.org \ No newline at end of file diff --git a/docs/overview.rst b/docs/overview.rst index 424d6f83..684a1fe9 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -2,17 +2,17 @@ Overview -------- The SimpleBLE project aims to provide fully cross-platform BLE libraries and bindings -for Python, Rust and C++, designed for simplicity and ease of use with a licensing scheme -chosen to be friendly towards commercial use. All specific operating system quirks -are handled internally to provide a consistent behavior across all platforms. The -libraries also provide first-class support for vendorization of all third-party -dependencies, allowing for easy integration into existing projects. +for C++, Python, Rust and other languages, designed for simplicity and ease of use. +All specific operating system quirks are handled internally to provide a consistent behavior +and API across all platforms. The libraries also provide first-class support for vendorization +of all third-party dependencies, allowing for easy integration into existing projects. + +**NOTICE: Since February 20, 2024 the license terms of SimpleBLE have changed. Please make sure to read and understand the new licensing scheme.** This repository offers the source code for the following related libraries: * **SimpleBLE:** C++ cross-platform BLE library. * **SimplePyBLE:** Python bindings for SimpleBLE. See `SimplePyBLE`_ PyPI page for more details. -* **SimpleRsBLE:** Rust bindings for SimpleBLE. See the `SimpleRsBLE`_ Crates.io page for more details. * **SimpleBluez:** C++ abstraction layer for BlueZ over DBus. (Linux only) * **SimpleDBus:** C++ wrapper for libdbus-1 with convenience classes to handle DBus object hierarchies effectively. (Linux only) @@ -20,117 +20,56 @@ If you want to use SimpleBLE and need help. **Please do not hesitate to reach ou * Visit our `ReadTheDocs`_ page. * Join our `Discord`_ server. -* Contact me: ``kevin at dewald dot me`` (Dedicated consulting services available) - -Are you using SimpleBLE on your own project and would like to see it featured here? -Reach out and I'll add a link to it below! +* Contact us: ``contact at simpleble dot org`` +* Visit our `website`_ for more information. Supported platforms -------------------- -=========== ============= =================================== ===== -Windows Linux MacOS iOS -=========== ============= =================================== ===== -Windows 10+ Ubuntu 20.04+ 10.15+ (except 12.0, 12.1 and 12.2) 15.0+ -=========== ============= =================================== ===== - -Projects using SimpleBLE ------------------------- -Don't forget to check out the following projects using SimpleBLE: - -* `BrainFlow`_ -* `InsideBlue`_ -* `NodeWebBluetooth`_ - -Contributing ------------- -Pull requests are welcome. For major changes, please open an issue first to discuss -what you would like to change. - -License -------- - -Since February 15th 2024, SimpleBLE is now available under the GNU General Public License -version 3 (GPLv3), with the option for a commercial license without the GPLv3 restrictions -available for a fee. - -**More information on pricing and commercial terms of service will be available soon.** - -To enquire about a commercial license, please contact us at ``contact at simpleble dot org``. - -**NOTICE:** The following projects are allowed to use SimpleBLE under a GNU Lesser General Public -License version 3 (LGPLv3), due to their past contributions: `BrainFlow`_, `InsideBlue`_, `NodeWebBluetooth`_. +^^^^^^^^^^^^^^^^^^^ -Likewise, if you are using SimpleBLE in an open-source project and would like to request -a free commercial license or if you have any other questions, please reach out at ``contact at simpleble dot org``. +Windows +""""""" +* **Supported Versions:** Windows 10 and newer +* **Notes:** -Licensing FAQ -------------- + - WSL does not support Bluetooth. + - Only a single adapter is supported by the OS backend. -Why are you making this change? -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Linux +""""" +* **Supported Distributions:** Ubuntu 20.04 and newer +* **Notes:** -So far, SimpleBLE has been a labor of passion with over 4000 hours invested in multiple iterations. -The decision to transition SimpleBLE to a dual-licensing model is mainly driven by the kind -of products that have been built around it, in particular around notable names in the medical -and industrial sectors, which has been both surprising and encouraging. Providing robust support for -these diverse and critical use cases is a resource-intensive endeavor which can't be achieved on -goodwill alone, especially so when the underlying APIs are also evolving and life having its own -plans. By introducing a commercial license, I'm opening a pathway to dedicate more resources to -enhance SimpleBLE. Some of the things on the roadmap include: -- Bindings into more languages and frameworks. -- Hardware-in-the-loop test infrastructure. -- Offering bounties and revenue sharing with other developers who contribute. -- Providing more comprehensive documentation and tutorials. + - While Ubuntu is our primary supported distribution, the software may work on other major distributions using Bluez as their Bluetooth backend. -Despite this transition, I remain firmly committed to the open-source philosophy. SimpleBLE was grown -a lot thanks to the feedback of the open-source community, and that foundation will always be a part -of the project. The GPLv3 license option ensures continued accessibility for open-source projects, -and I pledge to actively contribute to and collaborate with the community whenever possible. +MacOS +""""" +* **Supported Versions:** 10.15 (Catalina) and newer +* **Exceptions:** MacOS 12.0, 12.1, and 12.2 have a bug where the adapter won't return any peripherals after scanning. +* **Notes:** -Ultimately, the success of SimpleBLE has been fueled by its open nature, and I believe this -dual-licensing model strengthens that success by enabling both community-driven growth and -targeted enhancements that benefit everyone. + - Only a single adapter is supported by the OS backend. +iOS +""" +* **Supported Versions:** iOS 15.0 and newer +* **Notes:** -I'm already using SimpleBLE. What happens to my project? -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + - Older versions of iOS might work but haven't been formally tested. -Please reach out at ``contact at simpleble dot org`` and we can discuss the specifics of your -situation. It is my intention to make this transition as smooth as possible for existing users, -and I'm open to finding a solution that works for everyone. +Android +""""""" +* **Supported Versions:** API 31 and newer +* **Notes:** - -What do you consider "commercial use"? -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Commercial use in the context of SimpleBLE refers to any usage of the SimpleBLE or any of its -language bindings in a commercial setting where it contributes, either directly or indirectly, -to financial gain. This includes, but is not limited to, incorporating SimpleBLE into commercial -software products, using it in the development of services offered for a fee, or deploying it -within internal tools or software in a for-profit organization where it adds business value. -The key factor is the use of the library as a component in a revenue-generating or -business-advancing context, irrespective of whether the library itself is sold or offered as -a standalone product. - - -What does the GPLv3 license imply for my commercial project? -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The GPLv3 license ensures that end users have the freedom to run, study, share, and modify the software. -It requires that any modified versions of SimpleBLE, or any software incorporating it, also be -distributed under the GPLv3. Essentially, if your project incorporates SimpleBLE and is distributed, -the entire codebase must be open-source under the GPLv3. - -You can find the full text of the GPLv3 license at https://www.gnu.org/licenses/gpl-3.0.html. + - Capabilities are still in an alpha stage, but should be good enough for initial testing. + - Older APIs are missing certain features of the JVM API that are required by SimpleBLE .. Links - +.. _website: https://simpleble.org .. _SimplePyBLE: https://pypi.org/project/simplepyble/ - .. _SimpleRsBLE: https://crates.io/crates/simplersble - .. _Discord: https://discord.gg/N9HqNEcvP3 - .. _ReadTheDocs: https://simpleble.readthedocs.io/en/latest/ .. Other projects using SimpleBLE diff --git a/utils/build_docs.sh b/utils/build_docs.sh new file mode 100644 index 00000000..bb2cdc82 --- /dev/null +++ b/utils/build_docs.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# pip3 install sphinx-autobuild +# sphinx-autobuild docs build_docs/html \ No newline at end of file