dbt Core v2 and the Apache 2.0 Fusion Runtime: What Got Opened
The press-release version says the Fusion runtime was open-sourced. dbt Labs' own post is more precise, and the precision matters.
According to dbt Labs, a subset of code it calls "the runtime" is now licensed under Apache 2.0 as dbt Core. The company had previously committed to releasing that code under the Elastic License 2.0 (ELv2). The same post describes dbt Core's code as completely open source under Apache 2.0.[4] It also says Core and Fusion no longer run as separate engines. They now share a single runtime, and Fusion adds advanced capabilities on top, some free and some premium.[4]
Fusion itself remains a commercial product. dbt's licensing documentation describes Fusion as proprietary to dbt Labs, licensed under the dbt Product Licensing Agreement.[5] In 2025, dbt Labs said Fusion's source-available parts would ship under ELv2, a license that bars offering the product as a hosted managed service.[6] dbt's pages haven't always described Fusion's license the same way. Read the current text before you put it into a procurement doc.
The accurate phrase is "a subset of the Fusion runtime moved to Apache 2.0," not "Fusion went open source." If you mix those up in an interview, you'll get corrected.
dbt Core v2 Ships in 2 Distributions
The upgrade docs describe 2 distributions of Core v2.0. Fusion is recommended for most users. An Apache-2.0-only distribution is available for customers with license constraints. Both use the same project language.[7]
In practice, your models, macros, and YAML should work on either distribution. Licensing, and whichever premium features you come to depend on, decide which one you run. If your employer's legal team keeps an approved-license list, the Apache-only distribution exists for you.
The Alpha Is an Alpha
dbt Labs calls v2.0 a first alpha.[4] The dbt-core README warns that behavior, APIs, and on-disk formats may change before the stable release. It also says v2.0 writes Parquet artifacts while still producing a JSON manifest.json for backward compatibility.[8]
If you have CI checks, lineage scripts, or a homegrown docs site that parses manifest.json, those are where an upgrade will break things quietly. I once spent 2 days tracing a "missing models" bug in a lineage dashboard. It turned out the artifact schema had shifted under us and nobody had pinned the version. Pin your versions. Run the alpha in a branch. Keep it out of production until the label changes.