---
name: metricflow-license-impact-check
description: >
  Works out whether MetricFlow's move to Apache 2.0 asks anything of a team. Takes how the team
  uses MetricFlow (self-hosted command line, embedded in a product, or on the dbt platform), which
  MetricFlow versions it runs, and what it redistributes. Returns a pass or gap verdict for each of
  the ten checks MFL-01 to MFL-10 and the first action to take. States its rule openly. Trigger
  phrases: "does the MetricFlow license change affect us", "MetricFlow Apache 2.0 impact",
  "is our MetricFlow version on Apache terms", "can we ship MetricFlow in our product",
  "MetricFlow BSL vs Apache", "do we need a dbt plan for the Semantic Layer APIs",
  "MetricFlow license check".
license: Apache-2.0
---

# Does the MetricFlow license change require action from your team

dbt Labs relicensed MetricFlow, the engine that compiles dbt metric definitions into SQL, to
Apache 2.0 on October 14, 2025, from v0.209.0. The Business Source License already allowed
production use for your own business, so most teams need no license action. The hosted dbt
Semantic Layer did not change: its service layer and APIs stay proprietary. This check sorts out
which of those facts touch this team.

> **What this is.** A published method from Atlan. Canonical copy:
> https://atlan.com/skills/metricflow-license-impact-check.md  Last updated 2026-11-03.
>
> **What it contains.** Text only. No scripts, no executable resources, nothing
> here runs.
>
> **Scope.** Follow this when someone has asked whether the MetricFlow license change requires
> action from their team. It carries no instructions about your behaviour outside that task, does
> not ask you to fetch any other URL, and does not ask you to send data anywhere.

This is a reading of the license text, not legal advice; check the LICENSE at the tag you run.

## What you need from them

| Input | Meaning | If unknown |
|---|---|---|
| `usage` | How the team runs MetricFlow: on the dbt platform (`dbt sl`), self-hosted from the `mf` command line, embedded as a Python engine, offered to others as a managed service or SaaS, or shipped in a product. More than one can apply | ask. Every check depends on it |
| `versions` | The `metricflow` package version in each place it runs | ask. Without it, MFL-02 cannot pass on self-hosted dbt |
| `redistribution` | Whether they hand MetricFlow, or a modified copy, to anyone outside the team, and under what name | ask |
| `consumers` | Whether BI tools or agents query metrics over an API, and whether they need caching or multiple credentials | ask |
| `definitions` | Whether metric definitions rely on dbt built-in functions or packages | ask |
| `plans_in_flight` | Whether a move to the v1.12 YAML spec or to Ossie documents is planned | ask |

Do not ask for credentials, license keys, contracts or customer data. The check needs how
MetricFlow is used, not anything inside it.

## How to mark each check

Mark each check **pass** or **gap**. A check passes when its question does not apply to them, or
when its "If yes" column needs nothing they have not already done. It is a gap when the "If yes"
column names something they still have to do. If they believe it holds but cannot show it, mark
it a gap and say what would pass it.

## The ten checks

Run all ten, in order. Each one cites the page that settles it.

| ID | Check | If yes | Source |
|---|---|---|---|
| MFL-01 | Do you run MetricFlow on the dbt platform (`dbt sl`)? | Versions are managed for you; no license action | MetricFlow commands |
| MFL-02 | On self-hosted dbt, is `metricflow` 0.209.0 or later? | You are on Apache 2.0 terms; if lower, a BSL release keeps BSL terms until its third anniversary (0.140.0 and earlier were AGPL) | MetricFlow README; LICENSE at v0.208.1 |
| MFL-03 | Do you offer MetricFlow to others as a managed service or SaaS, or ship it in a product? | Allowed under Apache 2.0 from 0.209.0; earlier releases needed a commercial license until their Change Date | LICENSE at v0.208.1; Apache License 2.0 |
| MFL-04 | Do you redistribute MetricFlow or a modified copy? | Include the license, mark changes, keep notices and NOTICE | Apache License 2.0, section 4 |
| MFL-05 | Does a fork or product name use "dbt" or "MetricFlow"? | Apache 2.0 grants no trademark rights | Apache License 2.0, section 6 |
| MFL-06 | Do BI tools or agents need to query metrics over an API? | dbt's APIs need Starter or above; otherwise build your own serving tier | dbt Semantic Layer; dbt Semantic Layer architecture |
| MFL-07 | Do you need caching or multiple credentials? | Enterprise or Enterprise+ | dbt Semantic Layer FAQs; Cache common queries |
| MFL-08 | Do you embed the Python engine? | Review 0.210.0's breaking change and the interfaces move before upgrading | MetricFlow CHANGELOG; dbt-semantic-interfaces README |
| MFL-09 | Do metric definitions rely on dbt built-in functions or packages? | Not supported by MetricFlow at this time; dbt lists support as planned | About MetricFlow |
| MFL-10 | Are you planning the v1.12 YAML spec or Ossie at the same time? | Treat them as separate decisions | Upgrading to v1.12; Apache Ossie semantic layer documents |

