Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions LICENSE-BSL
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,27 @@ Licensed Work: Formspec Authoring Components
Additional Use Grant:

You may make use of the Licensed Work, provided that you do not use the
Licensed Work for a Form Authoring Service.
Licensed Work for a Form Authoring Product.

A "Form Authoring Service" is a commercial offering that allows third parties
to create, edit, or manage form definitions and that is provided as a hosted
or managed service where the service operator (not the end user) controls
the deployment of the Licensed Work.
A "Form Authoring Product" is a commercial offering that allows third parties
to create, edit, or manage form definitions and is made available either:
(a) as a hosted or managed service, or
(b) as a packaged product (on-premises, installable, or embedded)
where the offering competes with the Licensor's own form authoring products.

For clarity, the following uses are always permitted:
- Internal use of the Licensed Work within your organization
- Use of the Licensed Work for development, testing, and evaluation
- Non-commercial and academic use
- Use of the Licensed Work to render, fill, or submit forms (form rendering
is covered by the Apache-2.0 licensed runtime packages, not this license)
- Building internal tools that use the Licensed Work, even commercially,
as long as those tools are not offered to third parties as a form authoring
product

For the avoidance of doubt, form definitions, responses, themes, mappings,
and other data documents created using the Licensed Work are not derivative
works of the Licensed Work. You own your data.

Change Date: April 7, 2030

Expand Down
36 changes: 29 additions & 7 deletions LICENSING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@

Formspec uses an open-core licensing model. The specification, schemas, and runtime libraries are permissively licensed to maximize adoption. The authoring and tooling packages are source-available under a commercial-use restriction that converts to Apache-2.0 after four years.

## Versions prior to this change
## License history

All versions released before this relicensing were published under AGPL-3.0-only. Those versions remain available under AGPL-3.0 terms. This license change applies to all subsequent releases.
This project has been relicensed twice:

1. **MIT** — original license at project inception
2. **AGPL-3.0-only** — adopted during development
3. **Apache-2.0 / BSL 1.1** — current open-core model (this version)

Code obtained under a prior license remains available under those terms for the version at which it was obtained. This license change applies to all subsequent releases.

## Apache-2.0 — Specification, Schemas, and Runtime

Expand All @@ -26,6 +32,7 @@ The following are licensed under the [Apache License 2.0](LICENSE):
- `fel-core` — FEL parser, evaluator, and dependency analysis
- `formspec-core` — Path utils, schema validation, assembler
- `formspec-eval` — Batch evaluator
- `formspec-lint` — Static analysis pipeline
- `formspec-wasm` — WASM bindings
- `formspec-py` — Python (PyO3) bindings

Expand All @@ -50,26 +57,41 @@ The following are licensed under the [Business Source License 1.1](LICENSE-BSL):
- `@formspec-org/assist` — Assist interoperability implementation

**Rust crates:**
- `formspec-lint` — Static analysis pipeline
- `formspec-changeset` — Changeset dependency analysis

**What the BSL allows:**
- Internal use within your organization
- Development, testing, and evaluation
- Non-commercial and academic use
- Any use that is not a competing hosted "Form Authoring Service"
- Building internal tools, even commercially, as long as they are not offered to third parties as a form authoring product
- Any use that is not a competing "Form Authoring Product" (hosted *or* packaged)

**What requires a commercial license:**
- Offering a hosted or managed service that allows third parties to create, edit, or manage Formspec form definitions using the BSL-licensed components
- Offering a product — hosted, managed, on-premises, or packaged — that allows third parties to create, edit, or manage Formspec form definitions using the BSL-licensed components

**Change date:** April 7, 2030 — on this date, all BSL-licensed code converts automatically to Apache-2.0.

For commercial licensing inquiries, contact Michael.Deeb@tealwolf.consulting.

## Form definitions are your data

Your JSON form definitions, responses, themes, mappings, and all other Formspec documents you create are **your data**. They are not covered by any Formspec license. You own them completely regardless of which tools you used to create them.
Your JSON form definitions, responses, themes, mappings, and all other Formspec documents you create are **your data**. They are not derivative works of Formspec. They are not covered by any Formspec license. You own them completely regardless of which tools you used to create them. This is stated explicitly in the [BSL license text](LICENSE-BSL).

## Trademarks

"Formspec," the Formspec logo, and "FEL" are trademarks of Michel Deeb / TealWolf Consulting LLC. The Apache-2.0 and BSL 1.1 licenses grant rights to the *code*, not to the name or brand.

**You may:**
- Use the name "Formspec" to accurately describe your project's relationship to Formspec (e.g., "built on Formspec," "compatible with Formspec," "uses the Formspec engine")
- Use the name in technical documentation, blog posts, and conference talks

