What is the BSL?¶
Business Source License is a source-available license created by MariaDB to “strike a balance between being able to run a financially viable software company while still supporting the original tenets of Open Source, such as empowering all software developers to be part of the innovation cycle”. Under BSL, the licensed code is not open-source in the spirit of The Open Source Definition, however, the code is available for free immediately and will become open-source after a set period of time. In Earthly’s case, the code automatically becomes open-source, under the Mozilla Public License Version 2.0, after three years.
Why is Earthly Using the BSL?¶
We would like to provide Earthly to as many engineers as possible for as long as possible. In order to build a project that continues to evolve, grow, have strong community support, and continues to offer most of the value for free, we need a sustainable business model. We are taking steps to prevent anyone from taking advantage of Earthly in a way that could jeopardize our business model. We believe that our use of BSL changes nothing for the overwhelming majority of the Earthly user base.
Unless you are intending to take the Earthly source code, turn it into a competing CI or a build-service product which you commercialize, then the BSL license will not impact you in any way compared to an open-source license.
You can continue to use Earthly, view its code and modify it for free. You may develop unrelated commercial products that are built with Earthly. And you may even build in-house build services or CIs using Earthly, as long as those are not offered commercially to third parties. However, you cannot build a commercial Earthly offering.
Read more about our decision in our announcement blog post.
How is BSL different from an open-source license?¶
In the case of Earthly, the BSL license is free and open just like an open-source license, with one key exception: you cannot build a commercial competitor to Earthly (such as a CI) using Earthly while the Earthly code you are using is subject to the BSL.
After three years, Earthly becomes completely open-source, licensed under the Mozilla Public License Version 2.0 (MPL2).
What is the Additional Use Grant?¶
We don’t intend to limit the use of Earthly in any way other than preventing a commercial competitor to ourselves. To enable this we have added the following Additional Use Grant into the BSL:
You may make use of the Licensed Work, provided that you may not use the Licensed Work for a Service Offering.
If your customers cannot change the build definition, artifacts or build secrets directly, then you are allowed to use Earthly for free for any application.
What is a Service Offering?¶
As defined by Earthly’s Additional Use Grant:
A “Service Offering” is a commercial offering that allows end users or other third parties (other than your employees and contractors or a company that has contracted you to build code that incorporates the Licensed Work) to access the functionality of the Licensed Work by (i) issuing builds whose build steps are controlled by such third parties, (ii) by creating build secrets whose contents or metadata are controlled by such third parties, or (iii) by creating Artifacts whose contents or metadata are controlled by such third parties.
In other words, if your customers can change the build definition, artifacts or secrets used in a build directly, then it is considered a “Service Offering”. A common example of such an offering is a Continuous Integration (CI) system offered to customers commercially.
Can I use Earthly in production? ¶
Yes, you can use BSL-licensed software in production according to the Additional Use Grant. The BSL and Earthly’s Additional Use Grant allows you to freely use Earthly in production as long as it is not a Service Offering.
What does “production” mean in the context of a build tool? ¶
For Earthly, production is either an environment used to serve customers directly, or an environment that serves the engineering team directly. Because the CI serves the needs of the engineering team, Earthly running in CI is considered as running in production.
Using Earthly in CI is allowed for free, as long as the CI is not offered by you commercially to your customers.
I am a software contractor. Can I use Earthly to build the code given that my client will also be able to change the build definition?¶
Yes, you are allowed to use Earthly in this context. The Additional Use Grant includes an exception for software contractors that have been hired to build code for their clients.
The explanations provided as part of this FAQ are not meant to replace or augment the terms of Earthly’s license. The FAQ is only provided as an informal explanation and is not legally binding. If Earthly’s license contradicts with this FAQ in any way, then Earthly’s license prevails.
Please see the complete text of the Earthly license on GitHub.