-
Notifications
You must be signed in to change notification settings - Fork 0
chore: Update LICENSE to modified MPL-2.0 license #557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: Update LICENSE to modified MPL-2.0 license #557
Conversation
ENG-718 Switch licensing to MPL 2.0 for platform and MIT for generated code
OverviewUpdate Baseplate's licensing structure to use MPL 2.0 for the platform code and MIT for all generated code/templates. Tasks1. Update Platform License
2. Generated Code Licensing
3. Documentation Updates
Acceptance Criteria
|
🦋 Changeset detectedLatest commit: 2a1ed2e The changes in this PR will be included in the next version bump. This PR includes changesets to release 17 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
WalkthroughThis update replaces all proprietary and MIT license texts across the repository and its packages with the Mozilla Public License 2.0 (MPL-2.0), adding a "Generated Code Exception" that grants users full ownership of generated code. Supporting configuration and documentation were updated to reference the new license and clarify generated code ownership. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant WorkspaceConfig
participant LicenseTemplate
participant PackageJson
User->>WorkspaceConfig: Initialize or update workspace
WorkspaceConfig->>LicenseTemplate: Read LICENSE template
WorkspaceConfig->>WorkspaceConfig: Ensure LICENSE file exists in each package
WorkspaceConfig->>PackageJson: Set license field to "SEE LICENSE IN LICENSE"
Note over WorkspaceConfig,PackageJson: LICENSE files and package.json updated to MPL-2.0 with Generated Code Exception
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
♻️ Duplicate comments (9)
packages/project-builder-web/LICENSE (1)
1-391: This LICENSE file is identical to the template in.workspace-meta/templates/LICENSE. Ensure it stays in sync with the approved template above.plugins/baseplate-plugin-auth/LICENSE (1)
1-391: Apply the same formatting and verification fixes as aboveThis file has the identical markdown-style headers and exception clause as in
packages/project-builder-cli/LICENSE. Please remove markdown syntax and ensure the MPL-2.0 text matches the official license verbatim, following the suggestions made for the first LICENSE file.packages/project-builder-common/LICENSE (1)
1-391: Apply the same formatting and verification fixes as aboveThis LICENSE file also uses markdown headings and bold markers. Please convert to plain text and verify the MPL-2.0 content against the official source, as noted for the initial LICENSE file.
packages/project-builder-lib/LICENSE (1)
1-391: Apply the same formatting and verification fixes as aboveIdentical markdown formatting and content appear here. Remove markdown artifacts and confirm that the license text is an exact match to the authoritative MPL-2.0.
packages/fastify-generators/LICENSE (1)
1-391: Apply the same formatting and verification fixes as aboveThis LICENSE file likewise needs markdown removed and a verbatim MPL-2.0 text check, following the recommendations applied to the first file.
packages/tools/LICENSE (1)
1-8: The Generated Code Exception clause and MPL-2.0 text are consistent with the approved template inpackages/project-builder-server/LICENSE.plugins/baseplate-plugin-storage/LICENSE (1)
1-8: The license content matches the standardized MPL-2.0 with Generated Code Exception as reviewed in the server package.packages/sync/LICENSE (1)
1-8: Same update as above: the Generated Code Exception is correctly applied and the MPL-2.0 text is complete.packages/project-builder-test/LICENSE (1)
1-8: This LICENSE file aligns with the approved template from other packages, including the Generated Code Exception.
🧹 Nitpick comments (6)
packages/project-builder-cli/LICENSE (1)
1-8: Use plain-text formatting for license header and Generated Code ExceptionThe LICENSE file currently includes markdown-specific syntax (e.g., “## License”, “Generated Code Exception”), which may break license scanners and tooling that expect plain-text. Please remove the markdown headings and bold markers, and render the exception clause as plain text to align with standard license file conventions.
packages/project-builder-server/LICENSE (1)
1-12: Consider adding an SPDX identifier
To improve machine readability and compliance, you may want to prepend an SPDX header (e.g.,SPDX-License-Identifier: MPL-2.0 WITH Generated-Code-Exception) at the very top of this file.packages/ui-components/LICENSE (1)
1-391: Consider Centralizing License Maintenance to Reduce Duplication.
Each package contains the same lengthy license text. Since you have a canonical template in.workspace-meta/templates/LICENSE, consider automating or symlinking these files to that template so updates only need to happen in one place.packages/core-generators/LICENSE (1)
1-391: Reduce License Duplication via Template Automation.
Maintaining identical license files across multiple packages risks drift. Leverage your.workspace-meta/templates/LICENSEto generate or symlink these files, streamlining future updates.packages/utils/LICENSE (1)
1-391: Automate License File Generation to Prevent Divergence.
Rather than manually copying the full text into each package, use your existing license template mechanism to inject or symlink these files—simplifying maintenance and reducing the chance of discrepancy.LICENSE (1)
1-391: Centralize Root LICENSE for Consistency and Ease of Updates.
While root LICENSE duplication is expected, consider referencing the.workspace-meta/templates/LICENSEdirectly or automating its propagation to package subdirectories to maintain a single source of truth.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Lite
📒 Files selected for processing (23)
.changeset/smart-islands-mix.md(1 hunks).workspace-meta/config.ts(1 hunks).workspace-meta/templates/LICENSE(1 hunks)LICENSE(1 hunks)README.md(1 hunks)packages/code-morph/LICENSE(1 hunks)packages/core-generators/LICENSE(1 hunks)packages/create-project/LICENSE(1 hunks)packages/create-project/package.json(1 hunks)packages/fastify-generators/LICENSE(1 hunks)packages/project-builder-cli/LICENSE(1 hunks)packages/project-builder-common/LICENSE(1 hunks)packages/project-builder-lib/LICENSE(1 hunks)packages/project-builder-server/LICENSE(1 hunks)packages/project-builder-test/LICENSE(1 hunks)packages/project-builder-web/LICENSE(1 hunks)packages/react-generators/LICENSE(1 hunks)packages/sync/LICENSE(1 hunks)packages/tools/LICENSE(1 hunks)packages/ui-components/LICENSE(1 hunks)packages/utils/LICENSE(1 hunks)plugins/baseplate-plugin-auth/LICENSE(1 hunks)plugins/baseplate-plugin-storage/LICENSE(1 hunks)
🔇 Additional comments (21)
.workspace-meta/templates/LICENSE (2)
5-8: Exception clause is clear and explicit.The "Generated Code Exception" clearly states user ownership of generated code and disclaims any copyright interest by Half Dome Labs LLC,
aligning perfectly with the PR objectives.
9-391: The remaining content is the unmodified, official MPL-2.0 text duplicated correctly..changeset/smart-islands-mix.md (1)
2-21:Details
✅ Verification successful
Verify completeness of the changeset.
This changeset lists all
@halfdomelabs/*packages that had their LICENSE updated. Please confirm that every package directory with aLICENSEfile is included here. You can run:
🏁 Script executed:
#!/bin/bash # List all package LICENSE files and compare to the changeset entries find packages -type f -name LICENSE | sed 's|^\.\/packages\/||' | sortLength of output: 563
All LICENSE-bearing packages are included in the changeset.
Verified that the 15 package directories containing a
LICENSEfile are listed:• code-morph
• core-generators
• create-project
• fastify-generators
• project-builder-cli
• project-builder-common
• project-builder-lib
• project-builder-server
• project-builder-test
• project-builder-web
• react-generators
• sync
• tools
• ui-components
• utilspackages/create-project/package.json (1)
6-6: Update license field to external LICENSE reference.Changing the
"license"value to"SEE LICENSE IN LICENSE"aligns with the external MPL-2.0 file in this package.README.md (1)
58-64: Document license and generated code ownership.The new License section correctly references the MPL-2.0 and the Generated Code Ownership clause clearly conveys user rights and aligns with the updated LICENSE files.
.workspace-meta/config.ts (1)
1-33: LGTM! Well-structured license management configuration.The configuration changes effectively implement automated LICENSE file management across the workspace:
- Custom formatter appropriately bypasses LICENSE files to preserve formatting
ensureFileplugin ensures consistent LICENSE content from template- Package.json license field correctly references LICENSE file instead of SPDX identifier
This approach will help maintain licensing consistency across all packages.
packages/create-project/LICENSE (1)
1-391: LGTM! Complete and proper MPL-2.0 license implementation.The license file correctly implements:
- Clear copyright notice for Half Dome Labs LLC (2025)
- Well-defined "Generated Code Exception" that clarifies user ownership of generated code
- Complete MPL-2.0 text with all required sections and exhibits
- Proper formatting and structure
The Generated Code Exception effectively addresses the common concern about ownership of code generated by development tools.
packages/react-generators/LICENSE (1)
1-391: LGTM! Consistent license implementation across packages.This LICENSE file maintains perfect consistency with the other package licenses, ensuring uniform licensing terms across the repository. The MPL-2.0 + Generated Code Exception content is identical and properly formatted.
packages/code-morph/LICENSE (1)
1-391: LGTM! Excellent repository-wide license standardization.This completes the consistent licensing implementation across all reviewed packages. The uniform MPL-2.0 + Generated Code Exception approach provides:
- Clear legal framework for the project
- Explicit ownership clarification for generated code
- Consistent licensing across all packages
- Professional legal documentation
The licensing update is comprehensive and well-executed.
packages/project-builder-cli/LICENSE (1)
9-391: Verify the MPL-2.0 text verbatimThe remainder of this file should be an exact, unmodified copy of the official Mozilla Public License Version 2.0. Please compare this text against the authoritative source to catch any typos, formatting deviations, or missing sections.
packages/project-builder-server/LICENSE (3)
1-2: Verify copyright notice
The ownership statement on lines 1–2 correctly attributes Half Dome Labs LLC and contributors for 2025.
5-7: Generated Code Exception clarity
The “Generated Code Exception” clause on lines 5–7 is clearly stated before the MPL-2.0 text, ensuring users understand their full rights over generated code.
9-12: MPL-2.0 text completeness
The standard Mozilla Public License Version 2.0 sections appear intact and in the correct order, covering definitions, grants, conditions, and exhibits.packages/ui-components/LICENSE (2)
1-7: Ensure the Generated Code Exception is Prominent and Legally Sound.
The exception clearly states that generated code is user-owned and disclaims Half Dome Labs LLC’s copyright interest.
Please verify the exact wording with legal counsel to confirm it fully captures the intended rights and disclaimers.
9-14: Confirm the Official MPL-2.0 Text and Formatting.
The full MPL-2.0 text, including Exhibits A and B, is present. Ensure every section heading, clause number, and notice matches the authoritative license verbatim to avoid any legal discrepancies.packages/core-generators/LICENSE (2)
1-7: Verify the Generated Code Exception’s Visibility and Accuracy.
This clause is critical for empowering users with ownership of generated code. Confirm its placement and precise language with your legal team to ensure it cannot be inadvertently overridden.
9-14: Validate the Integrity of the MPL-2.0 Text and Exhibits.
The standard MPL-2.0 provisions and Exhibits A/B must be included exactly as published. Please cross-check against the official source to guarantee complete fidelity.packages/utils/LICENSE (2)
1-7: Confirm Legal Clarity of the Generated Code Exception.
The exception clearly disclaims rights in generated code. Please have this reviewed by legal to ensure it aligns with organizational policy and downstream user expectations.
9-14: Ensure Exact Match to Official MPL-2.0 and Exhibits.
The MPL-2.0 sections and Exhibits A/B must be reproduced verbatim for legal validity. Double-check spacing, numbering, and wording against the MPL steward’s version.LICENSE (2)
1-7: Verify the Generated Code Exception at the Repository Root.
Having this exception in the root LICENSE ensures every consumer sees it. Confirm the phrasing covers all generator outputs and that it takes precedence over the standard MPL grant.
9-14: Cross-check Root LICENSE Against Official MPL-2.0.
The core license text and Exhibits A/B must be identical to the steward’s release. Validate section order, numbering, and wording to avoid unintended license gaps.
Summary by CodeRabbit