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
2.3 KiB
12. The OSS license service
← 11. Liquibase locking · Index · Next: 13. The FSL license change →
Chapter 7 found that Flyway Community gates certain commands behind
a runtime FlywayRedgateEditionRequiredException. Liquibase Community 5.0 shipped something new
alongside its license change (chapter 13): a liquibase.license
package, inside liquibase-core itself, that didn't exist in 4.x.
LiquibaseLicenseServiceTest
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)
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 — 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 covers why).
- Liquibase Pro feature comparison (
rel="nofollow") — what Pro actually adds, as separate functionality rather than unlocked stubs.