docs/DIRECTORY_LICENSING.md
This document outlines the current and post-merger directory licensing structure for React on Rails projects.
All directories in the react_on_rails repository are MIT licensed:
react_on_rails/
├── lib/react_on_rails/ # Core Ruby code (MIT)
├── node_package/src/ # Core JS/TS code (MIT)
│ └── pro/ # Pro features with license validation (Pro licensed)
├── spec/ # Core tests (MIT)
├── docs/ # Documentation (MIT)
├── .github/ # GitHub workflows (MIT)
└── [all other directories] # MIT
Exception: The node_package/src/pro/ directory contains Pro implementation code licensed under the React on Rails Pro License. This code is included in the package but requires a valid Pro license to use.
Important Distinction:
pro/ directories) can be freely modified under MIT termspro/ directories) require a Pro license to use in any wayAll directories in the react_on_rails_pro repository are Pro licensed:
react_on_rails_pro/
├── lib/react_on_rails_pro/ # Pro Ruby code
├── packages/node-renderer/ # Pro Node.js renderer
├── spec/ # Pro tests
├── .circleci/ # CircleCI config
└── [all other directories] # Pro licensed
After the monorepo merger, the unified repository will have clear directory-based licensing:
react_on_rails/ (monorepo root)
├── lib/react_on_rails/ # Core Ruby code (including specs)
├── packages/react-on-rails/ # Core NPM package (including tests)
├── spec/ # Monorepo-level integration tests
│ └── dummy/ # Rails dummy app for testing
├── docs/ # Shared documentation
├── tools/ # Shared development tools
├── .github/ # Unified GitHub workflows
└── [shared config files] # Build configs, etc.
react_on_rails/ (monorepo root)
├── lib/react_on_rails_pro/ # Pro Ruby code (including specs)
├── packages/react-on-rails-pro/ # Pro NPM package (including tests)
└── packages/react-on-rails-pro-node-renderer/ # Pro Node renderer (including tests)
LICENSE.md file explicitly lists which directories fall under which licenseGemspec Files:
react_on_rails.gemspec: s.license = "MIT"react_on_rails_pro.gemspec: s.license = "UNLICENSED"Package.json Files:
packages/react-on-rails/package.json: "license": "MIT"packages/react-on-rails-pro/package.json: "license": "UNLICENSED"packages/react-on-rails-pro-node-renderer/package.json: "license": "UNLICENSED"Never Move Pro Code to MIT Directories: During the merger, strict verification ensures no Pro-licensed code accidentally ends up in MIT-licensed directories
Update LICENSE.md Immediately: Whenever directories are moved or created, LICENSE.md must be updated to reflect the new structure
Automated Verification: CI checks will verify:
The monorepo merger plan includes specific license compliance checkpoints at each phase:
Each phase includes mandatory license compliance verification before proceeding to the next phase.
This document is maintained as part of the React on Rails monorepo merger plan. For implementation details, see MONOREPO_MERGER_PLAN_REF.md