Several documentation.red-gate.com and liquibase.com URLs added in the previous commit had since moved (Redgate restructured its docs under /flyway/reference/, Liquibase Pro pricing moved to /pricing); this repoints them at the current, verified-200 pages. Also captures docs/output/16-liquibase-lock-defaults-javap.txt, the trimmed javap output backing chapter 11's claim about Liquibase's default lock-poll and lock-wait settings, which chapter 11 previously asserted without a committed artifact to back it. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Q6XdRjtsp4862EM44T7i9a
36 lines
2.3 KiB
Markdown
36 lines
2.3 KiB
Markdown
# 12. The OSS license service
|
|
|
|
[← 11. Liquibase locking](11-liquibase-locking.md) · [Index](../README.md) · Next: [13. The FSL license change →](13-the-fsl-license-change.md)
|
|
|
|
Chapter [7](07-why-there-is-no-undo.md) found that Flyway Community gates certain commands behind
|
|
a runtime `FlywayRedgateEditionRequiredException`. Liquibase Community 5.0 shipped something new
|
|
alongside its license change (chapter [13](13-the-fsl-license-change.md)): a `liquibase.license`
|
|
package, inside `liquibase-core` itself, that didn't exist in 4.x.
|
|
[`LiquibaseLicenseServiceTest`](../src/test/java/com/ankurm/dbmigrations/liquibase/LiquibaseLicenseServiceTest.java)
|
|
doesn't read about what that package does — it asks the actual service Spring Boot's
|
|
`LiquibaseAutoConfiguration` runs on top of, directly:
|
|
|
|
```
|
|
implementation: liquibase.license.OSSLicenseService
|
|
licenseIsInstalled(): false
|
|
licenseIsValid("any"): false
|
|
getLicenseInfo(): ""
|
|
```
|
|
|
|
(from [`docs/output/14-liquibase-oss-license-service.txt`](output/14-liquibase-oss-license-service.txt))
|
|
|
|
On the classpath this module uses — Community only, no Liquibase Pro artifact anywhere — the
|
|
license service Liquibase actually wires up is `OSSLicenseService`, which reports itself as
|
|
unlicensed and returns an empty license description. **This test found no evidence of functional
|
|
gating anywhere in the classpath this module runs on**: `update()`, `rollback()`, and every
|
|
changeset type this module exercises worked identically whether or not a license was present,
|
|
because none of them ever asked the license service anything. That's a meaningfully different
|
|
shape from Flyway's stub-and-throw pattern in chapter [7](07-why-there-is-no-undo.md) — Liquibase
|
|
Pro's paid features live in separate, additional artifacts rather than as gated stubs inside the
|
|
Community jar.
|
|
|
|
## Going deeper
|
|
|
|
- This test is a snapshot of Liquibase 5.0.3's Community classpath, not a guarantee about future releases — the license service's existence at all, brand new in 5.0, is itself evidence that Liquibase's commercial boundary is actively being redrawn (chapter [13](13-the-fsl-license-change.md) covers why).
|
|
- [Liquibase Pro feature comparison](https://www.liquibase.com/pricing) (`rel="nofollow"`) — what Pro actually adds, as separate functionality rather than unlocked stubs.
|