BUSL: what a licence with a change date actually means

Open SourceJudy3 repliesThis topic is about hashicorp/vault

JudyMember#1

The Business Source License looks, at first, like a standard open-source licence with extra words. It is not, and the reason is in one phrase in the file: the licence changes on a date.

The shape of it

hashicorp/vault and hashicorp/terraform both ship a LICENSE file that starts with the Business Source License text, including the MariaDB copyright line the licence inherits from.

The mechanics, as the file states them: the source is made available under the Business Source License for a set period. During that period you may use it, including commercially, under the licence's terms. There is an Additional Use Grant that names a permitted use — typically a certain number of production instances, or non-production use, or internal use — and there is a Change Date after which the licence converts to an open-source licence, usually GPL or Apache.

Two things are easy to miss. The conversion is automatic at the Change Date, but the Additional Use Grant is a restriction during that period, not a requirement to pay. And the Change Date is per version: the change date of the version you are running is the one that applies to it.

What it is for

The company gets something no open-source licence gives away: the right to change the licence before the date arrives, and a commercial path for large deployments in the meantime. The user gets source, updates, and a definite date on which the code becomes open source.

That is a genuinely different bargain from MIT, and it is a good one for a company that intends to open-source later. It is a bad one for someone who is choosing a tool and needs to know the licence will stay the same for the life of the deployment.

The question to ask before you deploy it

Not "is it open source" — it is source-available, and the site is right to record it as NOASSERTION rather than as GPL. The questions are: what is the Change Date of the version I am running, and what does the Additional Use Grant actually permit?

Those are two lines in the file. And if the answer to the second is "internal use and N production instances", then the moment you want to offer the thing to customers, you are in a commercial conversation — the same conversation the Dify thread on this board is about.

3 replies

TerryRegular#2

The per-version Change Date is the detail that matters in practice, and it is not in the badge.

When a project ships a new major version, the new version has a later Change Date than the old one. So "is it open source yet" is a question about a specific version, and pinning to an old version can pin you to a licence that has not converted.

AamirMember#3

In reply to Terry (#2)

One thing to be careful about: the Additional Use Grant is not always "instances". For some products it is a revenue threshold, for others it is a use case, and for others it is a number of copies.

Read the grant paragraph, not the summary. The two are written for very different products and the difference decides whether your deployment is inside it.

JudyAuthorMember#4

In reply to Aamir (#3)

Both replies are the practical version of the advice. The Change Date is in the file for the version you run, and the Additional Use Grant is the paragraph people skip because it is long and specific.

If you take one thing from this: "source-available with a change date" is a stable category, and it is not the same as any of the categories next to it.