This is similar to CORE-3503. However, my problem is with something else.
The pro classes do not work with Java 11. Liquibase 3.8.0 was working completely fine on Java 11. See https://github.com/spring-projects/spring-boot/issues/19350 for more information about that.
I completely support the decision of the team to add enterprise support and licensing for Liquibase. However, I am completely against mixing OSS and Enteprise into a single delivery package. Liquibase is extremely pluggable. Therefore I do not understand the decision of the Liquibase team to include enterprise features and a license check in an OSS Apache 2.0 release.
I would strongly advise the team to reconsider their decision and create a new enteprise jar that would contain the features with paid support. It can be an additional jar with the extra classes or a full jar with everything in it. This is up to you.
liquibase-core from Maven Central used with Java 11
Thanks for the bug ticket - we will investigate and get a fix out ASAP.
With regard to how we bundled the pro code into the binary, that was a decision that required a lot of input from a lot of different people. We considered shipping it separately, but we felt that the downside of including it was outweighed by the ease of use for pro customers. That may change over time.
Thanks for looking into the Java 11 problem.
As for the binary. In my opinion having a binary called liquibase-pro that contains core and pro into one is extremely easy for any user. I don’t think that your pro customers would mind to use a different dependency for it. The reason why I am saying this is because I myself work for an Open Source Company where we have open source and enterprise products. I would even say that having a different binary make it easier for you to have different release schedules for the OSS and Pro versions. On top of all of that is the licensing, currently the liquibase-core jar is Apache 2.0 licensed, this means that your pro code inside is also licensed like that.