Skip to content

Licence the generators under Business Source License 1.1 - #454

Closed
boyney123 wants to merge 4 commits into
mainfrom
cursor/mit-licence-25f2
Closed

boyney123 wants to merge 4 commits into
mainfrom
cursor/mit-licence-25f2

Conversation

@boyney123

@boyney123 boyney123 commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

EventCatalog core is moving to the Business Source License 1.1. Dave's decision is that the generators use that same licence, not MIT. Every EventCatalog plan already includes every generator. Eligible organisations (under USD 10M revenue and under USD 10M funding) use the generators free, as-is. There is no trial, no Starter or Scale plan, and no per-plugin licence.

This pull request replaces the licence text, sets the package.json license field to BUSL-1.1, and updates the README and example wording. It does not change licence-key verification or any other runtime behaviour, and it does not publish to npm or bump versions.

The licence text matches the EventCatalog licence at https://github.com/event-catalog/eventcatalog/blob/main/LICENSE: 60-day Evaluation Period, Total Funding test, and a non-binding FAQ in section 5. Sections 1 to 7, the Change Date, and the Change License (MIT) are unchanged. Only the Licensed Work and the opening of the Additional Use Grant are adjusted so they cover the generators in this repository.

Copyright line

Copyright (c) 2024-2026 EventCatalog Ltd

Licensor remains EventCatalog Ltd.

What changed

  • Root LICENSE is Business Source License 1.1. The Licensed Work is the EventCatalog generators in this repository and the published npm packages listed below. The same eligibility rules apply as to EventCatalog: an Organisation under USD 10,000,000 Annual Revenue and under USD 10,000,000 Total Funding may make Production use free, as-is, and the other Eligible Users in section 1 may do so as stated there.
  • LICENSE-COMMERCIAL.md and LICENSE-OPENSOURCE.md stay removed.
  • One sentence from the core file was not copied. Core says prior portions were released under MIT and that notices are preserved in NOTICE. This repository has no NOTICE file, and these generators were not previously released under MIT (they were dual licensed, AGPL and commercial, with some npm fields set to ISC). The sentence here says prior releases remain available under the licence terms they were published with. Say if you want the core sentence copied word for word anyway.
  • The Change Date example still uses core's "5.1" illustration of a release series (5.1.0-beta.1, 5.1.0 and 5.1.3 share one Change Date). Each generator package has its own version numbers. The rule is the same: four years after the first public release of a release series, and the Change License is MIT.
  • "license": "BUSL-1.1" is set on the root package, configs/package.json, and every package under packages/.
  • READMEs say each generator is source-available under the Business Source License 1.1, the same licence as EventCatalog, free for eligible organisations, otherwise covered by an EventCatalog subscription. They link the root LICENSE and https://www.eventcatalog.dev/pricing. No trial, Starter, Scale, or per-plugin licence wording.
  • No changeset. CI does not require one on every pull request. Published npm metadata will not change until a later release.

Packages whose license field is now BUSL-1.1

Package Previous license on main
eventcatalog-generators (root) field was absent
config (configs/package.json) ISC
@eventcatalog/generator-amazon-apigateway ISC
@eventcatalog/generator-apicurio Dual License
@eventcatalog/generator-asyncapi ISC
@eventcatalog/generator-aws-glue Dual License
@eventcatalog/generator-azure-schema-registry Dual License
@eventcatalog/generator-confluent-schema-registry Dual License
@eventcatalog/generator-eventbridge Dual License
@eventcatalog/generator-federation ISC
@eventcatalog/generator-github ISC
@eventcatalog/generator-graphql ISC
@eventcatalog/generator-openapi ISC

Licence-key checks left unchanged (separate decision)

Eligible free users get the generators under this licence, so a runtime requirement for a paid key contradicts the grant. That needs a separate decision. None of this code was edited.

shared/checkLicense.ts

