Extract caching logic into a separate gradle-actions-caching component by bigdaz · Pull Request #885 · gradle/actions (original) (raw)

@bigdaz

With this change, the caching functionality of setup-gradle and dependency-submission is now provided by gradle-actions-caching, a closed-source library distributed under our Terms of Use. The rest of the action implementation remains open source.

Using setup-gradle or dependency-submission with caching enabled involves loading and using the gradle-actions-caching component, requiring acceptance of the Terms of Use. There are no functional changes to caching provided by these actions: all workflows will continue to function as before.

The non-caching aspects of action implementation remain open source. By running these actions with caching disabled they can be used without ever loading gradle-actions-caching or accepting the license terms.

Supporting the caching infrastructure in this project requires a substantial engineering investment by Gradle Technologies, which we can sustain thanks to Develocity, our commercial offering. Caching technologies are a core part of the Develocity offering, and the caching in setup-gradle fits squarely in that space.

This licensing change lets us continue to build advanced capabilities that go beyond what we would offer as open source. Proper production-ready Configuration Cache support will be the first capability. Improving build performance for self-hosted runners will follow.

We may introduce functionality restrictions in future updates. However, caching functionality will remain free for public repositories. We have a long-standing commitment to open source, as maintainers of Gradle Build Tool, and by sponsoring the open source community with free Develocity licenses. Public repositories are primarily used by open source projects, and we remain committed to supporting them.