{"adoption": {"forks": 715, "observed_at": "2026-08-28T04:06:34.630214+00:00", "stars": 2287}, "canonical_url": "https://ross.abutalabs.com/products/openjk", "card": {"archived": false, "artifact_type": "application", "description": "Community effort to maintain and improve Jedi Academy (SP & MP) + Jedi Outcast (SP only) released by Raven Software", "domain": ["gaming-tools", "cross-platform"], "enriched": true, "function": ["game-engine", "game"], "health_score": 95, "homepage": null, "language": "C++", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["JACoders/OpenJK"], "name": "JACoders/OpenJK", "platform": ["windows", "cpp", "c"], "pushed_at": "2026-07-11T05:36:51+00:00", "repo": "JACoders/OpenJK", "stars": 2287, "tags": ["jedi-academy", "jedi-outcast", "star-wars", "fps", "tps", "backwards-compatible", "engine-reimplementation", "gplv2", "game-development", "linux", "macos"], "topics": ["jedi-academy", "jedi-outcast", "star-wars", "game-development", "fps", "tps", "openjk", "openjk-mod", "game", "game-engine", "c-plus-plus", "c", "multi-platform", "singleplayer-game", "multiplayer-game", "linux", "macos", "windows"], "urls": [], "use_cases": ["play jedi academy on linux or apple silicon", "fix crashes and bugs in jedi academy multiplayer", "run jedi outcast singleplayer on modern hardware", "base for modding jedi academy engine code", "improve performance of the quake 3 based jedi engine", "play jedi academy multiplayer on mac"], "what_it_is": "OpenJK is a community-maintained, open-source reimplementation of the engine powering Star Wars Jedi Knight: Jedi Academy and Jedi Outcast, focused on bug fixes, performance, and platform support while staying fully backwards compatible with existing games and mods. It requires an original copy of the game and provides drop-in executables for Windows, Linux, and macOS.", "when_to_avoid": ["you want new gameplay features, rebalancing, or content changes", "you need Jedi Outcast multiplayer support (use JK2MV instead)", "you do not own the original game, since OpenJK requires the base game assets"], "when_to_choose": ["you own Jedi Academy or Jedi Outcast and want a more stable, faster engine on modern platforms", "you want to develop engine-level mods with a clean, open codebase", "you need 64-bit or ARM support for the original games"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openjk", "repo": "JACoders/OpenJK", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.630214+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:19:37.181691+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2152b3530d7e26a55fa6dc08d12f114e057f4c4a37d33091523e62d4565d0a2e", "fetched_at": "2026-08-28T04:06:34.630214+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JACoders/OpenJK"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 60}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4899, "days_push": 53, "days_rel": 53, "gap_med": null, "n_releases_24m": 1}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}