If your team runs MetricFlow only for its own business, the Apache 2.0 relicense changes almost nothing: the Business Source License already allowed internal production use. Atlan reads the semantic models, metrics and lineage in your dbt project. The Semantic Layer’s APIs stay proprietary and need a dbt Starter, Enterprise, or Enterprise+ plan.
What moved on October 14, 2025 is that dbt Labs relicensed MetricFlow to Apache 2.0 from v0.209.0, so anyone may now run it as a service for others. Older releases keep a clock of their own: the BSL converts each release to Apache 2.0 on its third anniversary.
| Fact | Detail | Source |
|---|---|---|
| License change date | October 14, 2025: pull request merged and v0.209.0 released the same day | PR #1905; v0.209.0 release; dbt Labs press release |
| Previous license | Business Source License, MetricFlow 0.150.0 to 0.208.2 per the README; last BSL release 0.208.1, September 18, 2025 | MetricFlow README; LICENSE at v0.208.1; v0.208.1 release |
| Older releases | Each BSL release converts to Apache 2.0 on its third anniversary | LICENSE at v0.208.1 |
| Current license | Apache License 2.0, MetricFlow 0.209.0 and later | MetricFlow README; About MetricFlow |
| Latest MetricFlow release | 0.213.0, September 10, 2026 | v0.213.0 release |
| Still proprietary | Service layer (including the Gateway) and Semantic Layer APIs (GraphQL, JDBC) | dbt Semantic Layer architecture |
| Plans that include the APIs | dbt Starter, Enterprise, Enterprise+ | dbt Semantic Layer architecture |
| dbt compatibility | dbt 1.6 and higher | About MetricFlow |
Who does the MetricFlow license change affect?
The answer turns on who uses what you build with MetricFlow, and most teams need no license action.
On the dbt platform, the service, APIs and integrations are unchanged, and MetricFlow commands says the platform manages MetricFlow versioning for you.
On self-hosted dbt, you keep the same workflow (define, validate, mf query) behind most semantic layer for analytics setups. From 0.209.0 the terms add an express patent license and drop the production carve-out.
A platform team running an internal metrics service was already covered. Offering it to customers or partners is covered by the open license from 0.209.0; under the BSL it needed a commercial license from dbt Labs.
A vendor shipping MetricFlow inside a hosted product sees the biggest change. What it embeds is a compiler from metric name to SQL, the approach weighed in deterministic SQL compared with text-to-SQL and in work on agent accuracy.
| You are | What changed for you | What to do | Source |
|---|---|---|---|
On the dbt platform (dbt sl) |
Nothing in the service or APIs | No license action | dbt Semantic Layer architecture; MetricFlow commands |
| On self-hosted dbt, internal use only | Same rights; Apache 2.0 adds an express patent license | Upgrade to 0.209.0 or later if you want Apache terms now | LICENSE at v0.208.1; Apache License 2.0; MetricFlow README |
| A platform team offering MetricFlow to customers or partners as a managed service | Covered by Apache 2.0 from 0.209.0; under the BSL it needed a commercial license | Upgrade to 0.209.0 or later; meet Apache notice duties if you redistribute | LICENSE at v0.208.1; Apache License 2.0 |
| A vendor shipping MetricFlow in a product | Covered by Apache 2.0, including as SaaS | License copy, change notices, NOTICE; check trademark use | dbt Labs announcement; Apache License 2.0 |
What changed when dbt Labs relicensed MetricFlow?
MetricFlow has carried three licenses. According to the MetricFlow README, versions up to 0.140.0 were AGPL, 0.150.0 to 0.208.2 were BSL, and 0.209.0 onward is Apache 2.0. The BSL arrived in April 2023; the BSL releases published on GitHub run from 0.200.0 to 0.208.1.
dbt Labs’ announcement (2025) says the Apache code covers defining metrics, calculating them in multi-dialect SQL, and the metadata representation of semantic constructs. That is the core of any dbt Semantic Layer deployment, the metrics layer itself.
dbt Labs also says it hopes to donate MetricFlow to an open-source foundation; the repository still sits under dbt Labs on GitHub. The dbt Licensing FAQ removed its BSL references on June 1, 2026, though the Semantic Layer FAQ (last updated October 19, 2026) still calls MetricFlow “a source-available component”.
| Date | What changed | Version | Source |
|---|---|---|---|
| April 28, 2023 | MetricFlow moves from AGPL to the Business Source License | 0.150.0 onward per the README | PR #462; MetricFlow README |
| September 18, 2025 | v0.208.1 released, the last BSL release; its LICENSE file carries the BSL terms | v0.208.1 | v0.208.1 release; LICENSE at v0.208.1 |
| October 14, 2025 | “Change License to Apache 2.0” merged; v0.209.0 released; press release at Coalesce 2025 | v0.209.0 | PR #1905; v0.209.0 release; dbt Labs press release |
| October 28, 2025 | Ossie project page: MetricFlow contributed as a reference implementation for OSI | n/a | Ossie project update |
| April 24, 2026 | Breaking change: MetricFlowEngine.get_measures_for_metrics removed; semantic interfaces move into MetricFlow |
0.210.0 | MetricFlow CHANGELOG; dbt-semantic-interfaces README |
| June 1, 2026 | dbt Licensing FAQ removes BSL references | n/a | dbt Licensing FAQ |
| September 10, 2026 | Latest release at the time of writing | 0.213.0 | v0.213.0 release |
A pinned 0.208.x install did not change license on October 14. Its own clock still runs: 0.208.1, released September 18, 2025, reaches its third anniversary on September 18, 2028.
What did the Business Source License allow, and what does Apache 2.0 add?
The BSL already let your team run MetricFlow in production for its own business, so Apache 2.0 changes one right. The v0.208.1 LICENSE granted copying, modification, derivative works, redistribution and non-production use. Its Additional Use Grant then allowed production use for “your internal business purposes, but not for the purpose of providing managed services or software-as-a-service to others.”
That clause is the whole story for most teams. Internal dashboards, agents and metric services were already licensed. Serving others was possible too: the LICENSE says other use requires “a commercial license from the Licensor”.
The BSL also had a clock. Each release’s Change Date is “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”. Checked on November 3, 2026: by that clock, 0.200.0 to 0.202.0, released in August and September 2023 per the MetricFlow CHANGELOG, have already converted. The relicense removed the wait for 0.209.0 onward.
Apache License 2.0 grants a perpetual, worldwide, royalty-free copyright license, plus an express patent license from contributors that ends if you start patent litigation claiming the Work infringes. It grants no trademark rights, and it ships the software “AS IS”. Per dbt Labs’ announcement, other vendors can now build MetricFlow into their products, including a semantic layer for AI agents.
| Right | BSL (releases 0.200.0 to 0.208.1) | Apache 2.0 (0.209.0 and later) | Source |
|---|---|---|---|
| Read, copy, modify, redistribute the code | Yes | Yes | LICENSE at v0.208.1; Apache License 2.0, section 2 |
| Non-production use | Yes | Yes | LICENSE at v0.208.1; Apache License 2.0, section 2 |
| Production use for your own business | Yes, under the Additional Use Grant | Yes | LICENSE at v0.208.1; Apache License 2.0, section 2 |
| Offer MetricFlow to others as a managed service or SaaS | Not under the BSL grant; needed a commercial license from dbt Labs | Yes | LICENSE at v0.208.1; Apache License 2.0, section 2; dbt Labs announcement |
| Express patent license from contributors | No express patent grant in the BSL text | Yes; ends if you start patent litigation over the Work | LICENSE at v0.208.1; Apache License 2.0, section 3 |
| Conversion to Apache 2.0 | Each release on its third anniversary, at the latest its fourth | Already Apache | LICENSE at v0.208.1 |
This is a reading of the license text, not legal advice; check the LICENSE at the tag you run.
Which parts of the dbt Semantic Layer are open source and which still need a dbt plan?
dbt splits the Semantic Layer into four components, two under Apache 2.0 and two proprietary, and a BI tool or agent talks to the proprietary two. dbt Semantic Layer architecture (2026) lists MetricFlow and the semantic interfaces as Apache 2.0 on local dbt and every plan. The service layer, with its Gateway for executing SQL, and the GraphQL and JDBC APIs are proprietary, on Starter, Enterprise and Enterprise+.
The dbt Semantic Layer page says the Semantic Layer product needs a Starter or Enterprise-tier account; the MetricFlow CLI does not.
Exports need a Starter or Enterprise-tier plan, the same tier as the APIs. Two features sit higher: caching and multiple credentials per project are Enterprise and Enterprise+ only.
That split decides how a BI tool or agent reaches dbt-served metrics: through the APIs that BI tools and AI agents share, or over MCP. Where dbt sits among semantic layer tools depends on which half you count.
| Component | License | Self-hosted dbt | Developer | Starter | Enterprise, Enterprise+ | Source |
|---|---|---|---|---|---|---|
| MetricFlow engine | Apache 2.0 | Yes | Yes | Yes | Yes | dbt Semantic Layer architecture |
| Semantic interfaces | Apache 2.0 | Yes | Yes | Yes | Yes | dbt Semantic Layer architecture |
| Service layer (Gateway) | Proprietary | No | No | Yes | Yes | dbt Semantic Layer architecture |
| Semantic Layer APIs (GraphQL, JDBC) | Proprietary | No | No | Yes | Yes | dbt Semantic Layer architecture |
| Downstream integrations | Platform feature | No | No | Yes | Yes | dbt Semantic Layer architecture; dbt Semantic Layer FAQs |
| Exports | Platform feature | No | No | Yes | Yes | dbt Semantic Layer architecture; Write queries with exports |
| Caching | Platform feature | No | No | No | Yes | dbt Semantic Layer FAQs; Cache common queries |
| Multiple credentials per project | Platform feature | No | No | No | Yes | dbt Semantic Layer FAQs; Administer the Semantic Layer |
Rows 1 to 4 follow dbt’s architecture table. Rows 5 to 8 combine the architecture feature table with dbt’s FAQ, Exports, caching and Semantic Layer setup pages. Read November 3, 2026.
The license moved the engine; the serving path stayed where it was. Recording what each metric means and who owns it is a separate job, the one a semantic layer and a data catalog split differently.
How to run MetricFlow on self-hosted dbt under Apache 2.0
Five steps take self-hosted dbt from install to a metric query.
- Create or activate a virtual environment, then install
dbt-metricflowwith your adapter as an extra. Per MetricFlow commands (2026), you manage versions yourself: dbt, the adapter and MetricFlow on v1, or dbt and MetricFlow on v2.
python -m venv venv
python -m pip install "dbt-metricflow[adapter_package_name]"
-
Check the version. A
metricflowpackage at 0.209.0 or later shipped under Apache 2.0. An older BSL release runs under its own LICENSE until its third anniversary. -
Define a metric in the model’s YAML, where semantic models and dbt models meet. About MetricFlow shows the latest YAML spec, which dbt supports in dbt v1.12, dbt v2 and the platform’s v1 Latest release track; older versions use the legacy spec, and moving is a separate migration. The orders model from the docs’ revenue example, with comments removed:
models:
- name: orders
semantic_model:
enabled: true
name: orders_semantic_model
agg_time_dimension: metric_time
columns:
- name: order_id
description: "Primary key for orders table"
entity:
type: primary
name: order_id
label: "Order ID"
- name: customer_id
description: "Foreign key linking to customers"
entity:
type: foreign
name: customer
label: "Customer"
- name: ordered_at
granularity: day
dimension:
type: time
label: "Order Date"
description: "Date when the order was placed"
metrics:
- name: order_total
description: "Total revenue from orders"
label: "Order Total Revenue"
type: simple
agg: sum
expr: order_total
- Validate and query. Run
mf validate-configs, thenmf query. Adding--explainshows the generated SQL on dbt v1 (--compileon the dbt platform and dbt v2), and--csvwrites results to a file. On the dbt platform, the prefix isdbt slinstead.
mf validate-configs
mf query --metrics <metric_name> --group-by <dimension_name>
- Add validations to CI. dbt documents installing MetricFlow in your Git provider’s pipeline so the checks run on pull requests.
Two limits apply. MetricFlow doesn’t support dbt built-in functions or packages at this time; dbt says support is planned. And this path can’t serve the metric through dbt’s GraphQL or JDBC APIs, which dbt’s FAQ reserves for platform plans.
What do you take on if you serve MetricFlow yourself?
Under Apache 2.0, a self-built serving tier may also serve customers and partners. dbt’s Starter and Enterprise plans list what it would replace: the Gateway that executes SQL, the GraphQL and JDBC interfaces, caching, multiple credentials, and Exports for scheduled tables. Your workload decides which you need.
Redistribution carries duties. 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. Section 6 grants no permission to use dbt Labs’ trademarks or product names, beyond describing where the code came from. Section 7 ships the code with no warranty.
Embedding the Python engine means planning for breaking changes. 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.
For agent access, dbt’s MCP server comes self-hosted or remote, the pattern behind any MCP server for dbt. Its self-hosted server lists “Optional integration with dbt platform APIs for metadata discovery and Semantic Layer access”, so its Semantic Layer tools still run through dbt’s APIs, which vary by plan. An AI-ready semantic layer also needs agents to see where a metric came from, and MCP for data lineage is one way to give them that view.
Common mistakes when reading the MetricFlow license change
Most confusion comes from treating the engine, the hosted Semantic Layer, the YAML spec and Apache Ossie as one change. The engine is Apache 2.0; the service layer and APIs a BI tool calls are proprietary and need a Starter plan or above.
The latest YAML spec arrives with dbt v1.12 (and dbt v2), where measures are replaced by simple metrics defined within the model. It is a separate migration.
The Ossie project, formerly Open Semantic Interchange, received MetricFlow as a reference implementation in October 2025 and announced its new name, Apache Ossie (Incubating), on July 10, 2026. dbt v1.12 reads Ossie documents at version 0.1.0 or 0.1.1, and dbt’s docs list support in dbt v2 as coming soon.
A spec for a universal semantic layer differs from the engine that computes it, as an ontology and a semantic layer differ. Arguments that semantic layers failed and questions about where metric ownership lives sit outside the license.
| Mistake | What is true | Fix | Source |
|---|---|---|---|
| “MetricFlow is open source, so the dbt Semantic Layer is free” | The service layer and APIs are proprietary | Budget for Starter or above if BI tools or agents need dbt’s APIs | dbt Semantic Layer architecture; dbt Semantic Layer FAQs |
| Running 0.208.x and assuming Apache terms | Terms follow the release you run and its BSL Change Date | Require metricflow>=0.209.0, or check the release’s third anniversary |
MetricFlow README; LICENSE at v0.208.1 |
| Self-serving without the service work | Apache permits it; dbt lists caching and multiple credentials as Enterprise and Enterprise+ features | Scope auth, caching and access before building | Apache License 2.0; Cache common queries; Administer the Semantic Layer |
| Treating the license change as the YAML spec change | The latest spec belongs to dbt v1.12 and dbt v2 | Plan the spec migration separately | Upgrading to v1.12; Migrate to the latest YAML spec |
| Treating Ossie as MetricFlow | Ossie is a specification in the Apache Incubator; MetricFlow is a reference implementation | Check which Ossie versions dbt reads | Ossie project pages; Apache Ossie semantic layer documents |
| Using dbt or MetricFlow marks for a fork | Apache 2.0 grants no trademark rights | Check trademark use before naming a fork or product | Apache License 2.0, section 6 |
Expecting mf query --csv to replace Exports |
--csv writes a local file for self-hosted users; Exports are scheduled tables or views on the platform |
Use Exports on Starter or above, or schedule your own job | MetricFlow commands; Write queries with exports |
Checklist: does the MetricFlow license change require action from your team?
Run these ten checks 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 |
Where does a context layer fit once MetricFlow can run in more places?
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.
dbt Labs’ announcement says the hosted Semantic Layer “governs how definitions are authored, versioned, and accessed.” That covers teams that query through dbt’s service. If your metrics are computed by more than one engine, say dbt’s service plus MetricFlow embedded in an internal agent, the definition needs a named owner above both: the gap between context engineering and a semantic layer, and the job that separates a context layer, a data catalog and a semantic layer.
Atlan reads the dbt side of that record: its crawl reference for dbt Core and for dbt Cloud list semantic models, measures, dimensions, entities and metrics, with lineage from model to semantic model to metric. For dbt Core, Atlan processes the manifest.json and run_results.json files for each job, files a self-hosted project produces without the dbt platform.
An enterprise context layer is where you record who owns a metric definition and whether anyone certified it, next to KPI definitions and a business glossary and data lineage for AI. It is the same problem as metric conflicts across analytics teams, and the input to context engineering that a semantic layer alone does not hold. Agents reach that context through the Atlan MCP server.
For most teams on the dbt platform, the license change asks for nothing. The older question stays open: which metric in your project has more than one definition today, and who would settle it. That list is a practical first input when you implement an enterprise context layer.
FAQs about MetricFlow’s Apache 2.0 license
1. Is the dbt Semantic Layer open source now?
Partly. dbt lists MetricFlow and the semantic interfaces under Apache 2.0, and the service layer and Semantic Layer APIs as proprietary. dbt’s FAQ calls the Semantic Layer proprietary, with some open-source components.
2. Which MetricFlow version is the first under Apache 2.0?
Version 0.209.0, released October 14, 2025. The README lists 0.150.0 to 0.208.2 under the Business Source License (the last BSL release published is 0.208.1), and each of those releases converts to Apache 2.0 on its third anniversary.
3. Can I use MetricFlow without a dbt platform plan?
Yes. You can define metrics and query them locally from the command line without a plan. dbt’s APIs and integrations still need one.
4. Does my team need to change anything if it is on the dbt platform?
The relicense asks for no license action. The service layer and APIs your BI tools call are still proprietary dbt features, and the dbt platform manages MetricFlow versions for you.
5. Can a company build MetricFlow into a commercial product?
Yes, from version 0.209.0. Apache 2.0 asks you to pass on the license, mark changed files, and keep notices, and it grants no permission to use dbt Labs’ trademarks. Under the BSL, production use beyond its Additional Use Grant needed a commercial license from dbt Labs.
6. Is Apache Ossie the same thing as MetricFlow?
No. Ossie, formerly Open Semantic Interchange, is a specification project in the Apache Incubator. dbt Labs contributed MetricFlow as a reference implementation for it.
7. Has dbt Labs donated MetricFlow to a software foundation?
dbt Labs’ announcement says it hopes to eventually donate MetricFlow to a leading open-source foundation. As of November 3, 2026, the code is published at dbt-labs/metricflow on GitHub.
Sources
- dbt Labs Affirms Commitment to Open Semantic Interchange by Open Sourcing MetricFlow, dbt Labs, October 14, 2025
- Announcing open source MetricFlow: Governed metrics to power trustworthy AI and agents, dbt Labs, last edited December 18, 2025
- Change License to Apache 2.0 by courtneyholcomb · Pull Request #1905 · dbt-labs/metricflow · GitHub, merged October 14, 2025
- Release MetricFlow v0.209.0 · dbt-labs/metricflow · GitHub, October 14, 2025
- Release v0.208.1 · dbt-labs/metricflow · GitHub, September 18, 2025
- metricflow/LICENSE at v0.208.1 · dbt-labs/metricflow · GitHub
- metricflow/README.md at main · dbt-labs/metricflow · GitHub
- Update MetricFlow License to BSL by nhandel · Pull Request #462 · dbt-labs/metricflow · GitHub, merged April 28, 2023
- metricflow/CHANGELOG.md at main · dbt-labs/metricflow · GitHub, 0.210.0 entry April 24, 2026
- Release MetricFlow 0.213.0 · dbt-labs/metricflow · GitHub, September 10, 2026
- GitHub - dbt-labs/dbt-semantic-interfaces: The shared semantic layer definitions that dbt-core and MetricFlow use. · GitHub
- dbt Licensing FAQ, dbt Labs, change history June 1, 2026
- About MetricFlow, dbt Developer Hub, last updated October 20, 2026
- dbt Semantic Layer, dbt Developer Hub, last updated September 29, 2026
- dbt Semantic Layer architecture, dbt Developer Hub, last updated September 10, 2026
- dbt Semantic Layer FAQs, dbt Developer Hub, last updated October 19, 2026
- MetricFlow commands, dbt Developer Hub, last updated September 10, 2026
- Write queries with exports, dbt Developer Hub, last updated September 8, 2026
- Cache common queries, dbt Developer Hub, last updated July 23, 2026
- Administer the Semantic Layer, dbt Developer Hub, last updated August 18, 2026
- Migrate to the latest YAML spec, dbt Developer Hub, last updated September 8, 2026
- Upgrading to v1.12, dbt Developer Hub, last updated October 16, 2026
- Apache Ossie semantic layer documents, dbt Developer Hub, last updated September 25, 2026
- About dbt Model Context Protocol (MCP) server, dbt Developer Hub, last updated July 23, 2026
- Apache License, Version 2.0 | Apache Software Foundation, Version 2.0, January 2004
- Announcing Open Source MetricFlow: Governed Metrics for AI and Agents - Apache Ossie (incubating), October 28, 2025
- Apache Ossie (Incubating): The New Name for Open Semantic Interchange - Apache Ossie (incubating), July 10, 2026
- Home - Apache Ossie (incubating)
- What does Atlan crawl from dbt Core?, Atlan Documentation
- What does Atlan crawl from dbt Cloud?, Atlan Documentation
- Set up dbt Core, Atlan Documentation