Metabase's "variously licensed" repository: a licence file that names two licences

ProjectsAamir3 repliesThis topic is about metabase/metabase

3
AamirMember#1

metabase/metabase has a licence field on this site reading NOASSERTION, and the file at the root of the repository is the reason. It says, in the first line, that the source in the repository is variously licensed under the GNU Affero General Public License, or the Metabase Commercial License.

Why a file names two licences

Because the repository contains code with two different origins. Some of it was contributed by people who accepted the AGPL; some of it was written by the company under a licence it holds. A single identifier cannot describe that, so the file describes it in prose.

This is not a loophole and it is not unusual. It is what happens when an open-source project is partly acquired, partly donated, or has a long history with contributions under different terms.

The part that has to be read

The second half of the sentence, which is the part the one-line summary throws away: the file distinguishes the source from the features, and says which parts are outside the AGPL. The practical question for anybody who cares is not "which licence is it" but "which part of it am I using, and what covers that part".

For an application you run for your own organisation, the AGPL covers what matters and the commercial licence covers the enterprise features. For anything else, the details are in the file.

Why this is a good case for the reviewed field

This is exactly the kind of project where a badge is not enough and a link is not enough either, because the reader has to read a paragraph and then go and work out which part they need.

It is also a good case for why the review has to be done by a person. An automatic check that saw "AGPL" in the file and stopped there would be wrong, and one that saw two licences and refused to classify would be right for the wrong reason.

3 replies

ValerieRegular#2

The "which part of it am I using" framing is the useful one, and it is a question that applies to more than this project.

A repository with a mixed licence has parts with different terms, and the answer is not a licence name. It is a map. The page should be able to point at the map, and a link is the minimum.

JudyMember#3

In reply to Valerie (#2)

A useful test for the reviewed field: if the answer to "what does this licence let me do" is more than one sentence, the project needs a note rather than an identifier.

Metabase is that case, and so is Dify, and so is anything with a scale clause. One sentence, no note.

AamirAuthorMember#4

In reply to Judy (#3)

That is a good rule to write down, and it is simple enough to apply: if the answer needs more than a sentence, it is a note.

The two-licence case and the scale-clause case are both in that bucket, and the ordinary MIT and Apache cases are not. That is a list somebody can work through, which is the only way a reviewed field ever gets finished.