**You may not:**
- Use "Formspec" or confusingly similar names as the name of your own product, service, or company
- Use the Formspec logo in a way that suggests endorsement or affiliation without written permission
- Register domain names or social media accounts using "Formspec" without written permission

For trademark use questions, contact Michael.Deeb@tealwolf.consulting.

## Contributing

By submitting a contribution (pull request, patch, or other code) to this repository, you agree to license your contribution under the same license that applies to the package(s) you are modifying. We require a Contributor License Agreement (CLA) for all contributions — the CLA bot will guide you through this on your first pull request.
By submitting a contribution to this repository, you agree to license your contribution under the same license that applies to the file(s) you are modifying, and you acknowledge that the maintainers may offer the project (including your contributions) under commercial license terms. See [CONTRIBUTING.md](CONTRIBUTING.md) for full terms.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -360,5 +360,5 @@ Created by [Michael Deeb](https://www.linkedin.com/in/michael-deeb/) at [TealWol

Open-core model — see [LICENSING.md](LICENSING.md) for details.

- **Runtime** (engine, renderers, FEL, schemas, specs): [Apache-2.0](LICENSE)
- **Authoring tools** (studio, MCP, chat, linter): [BSL 1.1](LICENSE-BSL) — converts to Apache-2.0 on April 7, 2030
- **Runtime** (engine, renderers, FEL, linter, schemas, specs): [Apache-2.0](LICENSE)
- **Authoring tools** (studio, MCP, chat): [BSL 1.1](LICENSE-BSL) — converts to Apache-2.0 on April 7, 2030
8 changes: 4 additions & 4 deletions context.md
Original file line number Diff line number Diff line change
Expand Up @@ -345,11 +345,11 @@ Formspec's accessibility model is built into the behavior layer, not bolted on a

Formspec uses an open-core licensing model:

- **Runtime packages are Apache-2.0** — the specification, schemas, form engine, renderers (web component, React, Swift), FEL evaluator, layout algorithm, and all Rust crates needed to render and validate forms. You can embed these freely in any application, including proprietary and commercial products. No copyleft. Includes a patent grant.
- **Authoring tools are BSL 1.1** — Studio, MCP server, chat interface, assist implementation, linter, and changeset analysis. You can use these for internal purposes, development, testing, and non-commercial work. The restriction: you cannot offer them as part of a competing hosted form-authoring service. On April 7, 2030 (or four years after each version's release), all BSL code converts automatically to Apache-2.0.
- **Form definitions are your data.** Your JSON form definitions, responses, themes, mappings, and all other documents you create are yours. No license applies to them regardless of which tools you used.
- **Runtime packages are Apache-2.0** — the specification, schemas, form engine, renderers (web component, React, Swift), FEL evaluator, layout algorithm, linter, and all Rust crates needed to render, validate, and lint forms. You can embed these freely in any application, including proprietary and commercial products. No copyleft. Includes a patent grant.
- **Authoring tools are BSL 1.1** — Studio, MCP server, chat interface, assist implementation, and changeset analysis. You can use these for internal purposes, development, testing, and non-commercial work. The restriction: you cannot offer them as part of a competing form-authoring product (hosted or packaged). On April 7, 2030 (or four years after each version's release), all BSL code converts automatically to Apache-2.0.
- **Form definitions are your data.** Your JSON form definitions, responses, themes, mappings, and all other documents you create are yours. They are not derivative works. No license applies to them regardless of which tools you used.

**Government procurement:** The runtime packages are Apache-2.0, which is universally accepted by government procurement offices. No copyleft concerns for the components you embed in your applications. The authoring tools (BSL) are relevant only if you're building a competing hosted form-builder — internal use is unrestricted.
**Government procurement:** The runtime packages are Apache-2.0, which is universally accepted by government procurement offices. No copyleft concerns for the components you embed in your applications. The authoring tools (BSL) are relevant only if you're building a competing form-authoring product — internal use is unrestricted.

For commercial licensing of the authoring tools, contact Michael.Deeb@tealwolf.consulting. Full details in [LICENSING.md](LICENSING.md).

Expand Down
2 changes: 1 addition & 1 deletion crates/formspec-lint/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "formspec-lint"
version.workspace = true
edition.workspace = true
license = "BUSL-1.1"
license.workspace = true
description = "Formspec Linter — 8-pass static analysis pipeline"
repository = "https://github.com/Formspec-org/formspec"

Expand Down
2 changes: 1 addition & 1 deletion crates/formspec-lint/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,4 +118,4 @@ cargo test -p formspec-lint

## License

BUSL-1.1 — see [LICENSE-BSL](../../LICENSE-BSL) and [LICENSING.md](../../LICENSING.md).
Apache-2.0 — see [LICENSE](../../LICENSE) and [LICENSING.md](../../LICENSING.md).
Loading