Skip to content

Add O'Saasy license#227

Open
zainfathoni wants to merge 6 commits intomainfrom
add-osaasy-license
Open

Add O'Saasy license#227
zainfathoni wants to merge 6 commits intomainfrom
add-osaasy-license

Conversation

@zainfathoni
Copy link
Copy Markdown
Owner

This PR adds the O'Saasy license to protect the project from being cloned as a competing SaaS while keeping the code public.

Changes:

  • Replace MIT with O'Saasy license
  • Update README.md license badge and section

Context:
The O'Saasy license (https://www.fizzy.do/license) by 37signals is essentially MIT but prohibits using the software to directly compete by offering it as a hosted SaaS product.

Related: Fizzy Card #201

wheeljackz and others added 5 commits February 8, 2026 09:01
- Add Kamal config for kelas.pejuangkode.com
- Add GitHub Actions workflow for pejuangkode deployment
- Add branding config (SITE_NAME, SITE_DOMAIN, etc.)
- Add course config for different content per site
- Update components to use configurable branding
- Update email service to use dynamic branding
- Update login page with dynamic logo
- Update .env.example with new branding variables

Deployment: Kamal 2.0 to VPS 103.235.75.227
Domain: kelas.pejuangkode.com (DNS setup by Zain)
- Remove unnecessary quotes from YAML string values in config/deploy.pejuangkode.yml
  to satisfy the yml/plain-scalar ESLint rule (SITE_NAME, SITE_DOMAIN, SITE_URL, EMAIL_FROM)
- Add explicit click() before fill() in phone number validation E2E test to ensure
  the focus event fires reliably in webkit, setting the 'interacted' React state
  needed for client-side validation error display

Amp-Thread-ID: https://ampcode.com/threads/T-019c5ead-c672-72de-a79a-ed33d773553f
Co-authored-by: Amp <amp@ampcode.com>
- Replace skipped unit test (it.skip) with proper test using
  createRemixStub with loader data for HomePage component
- Enable allowConditional for playwright/no-skipped-test rule
  so conditional test.skip(isStagingEnv) is permitted
- Merge main into feat/pejuangkode to resolve outdated branch

Amp-Thread-ID: https://ampcode.com/threads/T-019c5eda-dc52-76d6-8892-c85919042771
Co-authored-by: Amp <amp@ampcode.com>
Protects the project from being cloned as competing SaaS while keeping code public.

Ref: Card #201
kodiakhq[bot]
kodiakhq Bot previously approved these changes Feb 15, 2026
Copy link
Copy Markdown
Owner Author

@zainfathoni zainfathoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O'Saasy License Review

The LICENSE file text correctly matches the canonical O'Saasy license from fizzy.do/license — nice choice for protecting against SaaS clones while keeping the code public.

However, there are two places that still reference MIT and need to be updated for consistency:

  1. package.json"license": "MIT" needs to be changed (e.g., to "SEE LICENSE IN LICENSE" or "LicenseRef-OSaasy" since O'Saasy isn't an SPDX identifier).
  2. README.md — The MIT license badge (license-MIT-blue) and [license] link still say MIT. The PR description mentions updating these but the diff doesn't include README changes.

Also a couple of observations:

  • The LICENSE file doesn't name itself as "O'Saasy License" anywhere — adding that as a header would help discoverability.
  • This PR bundles the entire pejuangkode multi-site feature (branding config, deployment workflow, hero refactoring, etc.) with the license change. Consider splitting into separate PRs for cleaner history, or at minimum updating the PR title/description to reflect the full scope.

Comment thread LICENSE
Copy link
Copy Markdown
Collaborator

@wheeljackz wheeljackz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review: PR #227 — Add O'Saasy License

Summary

This PR changes the license from MIT to O'Saasy License (a source-available license with an anti-SaaS-compete clause) and updates README badges accordingly. It's stacked on top of PR #226 (env-based branding).

Analysis

License Change (LICENSE)

  • ✅ The O'Saasy License text is clear: permissive like MIT but with an anti-compete clause for hosted/SaaS offerings
  • ✅ Copyright year updated to 2026
  • ⚠️ Consider: This is a significant licensing change. All existing contributors agreed to MIT. You may want to note this in the PR description or get acknowledgment from contributors (there are 6 listed in README)
  • ⚠️ O'Saasy is not OSI-approved — worth being explicit about this in README so users/contributors know it's source-available, not open-source

README Changes

  • ✅ Badge correctly updated to show O'Saasy

Other Changes

  • This PR carries all changes from #226 (branding). The license change itself is just the LICENSE and README.md files. Consider rebasing to keep the diff clean once #226 merges.

Verdict

The license change itself is clean. Main concern is the social/legal aspect of relicensing an existing MIT project with 6 contributors. Make sure contributors are aware.

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.

2 participants