Skip to content

Commit 6734c2a

Browse files
Update licensing documents to clarify Pro features and license validation requirements
- Enhanced the LICENSE.md to specify that Pro-licensed directories require a valid subscription and outline prohibitions against circumventing license validation. - Updated package.json to reflect a dual license of MIT and Proprietary. - Revised REACT-ON-RAILS-PRO-LICENSE.md to include new clauses regarding license validation and compliance. - Modified DIRECTORY_LICENSING.md to clarify the nature of Pro features in the repository. - Adjusted LICENSING_FAQ.md to accurately describe the licensing structure and requirements for Pro features.
1 parent 120bd43 commit 6734c2a

File tree

5 files changed

+53
-9
lines changed

5 files changed

+53
-9
lines changed

LICENSE.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ This license applies to all files within this repository, with the exception of
1212
- `lib/react_on_rails/pro/`
1313
- `node_package/src/pro/`
1414

15+
**Important:** The Pro-licensed directories contain code that is included in this package but requires a valid React on Rails Pro subscription to function. Any attempt to circumvent, bypass, modify, or disable the license validation mechanisms is strictly prohibited and constitutes a violation of this license and the React on Rails Pro License.
16+
17+
**Critical:** The MIT-licensed code that imports or interfaces with Pro-licensed modules (including but not limited to clientStartup.ts, serverRenderReactComponent.ts, ReactOnRails.client.ts, and ReactOnRails.node.ts) is protected by this license. Any modification, patching, or circumvention of these interface modules to enable unauthorized access to Pro features is strictly prohibited and constitutes a violation of this license and the React on Rails Pro License.
18+
19+
**Ruby License Validation Protection:** The MIT-licensed Ruby code that performs license validation and generates the `rails_context` (including but not limited to lib/react_on_rails/helper.rb, lib/react_on_rails/utils.rb, and any code that calls `ReactOnRails::Utils.react_on_rails_pro?` or generates the `rorPro` field) is protected by this license. Any modification, patching, or circumvention of these license validation mechanisms to enable unauthorized access to Pro features is strictly prohibited and constitutes a violation of this license and the React on Rails Pro License.
20+
1521
Copyright (c) 2017, 2018 Justin Gordon and ShakaCode
1622
Copyright (c) 2015–2025 ShakaCode, LLC
1723

REACT-ON-RAILS-PRO-LICENSE.md

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ShakaCode React on Rails Pro – End User License Agreement (EULA)
22

3-
_Version 2.0 — 2025-09-06_
3+
_Version 2.1 — 2025-09-25_
44
© 2015–2025 ShakaCode, LLC. All rights reserved.
55

66
---
@@ -51,7 +51,11 @@ The Organization shall not:
5151

5252
1. redistribute or resell the Software or derivatives;
5353
2. remove, obfuscate, or disable required attribution;
54-
3. use the Software to build a directly competing product exposing substantially similar functionality.
54+
3. use the Software to build a directly competing product exposing substantially similar functionality;
55+
4. **circumvent, bypass, modify, disable, or tamper with any license validation mechanisms, license checks, or authentication systems;**
56+
5. **reverse engineer, decompile, or disassemble the Software for the purpose of circumventing license restrictions;**
57+
6. **create, use, or distribute any tools, scripts, patches, or modifications designed to enable unauthorized use of Pro features;**
58+
7. **attempt to access or use Pro features without a valid, active subscription.**
5559

5660
---
5761

@@ -85,6 +89,9 @@ While subscribed, the Organization receives software updates and reasonable supp
8589

8690
If ShakaCode reasonably suspects non-compliance, the Organization will cooperate in good faith to verify compliance, including enabling inspection for attribution presence and providing a usage statement. ShakaCode will use commercially reasonable efforts to minimize disruption.
8791

92+
**9.1 Detailed Audits**
93+
ShakaCode or a certified auditor acting on its behalf may, upon reasonable request and at ShakaCode’s expense, audit the Organization’s use of the Software to verify compliance with this Agreement. Audits may be conducted by mail, electronically, or by in-person visits during regular business hours and shall minimize disruption to the Organization’s business. If the audit reveals a material unauthorized use, the Organization shall reimburse ShakaCode for reasonable audit costs.
94+
8895
---
8996

