Skip to content

Conversation

@jevy
Copy link
Contributor

@jevy jevy commented Jan 20, 2026

Summary

  • Add Business Source License 1.1 (BSL) as the project license
  • Update README with "Why BSL?" section explaining our licensing rationale
  • Update license badge to reflect BSL 1.1

Why BSL?

We're a small team building TypeStream in the open. The BSL lets us:

  • Stay transparent: Full code visibility for auditing and learning
  • Enable adoption: Free use for internal projects, dev, testing, and non-commercial use
  • Protect our work: Prevents cloud providers from offering TypeStream as a competing service
  • Commit to open source: Auto-converts to Apache 2.0 after 4 years

This follows the model used by MariaDB, CockroachDB, Sentry, and HashiCorp.

Test plan

  • Review LICENSE file format and parameters
  • Review README "Why BSL?" section for clarity
  • Verify license badge displays correctly

@netlify
Copy link

netlify bot commented Jan 20, 2026

Deploy Preview for merry-cranachan-ee7f1c canceled.

Name Link
🔨 Latest commit 080c162
🔍 Latest deploy log https://app.netlify.com/projects/merry-cranachan-ee7f1c/deploys/696fe809e4a7ed0007472c72

@claude
Copy link

claude bot commented Jan 20, 2026

PR Review: Change license to Business Source License 1.1

Thank you for the clear PR description and rationale. I've reviewed the licensing change and have the following feedback:

✅ Strengths

  1. Clear Communication: The README's "Why BSL?" section effectively explains the rationale and provides concrete examples of what's allowed vs. restricted
  2. Well-Structured License: The BSL 1.1 parameters are clearly defined with:
    • Appropriate Additional Use Grant restricting "Streaming Data Service" offerings
    • 4-year Change Date with Apache 2.0 conversion
    • Clear contact information for alternative licensing
  3. Good Precedent: Following the model of established companies (MariaDB, CockroachDB, Sentry, HashiCorp) provides legitimacy
  4. User-Friendly Explanation: The bulleted "What this means for you" section makes the license accessible to non-legal audiences

🔍 Observations & Suggestions

1. PR Title Format Issue (Blocking CI)

The PR title doesn't follow the conventional commit format required by your lint check. It should be:

chore: change license to Business Source License 1.1

or

docs: change license to Business Source License 1.1

2. CONTRIBUTING.md Should Be Updated

The CONTRIBUTING.md file currently makes no mention of licensing or CLAs. Consider adding a section that clarifies:

  • Contributors retain copyright to their contributions
  • By contributing, contributors agree that their contributions are licensed under BSL 1.1
  • Any CLA requirements (if applicable)

This is important for both legal clarity and contributor transparency.

3. Package Metadata Considerations

While the main package.json files don't currently have a "license" field (they're marked "private": true), if you ever publish npm packages or Maven artifacts, you'll need to ensure the license field is set to "BUSL-1.1" or document the custom license appropriately.

4. License Year Parameter

The LICENSE file states:

The Licensed Work is (c) 2024 TypeStream, Inc.

Since we're now in 2026, consider whether this should be:

  • "(c) 2024-2026 TypeStream, Inc." (if claiming copyright for all work through 2026)
  • Keep as 2024 (if this refers only to the initial publication date)

The standard practice is typically to update the year range, but this depends on your legal counsel's advice.

5. Change Date Ambiguity

The license states: "Four years from the date the Licensed Work is published"

Consider specifying an exact date (e.g., "2028-01-20") or a more precise mechanism. The current language could be interpreted differently depending on what "published" means (first commit? first release? this license change date?).

🔒 Security & Legal

  • ✅ No security concerns with the license text itself
  • ✅ The "Streaming Data Service" restriction is clearly defined
  • ✅ The Additional Use Grant allows reasonable internal and development use
  • ⚠️ Consider having legal counsel review the "Streaming Data Service" definition to ensure it covers intended use cases (e.g., does it prevent competitors from offering managed TypeStream, but allow companies to use TypeStream internally for their own streaming pipelines?)

🧪 Test Coverage

This change is documentation-only and doesn't require automated tests. Manual verification checklist:

  • ✅ LICENSE file is properly formatted
  • ✅ README accurately reflects the new license
  • ✅ License badge updated
  • ⚠️ Consider checking if any source file headers reference Apache 2.0 (none found in my scan, but worth double-checking)

📋 Additional Considerations

  1. Documentation Site: If you have a documentation site (I see you have a docs/ folder with Docusaurus), consider adding a dedicated license/FAQ page there as well
  2. Third-Party Dependencies: Ensure all dependencies are compatible with BSL 1.1 (most Apache 2.0, MIT, and similar licenses are compatible)
  3. Contributor Communication: Consider announcing this change to existing contributors and in your Discord/community channels

Summary

This is a well-executed license change with clear communication. The main blocker is the PR title format for CI. The suggested improvements around CONTRIBUTING.md and the copyright year are minor but would improve completeness.

Recommendation: ✅ Approve after fixing PR title and considering the CONTRIBUTING.md update.


Review generated by Claude Code v0.2

@jevy jevy changed the title Change license to Business Source License 1.1 docs: Change license to Business Source License 1.1 Jan 20, 2026
@jevy jevy requested a review from lucapette January 20, 2026 20:51
@jevy jevy marked this pull request as draft January 20, 2026 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant