RLMatrix is a deep reinforcement learning library written in C#. This software is provided under a dual-license model, as described below:
Copyright (c) 2024 Adrian Sieradzki
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Entities meeting any of the following criteria are required to obtain a commercial license:
a) Having a capital or value exceeding $100,000 USD b) Having annual revenue exceeding $100,000 USD c) Being a subsidiary, parent, or affiliate of any company meeting either of the above criteria
To obtain a commercial license, please contact adrian@sieradzki.io.
- MIT License: If you are an individual, academic institution, or organization that does not meet any of the criteria for the commercial license, you may use RLMatrix under the MIT License.
- Commercial License: If your organization meets any of the criteria for the commercial license, you must obtain a commercial license to use RLMatrix. This includes, but is not limited to, large corporations, their subsidiaries, and affiliates.
- If you are uncertain about which license applies to your use case, please contact Adrian Sieradzki at adrian@sieradzki.io for clarification.
The licensing terms apply to any and all uses of RLMatrix, including but not limited to:
- Direct use in products or services
- Incorporation into other software or systems
- Use as a component in larger projects or frameworks
- Any form of distribution, whether commercial or non-commercial
For users qualifying for the MIT License as per Section 3, the following are explicitly permitted:
- Creating and selling games or other software that incorporate RLMatrix
- Developing and monetizing products or services built with RLMatrix
- Using RLMatrix in commercial projects, including but not limited to game development, without additional fees beyond the initial criteria outlined in Section 3
It is important to note that the MIT License allows for commercial use, including selling products or services that incorporate RLMatrix, as long as the user meets the eligibility criteria specified in Section 3.
5.1. For MIT License Users: When distributing RLMatrix or any derivative work under the MIT License, you must: a) Include a copy of the full text of this Comprehensive Dual License Agreement with the distribution. b) Retain all copyright, patent, trademark, and attribution notices from the source form of RLMatrix. c) Clearly indicate any modifications made to RLMatrix.
5.2. For Commercial License Users: Distribution requirements for commercial license users are specified in the separate commercial license agreement.
6.1. Contributions: By submitting modifications to RLMatrix, you agree that your contributions will be licensed under the same terms as this Comprehensive Dual License Agreement.
6.2. Intellectual Property: This license does not grant you any rights to use any trademarks, service marks, or logos associated with RLMatrix. The use of such marks is subject to separate written permission from the copyright holder.
7.1. Scope of Application: The terms of this section apply to: a) Complete derivative works or modifications of RLMatrix b) Partial use of RLMatrix code, including but not limited to individual functions, classes, algorithms, or code snippets c) Any software that incorporates or is derived from any part of RLMatrix, regardless of the amount of code used
7.2. Licensing Requirements: Any work that falls under the scope defined in 7.1 is subject to the same licensing terms as the original RLMatrix software. This includes:
a) For works or code portions derived from the MIT-licensed version of RLMatrix:
- The work MUST be licensed under the terms of this Comprehensive Dual License Agreement.
- A copy of this entire license agreement MUST be included with any distribution of the work.
- The work must clearly state that it uses or is based on RLMatrix and include a link to the original RLMatrix project.
b) For works or code portions derived from the commercially licensed version of RLMatrix:
- The terms of the commercial license apply to the work.
- Any distribution of the work must comply with the terms of the commercial license.
7.3. Users of Derivative Works or Partial Code: Users of any work that falls under the scope defined in 7.1, whether created under the MIT license or commercial license, are subject to the same licensing criteria and commercial requirements as users of the original RLMatrix. Specifically:
a) Users who meet the criteria for the MIT license as specified in Section 3 may use the work under the MIT license terms.
b) Users who meet any of the criteria for the commercial license as specified in Section 2 MUST obtain a commercial license for their use of the work, even if the work itself was created under the MIT license.
c) The transition requirements specified in Section 8 apply equally to users of such works.
7.4. Responsibility: It is the responsibility of both the creator of any work that falls under the scope defined in 7.1 and the users of such work to ensure compliance with these terms. Creators must make their users aware of these licensing requirements and the potential need for a commercial license.
7.5. No Circumvention: The use of derivative works, partial code, or any incorporation of RLMatrix does not exempt any entity from the commercial licensing requirements. The commercial license criteria and requirements cannot be circumvented by using, creating, or incorporating any part of RLMatrix.
7.6. Burden of Proof: In case of dispute, the burden of proving that code similar to RLMatrix was independently developed without use or reference to RLMatrix shall rest with the party making such a claim.
If an entity initially eligible for the MIT License later meets the criteria for the Commercial License, they must transition to the Commercial License within 30 days of meeting those criteria.
By using RLMatrix, you agree to comply with the terms of the applicable license. We reserve the right to enforce these licensing terms and may request proof of eligibility for using the MIT License. Additionally, we reserve the right to request financial information to verify eligibility under the MIT License. Such information must be provided within one month of receiving a request.
We also reserve the right to audit your use of RLMatrix to ensure compliance with the applicable license terms. You agree to cooperate with any such audit and provide necessary information upon request.
Any violation of this license agreement, including but not limited to unauthorized use, distribution, or modification of RLMatrix, will result in immediate termination of your license and may incur the following penalties:
a) A fee of $300,000 USD for each instance of unauthorized use. b) A fee of $10,000 USD per day for continued unauthorized use after notification of violation. c) Payment of all legal fees and costs associated with enforcing this agreement. d) Additional damages as determined by a court of competent jurisdiction.
These fees are in addition to any other remedies available under law and are intended to compensate for the harm caused by license violations. The specific amounts may be subject to judicial review and modification.
We may terminate your license if you fail to comply with the terms of this agreement, including failure to provide requested information or cooperate with an audit. Upon termination, you must cease all use of RLMatrix and destroy all copies in your possession.
This agreement is governed by the laws of Poland. Any disputes arising from this agreement will be resolved in the courts of Poland.
RLMatrix is provided "AS IS" without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement.
You are responsible for complying with all applicable export and re-export control laws and regulations in your use of RLMatrix.
We reserve the right to modify these license terms at any time. Any changes will be effective immediately upon posting the revised license online. These changes apply retroactively to all existing versions of RLMatrix, all derivative works, and all partial implementations, regardless of when they were created or distributed. Users of RLMatrix or any derivative works are responsible for regularly checking for updates to this license and ensuring their compliance with the most current version.
For any questions or concerns regarding this dual-license model, please contact:
Adrian Sieradzki adrian@sieradzki.io