How Apache Ossie Tries to Bring Together Analysts and Developers
A familiar story: the marketing department calculates customer acquisition cost using one formula in Excel, the BI tool gives different numbers, and in the dbt project the analyst has a third logic baked in. When the business asks why the data "doesn't match up," a long process begins to find the exact place where the formula went wrong.
This problem is called semantic fragmentation. Each tool in the data stack—whether Tableau, Superset, or an AI agent—lives in its own bubble and interprets metadata in its own way. The folks at Apache Software Foundation decided it's time to put an end to this and presented the Ossie project (formerly known as Open Semantic Interchange).
Why Do We Need Another Standard
In short: so you can describe what "revenue" or "active user" means once and use that definition everywhere. Right now, if you switch from one BI tool to another, you have to rewrite all the business logic from scratch. Ossie offers a vendor-neutral format that should become a kind of "Esperanto" for the analytics world.
The project is currently in the Apache incubator. This means it's still taking shape, but it already has a serious community behind it. The idea is to create a single source of truth that both SQL engines and fancy LLM bots can understand.
What's Inside the Repository
There's no complex binary software to compile for hours. Essentially, it's a set of specifications and helper tools for working with them.
Specification Core
Folder core-spec contains a description of what the semantic layer should look like. These are regular JSON and YAML files. A machine-readable schema allows you to automatically verify that you haven't messed up your metric definitions.
Converters
This is probably the most useful part for practitioners. Folder converters contains tools for translating from Ossie format to other popular systems. Right now there are implementations for dbt, GoodData, Polaris, and even Salesforce. This allows you to not just store the specification "in a drawer," but actually push it into your working tools.
Examples and Validation
For those who don't want to read dry documentation, there's folder examples. It contains a complete TPC-DS model—the standard benchmark for analytical systems. You can just look at how complex relationships and aggregations are described using real data.
How It Works in Practice
Imagine describing your data model in a YAML file. You specify the tables, relationships between them, and most importantly, the calculated metrics.
{
"name": "total_sales",
"description": "Сумма всех успешных транзакций без учета возвратов",
"expression": "sum(order_amount)",
"filters": ["status = 'completed'"]
}
After that, you run this file through a converter. The output is a configuration for your BI tool. If the business decides to switch tools tomorrow, you won't have to remember which filters were in the old reports. You just run a different converter.
This is especially relevant for AI agents. For a neural network to adequately answer questions about a database, it needs context. Ossie provides this context in a structured format, eliminating hallucinations about "how do I calculate average order value."
Should You Adopt It Now
The project is in the incubation stage, and it shows. There aren't thousands of GitHub stars yet (about 700 at the time of writing), and the documentation sometimes forces you to dig into the source code. However, Apache is behind the project, and contributors from major analytics companies are appearing in the list.
Who should definitely take a closer look at Ossie:
- Teams that are tired of dbt metrics not matching what the manager sees in the BI tool.
- Developers of analytics platforms who want to add model import/export support.
- Those building complex systems using LLMs who want to give the neural network a clear data structure.
If you work at a small startup with one database and a couple of charts, Ossie might seem excessive. But as soon as you have more than two tools, the problem of "same names with different meanings" rears its head in full force.
You can try the project in the official repository. There's also a link to the Slack community where developers respond quite promptly to questions about the specification. The more vendors pick up this standard, the less headache we'll have with migrations and analytics setup.
Gerelateerde projecten