Skip to content
currentai-orgPublic

About

Curated data and models behind the Open Source AI Gap Map

Resources

Contributing

Stars

66 stars

Watchers

2 watching

Forks

Repository files navigation

Open Source AI Gap Map

The public data + scoring behind the Open Source AI Gap Map.

35 categories 742 organizations 1099 products Validate License: MIT


The open source AI stack is already strong, but it's fragmented, duplicative, and hard to see as a whole. The Open Source AI Gap Map makes it legible: a living map of what exists across the stack, how open each piece is, how widely it's used, and where the gaps are — so the community can see where to build, where to invest, and where to open things up.

This repo is the data behind that map. Everything is curated YAML in sources/; a deterministic pipeline validates it, serializes it to build/notebook_data.json, and renders the published map.


Contribute

The map is a public, iterative effort, and community curation is the point. There are two ways in:

  1. File an issue (no code needed): suggest a product, report an error, or propose a category.

  2. Open a pull request editing sources/. Adding a product is a handful of small YAML files: a product record, a score with citations, and an entry in one category roster and one organization roster. CONTRIBUTING.md has the full recipe and the scoring rubric.

A few ground rules:

  • Every score cites a primary source. The map excludes anything it can't verify against one.
  • Don't hand-edit generated files. build/notebook_data.json and notebooks/ai-stack-map.py are regenerated by a bot on merge; PRs that touch them are blocked.
  • CI runs on every PR (build.validate + pytest), so you'll know quickly if something is off.

How scoring works

Each product is graded on three independent, multi-source axes:

  • Openness — a 0–5 grade against openness frameworks (the Model Openness Framework for models, OSI license classes for software), not a yes/no. The open-source vs. open-weights distinction is the one the map exists to draw.
  • Adoption — real usage (downloads, active users, deployments), not GitHub stars.
  • Capability — community benchmarks where they exist, feature coverage where they don't.

Adoption and capability blend into a single overall score per product, banded as Leading (score ≥ 4.5) or Strong (4.0 ≤ score < 4.5). Categories then roll up from their products into a Maturity Stage (0 Void → 5 Mature) plus a set of gaps naming what the open ecosystem still lacks. The taxonomy and openness framework descend from the 2024 Columbia Convening on Openness in AI.

The complete method — the stage and gap formulas, per-axis sources, and stated limitations — is in docs/methodology.md, the hand-authored source of truth (also rendered on the site).


What's in sources/

One YAML file per record: four concerns plus the single sources/taxonomy.yaml manifest. This is what you edit.

Path Contains Key rule
sources/organizations/ Org metadata and a products: roster Each product slug appears in exactly one org roster
sources/categories/ Category definition (weights, strapline, …) and an ordered products: roster Order = display order; each product in exactly one category
sources/products/ Product record (name, type, description, typed artifact URLs) Org membership lives in the org file, not here
sources/scores/ Per-product openness, adoption, capability Every non-null score value needs a sources: citation
sources/taxonomy.yaml Arc grouping + display order; the three arcs are the Columbia ontology layers Every category appears in exactly one arc
sources/allowlists/ undigested_sources.txt, the sources grandfathered before the digest discipline Anything not listed must carry a content_sha256; the list only shrinks
sources/snapshots/ long_tail.json, the frozen dedup counts Frozen universe counts; roster counts are derived at build time

Category slugs use underscore form (base_pretrained); product and org slugs use hyphenated kebab-case (llama-3-1, allen-ai). Artifact keys on products (only those that apply): github, npm, pypi, crates, go, huggingface_model, huggingface_dataset. JSON Schemas for every file type live in docs/schemas/.


Run it locally

Requires Python 3.12+ and uv. No API key is needed to edit sources or validate.

uv sync
uv run python -m build.validate    # schema + cross-file checks; must print "0 error(s)"
uv run pytest -q                   # optional; the same suite CI runs

To preview the generated map locally (the output is for preview only — don't commit it):

uv run python -m build.serialize                                          # sources/ → build/notebook_data.json
uv run python -m build.render                                             # → notebooks/ai-stack-map.py
uv run marimo export html notebooks/ai-stack-map.py -o /tmp/preview.html

Warehouse queries (via pyoso) need OSO_API_KEY; with direnv, place it in .env and it loads automatically.


Repository layout

Path Role
sources/ Curated YAML you edit: organizations, categories, products, scores, plus taxonomy.yaml, allowlists/ and snapshots/
build/ Deterministic validate → serialize → render pipeline
notebooks/ Generated ai-stack-map.py + standalone companion notebooks
docs/ JSON Schemas, contributor guides, methodology, and maintainer runbooks
warehouse/ UDM SQL and ingest fetchers for adoption / activity signals
skills/ Agent skills mirroring the contribution recipes
tests/ pytest suite for build helpers

Guides worth knowing: openness scoring, adoption scoring, gap analysis, and query conventions. See AGENTS.md for agent-oriented project context, the full directory map, and maintainer operations. How the data assets fit together — namespaces, gates, and the repository boundary — is in docs/architecture/.


Code and data are MIT licensed.

About

Curated data and models behind the Open Source AI Gap Map

Resources

Contributing

Stars

66 stars

Watchers

2 watching

Forks

Packages

Contributors

Languages