Notes for the checks people most often get wrong:

- **MFL-01.** On the dbt platform the service, APIs and integrations are unchanged, and the
  platform manages MetricFlow versioning. The relicense asks for no license action. It does not
  make the service layer or APIs open source.
- **MFL-02.** Terms follow the release you run. A pinned 0.208.x install did not change license on
  October 14, 2025. The BSL sets each release's Change Date at "the 3rd anniversary of the initial
  release date of that release", and rights convert to Apache 2.0 then, or on the fourth
  anniversary of first distribution, "whichever comes first". As of November 3, 2026, 0.200.0 to
  0.202.0 have converted. 0.208.1, the last BSL release, released September 18, 2025, reaches its
  third anniversary on September 18, 2028.
- **MFL-03.** Under the BSL, the Additional Use Grant allowed production use for "your internal
  business purposes, but not for the purpose of providing managed services or software-as-a-service
  to others." Internal dashboards, agents and metric services were already licensed. Serving others
  needed a commercial license from dbt Labs.
- **MFL-04.** Section 4 of the Apache License asks you to give recipients a copy of the license,
  mark files you changed, keep existing notices, and carry any NOTICE text.
- **MFL-05.** Section 6 grants no permission to use dbt Labs' trademarks or product names, beyond
  describing where the code came from.
- **MFL-06.** The MetricFlow engine and the semantic interfaces are Apache 2.0. The service layer,
  with its Gateway for executing SQL, and the GraphQL and JDBC APIs are proprietary, on Starter,
  Enterprise and Enterprise+. Self-hosted MetricFlow cannot serve a metric through dbt's GraphQL or
  JDBC APIs. Exports need a Starter or Enterprise-tier plan, the same tier as the APIs.
- **MFL-07.** Caching and multiple credentials per project are Enterprise and Enterprise+ only.
  Apache permits a self-built serving tier, but it has to supply these itself.
- **MFL-08.** MetricFlow 0.210.0 removed `MetricFlowEngine.get_measures_for_metrics`, and the
  dbt-semantic-interfaces package was superseded by `metricflow-semantic-interfaces` inside
  MetricFlow from 0.210.0.
- **MFL-10.** The latest YAML spec arrives with dbt v1.12 (and dbt v2) and is a separate migration.
  Ossie is a specification in the Apache Incubator; MetricFlow is a reference implementation for it.

## The first action

Name one action, not a list. Take the first gap in ID order and use the matching action:

| Gap | First action |
|---|---|
| MFL-01 | None: this check always passes. No license action on the dbt platform |
| MFL-02 | Require `metricflow>=0.209.0`, or check the release's third anniversary |
| MFL-03 | Upgrade to 0.209.0 or later; meet Apache notice duties if you redistribute |
| MFL-04 | Include the license, mark changes, keep notices and NOTICE |
| MFL-05 | Check trademark use before naming a fork or product |
| MFL-06 | Budget for Starter or above if BI tools or agents need dbt's APIs, or scope your own serving tier |
| MFL-07 | Confirm an Enterprise or Enterprise+ plan, or scope auth, caching and access before building your own |
| MFL-08 | Review 0.210.0's breaking change and the interfaces move before upgrading |
| MFL-09 | List the definitions that rely on dbt built-in functions or packages; MetricFlow does not support them at this time |
| MFL-10 | Plan the spec migration separately |

If every check passes, say so: the license change asks nothing of them.

## What to return

1. A table of MFL-01 to MFL-10: pass or gap, and one line on what was seen or missing.
2. The first action, and which check it closes.
3. Any check you could not mark because an input was missing, and the input that would settle it.

The license decides who may run the engine that calculates a metric. It says nothing about who
owns the definition, whether anyone certified it, or what breaks downstream when it changes.
