一個 32,041 顆星的 GitHub 專案,README 頂端掛著藍色的「license MIT」徽章。我把同一個問題問了四個系統,拿到四個不一樣的答案。
一句話結論:openclaude 是一個由 Anthropic Claude Code CLI 衍生而來的多模型 CLI 工具,截至 2026 年 9 月 3 日有 32,041 顆星,但它的 MIT 徽章是手打上去的靜態圖片,LICENSE 原文寫的是「本專案未獲 Anthropic 授權散布其專有原始碼」。
本文所有數字都是我在 2026 年 9 月 3 日 04:0x UTC 直接打 GitHub API、npm registry 和 shields.io 拿回來的,不是抄自任何二手榜單。下面每一段都附得出來源,你可以自己重跑一次。
openclaude 是什麼?
openclaude(GitHub 上的 Gitlawb/openclaude)是一個用 TypeScript 寫的終端機 AI 編碼代理工具。它的定位是「一套 CLI 介面,後面可以接任何模型供應商」——OpenAI 相容 API、Gemini、GitHub Models、Ollama 本機模型都能接,同時保留 prompt、工具呼叫、MCP、slash command、串流輸出這些工作流。
基本資料(GitHub API,2026-09-03 04:04 UTC 讀取):
| 星數 | 32,041 |
| Fork 數 | 9,003 |
| Watcher | 224 |
| 未結 issue | 74 |
| 建立日期 | 2026-04-01 |
| 最後 push | 2026-09-02 |
| 主要語言 | TypeScript |
| npm 套件 | @gitlawb/openclaude,已發 46 個版本,最新 0.30.0 |
以活躍度來說這是個真專案:五個月內發了 46 個 npm 版本,昨天還在 push。所以下面要談的不是「這個專案是不是幽靈倉庫」,而是另一件事。
為什麼四個系統會給出四個不同答案?
「這個 repo 是什麼授權」聽起來是個有標準答案的問題。我在同一分鐘之內、對同一個 repo,問了四個地方:
| 我問誰 | 它回答 | 這個答案怎麼來的 |
|---|---|---|
| README 頂端的徽章 | license: MIT | 靜態圖片,文字由 repo 作者手動填進網址 |
| 同一個徽章服務(改成動態版) | license: not identifiable by github | shields.io 反過來去問 GitHub |
| GitHub 官方 API | NOASSERTION(key: other、url: null) | GitHub 掃描 LICENSE 檔,比對不到任何標準授權 |
| npm registry | SEE LICENSE FILE | 套件 package.json 自己宣告的欄位 |
第一列和第二列值得停下來看一眼,因為它們是同一個服務。shields.io 有兩種徽章網址:一種是 /badge/,你在網址裡打什麼字,它就畫什麼字;另一種是 /github/license/,它會自己去問 GitHub。
同一個徽章服務、同一個 repo、同一個時間點。差別只在於:一個是「被告知」,一個是「去查證」。前者說 MIT,後者說無法辨識。
這不是 openclaude 獨有的技巧,網路上大量專案都用靜態徽章。問題在於,靜態徽章長得跟動態徽章一模一樣——同樣的圓角、同樣的配色、同樣的字體。你沒有辦法從外觀分辨哪一顆是查出來的、哪一顆是打出來的。
LICENSE 檔案原文到底寫了什麼?
那就直接打開來看。這個檔案 1,228 bytes,我把關鍵段落原文照抄如下(英文原文,未改動):
NOTICE
This repository contains code derived from Anthropic’s Claude Code CLI.
The original Claude Code source is proprietary software:
Copyright (c) Anthropic PBC. All rights reserved.
Subject to Anthropic’s Commercial Terms of Service.Modifications and additions by OpenClaude contributors are offered under the MIT License where legally permissible…
The underlying derived code remains subject to Anthropic’s copyright. This project does not have Anthropic’s authorization to distribute their proprietary source. Users and contributors should evaluate their own legal position.
Gitlawb/openclaude,LICENSE 檔案,2026-09-03 讀取
翻成中文,這份檔案講了三件事:底層程式碼衍生自 Anthropic 的專有軟體;MIT 只套用在貢獻者自己改的那部分,而且加了「在法律允許的範圍內」這個前提;本專案沒有 Anthropic 的授權去散布那份專有原始碼。
所以那顆 MIT 徽章並不算完全捏造——MIT 這個字確實出現在 LICENSE 裡。但徽章只顯示了「MIT」兩個字母,沒有顯示「where legally permissible」,也沒有顯示「modifications only」,更沒有顯示最後那句「本專案未獲授權」。
那段「我們沒有授權」的公告,去了哪裡?
我去翻 LICENSE 檔案的 commit 紀錄,發現它一共只被改過兩次。順著這條線往下查,跑出一段時間軸:
| 時間(UTC) | 發生什麼 |
|---|---|
| 2026-04-01 03:15 | Repo 建立 |
| 2026-04-03 13:28 | 加入 LICENSE:一份完整、標準、未經修改的 MIT 授權,署名「Copyright (c) 2026 OpenClaude contributors」 |
| 2026-04-04 06:22 | 同一個 commit 一次做三件事:LICENSE 換成現在這份 NOTICE;README 第 11 行新增一段標題為 ## Provenance & Legal Notice 的公告;另外還動了 16 個檔案。commit 訊息是「hardening: isolate third-party paths and clean external-build metadata」 |
| 2026-04-04 13:24 | 另一個 commit 把 README 頂端那段公告整段刪除。commit 訊息是「docs: organize Python helpers and refresh README」 |
那段被刪掉的公告,內容是這樣的(原文,來自 commit diff):
OpenClaude is derived from Anthropic’s Claude Code CLI source code, which was inadvertently exposed in March 2026 through a packaging error in npm.
It is not an authorized fork or open-source release by Anthropic.
Contributors should be aware that the legal status of distributing code derived from Anthropic’s proprietary source is unresolved.
已從 README 移除的段落,存活於 2026-04-04 06:22 至 13:24 之間
我把這個 repo 全部 97 次 README 修改逐一抓下來比對,這段文字只存在於其中 2 次 commit。它在首頁的存活時間是 7 小時 2 分 3 秒。
這裡我必須把話講清楚,避免讀者接收到我沒有證據的東西:
- 「npm 打包失誤導致原始碼外洩」這句話,是這個 repo 自己寫的,而且自己刪了。我沒有獨立查證過這件事是否發生、經過如何。我能證明的只有「這段文字曾經出現在這個 repo 的 README、7 小時後被移除」,僅此而已。
- 我不知道為什麼被刪。刪除它的那個 commit 同時重寫了大段 README,看起來是一次版面整理。是刻意淡化還是順手改版,我沒有證據,不做推測。
- 公告沒有消失,只是搬家了。目前 README 底部仍有免責聲明,LICENSE 檔案的內容也還在。這個專案並沒有把來歷藏起來。
不過位置有差。我量了一下:README 全文 27,223 個字元,頂端那顆 MIT 徽章在 8.9% 的位置,現在的免責聲明在 98.4%。而且用字也軟化了——現在寫的是「originated from the Claude Code codebase and has since been substantially modified」(源自 Claude Code 程式碼庫,此後經過大幅修改),「unresolved」(法律狀態未定)這個詞不見了。
NOASSERTION 是不是就代表有問題?
不是,這點要講公道。NOASSERTION 只代表 GitHub 的授權辨識工具比對不到標準範本,絕大多數情況完全無害。
我拿同一天 GitHub 日榜上另一個同樣是 NOASSERTION 的專案做對照組:Imbad0202/academic-research-skills(45,643 星)。打開它的 LICENSE,第一行是「Copyright (c) 2026 Cheng-I Wu」——就是一份沒有照標準格式排版的普通授權,完全沒有戲劇性。
該注意的訊號不是 NOASSERTION 這個字,而是「徽章說的」和「檔案寫的」之間的落差。同樣是 NOASSERTION,一個打開來是普通授權,一個打開來寫著「本專案未獲授權」。
怎麼在 60 秒內查清楚任何一個 repo?
下面這個小工具是我為這篇文章寫的,可以直接用。輸入任何一個 GitHub repo(格式 擁有者/專案名),它會即時去問 GitHub 官方 API,把徽章宣稱、API 判定、LICENSE 檔案開頭三者並排給你看,並標出有沒有落差。資料直接來自 GitHub 公開 API,不經過我的伺服器。
如果你不想用工具,手動版本是三步:把網址列的 github.com 換成 api.github.com/repos 看 license 欄位;點進 LICENSE 檔案讀完;最後看 commit 紀錄確認它有沒有被改過。三步都不用登入。
那我到底能不能用 openclaude?
我不是律師,這篇文章不是法律意見,我不會替你下這個判斷。但我可以把「該由誰判斷」講清楚——而且這句話不是我發明的,是 openclaude 自己 LICENSE 的最後一句:「Users and contributors should evaluate their own legal position.」(使用者與貢獻者應自行評估自身的法律處境。)
一個專案在自己的授權檔案裡叫你去評估自己的法律處境,這件事本身就是最重要的訊號。可以確定的事實只有這些:
- 這個 repo 的 LICENSE 自述其程式碼衍生自 Anthropic 的專有軟體。
- 它自述未獲 Anthropic 授權散布該專有原始碼。
- 它自述與 Anthropic 無任何從屬、背書或贊助關係。
- MIT 只涵蓋貢獻者自己修改的部分,且附帶「在法律允許的範圍內」這個前提。
風險程度跟你怎麼用有直接關係。個人在自己機器上跑,跟把它包進公司產品出貨給客戶,是完全不同量級的兩件事。如果是後者,這種事情通常要走法務,不是看部落格文章決定——包括這一篇。
如果不用它,有什麼替代方案?
「想用一套 CLI 接多家模型」這個需求本身很合理,而且有授權清楚的選項。以下皆為公開的開源專案,選之前一樣建議自己跑一次上面的對照器:
| 工具 | 定位 | 適合誰 |
|---|---|---|
| Aider | 老牌終端機 AI 編碼工具,支援多家模型、Git 整合成熟 | 想要穩定、社群大的人 |
| Cline | VS Code 擴充,可自選模型供應商 | 習慣在編輯器裡工作的人 |
| OpenAI Codex CLI | OpenAI 官方終端機代理 | 主力用 OpenAI 模型的人 |
| Claude Code | Anthropic 官方,授權關係最單純 | 接受官方訂閱、不想碰授權灰區的人 |
順帶一提,如果你關心的是「開源模型與工具的授權條款正在變緊」這個更大的趨勢,可以看我今天早上寫的另一篇:Google 的 TimesFM 從 2.5 到 3.0,權重授權從 Apache-2.0 換成了連商業決策都不算免費的非商用條款。這兩件事的方向相反,但要做的功課是同一件。
常見問題
openclaude 是 Anthropic 官方的專案嗎?
不是。它的 README 免責聲明明確寫著「is not affiliated with, endorsed by, or sponsored by Anthropic」(與 Anthropic 無從屬、背書或贊助關係)。它也不是 GitHub 意義上的 fork——API 的 fork 欄位是 false,它是一個獨立建立的 repo。
那顆 MIT 徽章算造假嗎?
「MIT」確實出現在 LICENSE 檔案裡,所以不能說是憑空捏造。但徽章省略了三個關鍵限制:只涵蓋貢獻者的修改、附帶「在法律允許的範圍內」前提、底層程式碼仍屬 Anthropic 且未獲授權。一顆徽章能顯示的字數,本來就裝不下一份 1,228 bytes 的授權檔案。
怎麼分辨徽章是查出來的還是打上去的?
看圖片網址。img.shields.io/badge/… 是靜態的,文字由作者自己填;img.shields.io/github/license/擁有者/專案名 才是即時去問 GitHub。在 GitHub 頁面上對徽章按右鍵複製圖片網址就看得到。
NOASSERTION 是不是一定要避開?
不用。它只表示 GitHub 比對不到標準授權範本,很多正常專案只是排版格式不同就會這樣。真正要看的是打開檔案之後寫什麼——本文對照組 academic-research-skills 同樣是 NOASSERTION,內容卻只是一行普通的版權聲明。
這篇文章的數字可以自己重跑嗎?
可以,而且建議你跑。星數這類數字每天在變,本文所有數值都標明為 2026-09-03 04:0x UTC 的快照。commit 時間與 LICENSE 原文是歷史紀錄,不會變動,可以用 GitHub API 的 /commits?path=LICENSE 端點自行核對。
寫在最後
這件事真正的教訓,跟 openclaude 這個專案本身關係不大。
我們每天都在依賴那些「看起來已經有人查證過」的小圖示:徽章、星數、勾勾、綠色的 CI 通過標記。它們看起來像儀器讀數,但其中有一部分只是別人打上去的字。分辨的方法不是不相信它們,而是知道哪一顆是查出來的、哪一顆是填出來的——而這件事,通常只需要多點一下滑鼠。
一份 1,228 bytes 的檔案,讀完大概三十秒。32,041 個人給了這個 repo 一顆星。這兩個數字之間的差距,就是這篇文章想講的全部。
免責聲明:本文為公開資料的整理與比對,所有數據取自 GitHub 公開 API、npm registry 與 shields.io,讀取時間為 2026 年 9 月 3 日。本文不是法律意見,作者非法律專業人士,文中對授權條款的說明僅為原文轉述與中文翻譯,不構成任何法律建議或對特定使用方式合法性的判斷。涉及商業使用、產品散布或授權合規的決定,請諮詢合格法律專業人士。本文引用之「原始碼因 npm 打包失誤外洩」說法,為該 repo 自身曾發布並已自行移除之陳述,作者未獨立查證其真實性。文中提及之所有商標歸各自所有人所有。





發表迴響