Shared checker used by every generator. It imports isFeatureEnabled, hasOfflineLicenseKey, and isEventCatalogScaleEnabled from @eventcatalog/license (root dependency @eventcatalog/license ^0.0.7).

  • With no offline licence, it requires a plugin key, or EVENTCATALOG_SCALE_LICENSE_KEY when the caller passes allowEventCatalogScaleLicense: true.
  • If neither key is set it prints You can get a free 14 day trial license at https://eventcatalog.cloud/ and exits with code 1.
  • If verification fails it prints Please check your plugin license key or purchase a license at https://eventcatalog.cloud/ and exits with code 1.

Call sites

File Key read Scale key accepted
packages/generator-federation/src/index.ts EVENTCATALOG_LICENSE_KEY_FEDERATION or options.licenseKey no
packages/generator-aws-glue/src/index.ts EVENTCATALOG_LICENSE_KEY_AWS_GLUE_SCHEMA_REGISTRY or options.licenseKey yes
packages/generator-github/src/index.ts EVENTCATALOG_LICENSE_KEY_GITHUB or options.licenseKey yes
packages/generator-eventbridge/src/index.ts EVENTCATALOG_LICENSE_KEY_EVENTBRIDGE or options.licenseKey yes
packages/generator-amazon-apigateway/src/index.ts EVENTCATALOG_LICENSE_KEY_AMAZON_APIGATEWAY or options.licenseKey yes
packages/generator-openapi/src/index.ts EVENTCATALOG_LICENSE_KEY_OPENAPI or options.licenseKey yes
packages/generator-azure-schema-registry/src/index.ts EVENTCATALOG_LICENSE_KEY_AZURE_SCHEMA_REGISTRY or options.licenseKey yes
packages/generator-asyncapi/src/index.ts EVENTCATALOG_LICENSE_KEY_ASYNCAPI or options.licenseKey yes
packages/generator-confluent-schema-registry/src/index.ts EVENTCATALOG_LICENSE_KEY_CONFLUENT_SCHEMA_REGISTRY or options.licenseKey yes
packages/generator-apicurio/src/index.ts EVENTCATALOG_LICENSE_KEY_APICURIO_SCHEMA_REGISTRY or options.licenseKey yes
packages/generator-graphql/src/index.ts EVENTCATALOG_LICENSE_KEY_GRAPHQL or options.licenseKey yes

licenseKey option still on the public types

  • packages/generator-federation/src/index.ts
  • packages/generator-aws-glue/src/types.ts
  • packages/generator-github/src/types.ts (comment: "The license key for the plugin")
  • packages/generator-eventbridge/src/types.ts
  • packages/generator-amazon-apigateway/src/index.ts
  • packages/generator-openapi/src/index.ts
  • packages/generator-azure-schema-registry/src/types.ts
  • packages/generator-asyncapi/src/index.ts
  • packages/generator-confluent-schema-registry/src/types.ts
  • packages/generator-apicurio/src/types.ts
  • packages/generator-graphql/src/index.ts

Plugin tests mock shared/checkLicense and do not run the real check.

packages/generator-openapi/src/utils/openapi.ts reads info.license from an OpenAPI document. That is the spec's own metadata, not an EventCatalog key check.

Each generator CHANGELOG.md still records commit 209f6ec (Scale keys and per-plugin keys). Those are historical release notes and were left as written.

Test plan

  • pnpm run build passed locally (11 packages)
  • Prettier check passed on the README and package.json files
Open in Web Open in Cursor 

Replace the dual AGPL and commercial licence with a standard MIT licence, set the package.json licence field to MIT, and remove trial, Starter, Scale, and per-plugin purchase wording from the docs.

Co-authored-by: David Boyne <[email protected]>
@changeset-bot

changeset-bot Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 8d2052b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Use the same BSL 1.1 text as EventCatalog core, with the Licensed Work set to the generators in this repository, and set the SPDX licence field to BUSL-1.1.

Co-authored-by: David Boyne <[email protected]>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@cursor cursor Bot changed the title Licence the generators under MIT Licence the generators under Business Source License 1.1 Oct 8, 2026
cursoragent and others added 2 commits October 8, 2026 15:00
The Change Date example no longer uses a version 5 series, and README licence lines link the EventCatalog licence on main.

Co-authored-by: David Boyne <[email protected]>
@boyney123 boyney123 closed this Oct 13, 2026
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.

3 participants