9097
## 10. Feedback & Contributions
@@ -118,12 +125,43 @@ Direct damages are limited to amounts paid in the 12 months preceding the claim.
118125

119126
---
120127

121-
## 15. Governing Law; Venue
128+
## 15. Indemnification
129+
130+
The Organization agrees to defend, indemnify, and hold harmless ShakaCode and its affiliates from any claims, losses, damages, liabilities, costs, or expenses (including legal fees) arising out of the Organization’s use of the Software or breach of this Agreement.
131+
132+
---
133+
134+
## 16. Export Compliance
135+
136+
The Organization agrees to comply with all applicable export laws and regulations, including restrictions on export, re-export, or redistribution of the Software.
137+
138+
---
139+
140+
## 17. Attorneys’ Fees and Costs
141+
142+
In any enforcement or legal action arising under this Agreement, the prevailing party shall be entitled to recover reasonable attorneys’ fees and costs.
143+
144+
---
145+
146+
## 18. Governing Law; Venue
147+
148+
This Agreement is governed by the laws of the **State of Hawaii**, USA. Exclusive jurisdiction and venue lie in the courts located therein.
149+
150+
---
151+
152+
## 19. Miscellaneous
153+
154+
- **19.1 Severability**
155+
If any provision is held invalid or unenforceable, the remainder shall continue in full force.
156+
157+
- **19.2 Waiver**
158+
Failure to enforce any provision is not a waiver of rights.
122159

123-
Choose one: **State of Hawaii**, USA. Exclusive jurisdiction and venue lie in the courts located therein.
160+
- **19.3 Assignment**
161+
The Organization may not assign this Agreement without prior written consent.
124162

125163
---
126164

127-
## 16. Entire Agreement; Order of Precedence
165+
## 20. Entire Agreement; Order of Precedence
128166

129167
This EULA and any order (pricing/term) are the entire agreement. If there is a conflict, the order controls.

docs/DIRECTORY_LICENSING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ All directories in the `react_on_rails` repository are MIT licensed:
1212
react_on_rails/
1313
├── lib/react_on_rails/ # Core Ruby code (MIT)
1414
├── node_package/src/ # Core JS/TS code (MIT)
15-
│ └── pro/ # Pro features placeholder (MIT but references pro)
15+
│ └── pro/ # Pro features with license validation (Pro licensed)
1616
├── spec/ # Core tests (MIT)
1717
├── docs/ # Documentation (MIT)
1818
├── .github/ # GitHub workflows (MIT)
1919
└── [all other directories] # MIT
2020
```
2121

22-
**Exception:** The `node_package/src/pro/` directory contains placeholder code that references Pro features, but the actual Pro implementation is in the separate `react_on_rails_pro` repository.
22+
**Exception:** The `node_package/src/pro/` directory contains actual Pro implementation code with license validation. The code is included in the package but requires a valid Pro license to function.
2323

2424
### react_on_rails_pro Repository - Pro Licensed
2525

docs/LICENSING_FAQ.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ react_on_rails/ (monorepo root)
9595

9696
**A:** We maintain two separate repositories:
9797

98-
- **react_on_rails** (MIT) - Core functionality, completely free except pro directories as stated in LICENSE.md
98+
- **react_on_rails** (MIT) - Core functionality, completely free. Pro features are included but gated behind license validation as stated in LICENSE.md
9999
- **react_on_rails_pro** (Pro License) - Advanced features, subscription required for production
100100

101101
### Q: What requires a Pro subscription?

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
"Rails"
119119
],
120120
"author": "justin.gordon@gmail.com",
121-
"license": "MIT",
121+
"license": "(MIT AND Proprietary)",
122122
"bugs": {
123123
"url": "https://github.com/shakacode/react_on_rails/issues"
124124
},

0 commit comments

Comments
 (0)