{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiatnk46k26hsfuwg5mutg7h2sfhv3wwt2mq7p244lkn3ss34xguca",
    "uri": "at://did:plc:3peywwdnn4jkfvqowpviodbf/app.bsky.feed.post/3mn24jk67mwx2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreict33rmxrfjpo465vjukuu3u6z5pqmsmay72h3w7zql63oesvuipi"
    },
    "mimeType": "image/png",
    "size": 303111
  },
  "path": "/blog/2026/05/28/what-is-a-software-ontology/",
  "publishedAt": "2026-05-28T00:00:00.000Z",
  "site": "https://jeffbailey.us",
  "tags": [
    "Explanation",
    "Software Architecture",
    "Domain-Driven Design"
  ],
  "textContent": "Open a mature codebase and grep for `Customer`. In billing, it means an active, paid account; in support, anyone who has sent an email; in analytics, a deduplicated household. The bug isn’t in one module, but in three teams misunderstanding they’re referring to the same thing.\n\nA software ontology is a clearly defined, shared model of a domain that includes concepts, meanings, and relationships, documented and integrated with code. This article explains its role in Domain-Driven Design (DDD), why it exists, and how it functions as a mental model.",
  "title": "What Is a Software Ontology?"
}