Files
spring-boot-demo/db-migrations-flyway-liquibase/docs/12-the-oss-license-service.md
T
asmhatreandClaude Sonnet 5 3908331431 Add db-migrations-flyway-liquibase: Flyway vs Liquibase migrations, rollbacks and baselines on Spring Boot 4.1
Companion code for the Flyway vs Liquibase article: checksum validation, out-of-order
and repeatable migrations, baselining an existing schema, Flyway Community's undo/diff/deploy
stubs, concurrent-startup locking for both tools, Liquibase changeset identity and rollback
(auto-generated vs explicit), a verified Liquibase 5.0.3 filename-caching defect, the new
OSS license service, the FSL license change, and running both tools against one database.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Q6XdRjtsp4862EM44T7i9a
2026-09-15 07:08:57 +00:00

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.