Skip to content

Latest commit

 

History

History
194 lines (112 loc) · 8.23 KB

File metadata and controls

194 lines (112 loc) · 8.23 KB

MANIFESTO.md — 為什麼做這個專案

本專案為非官方的個人專案,由 Mitchell Chen 一個人撰寫與維護,與歐付寶電子支付股份有限公司無任何從屬或合作關係。


〇、這是誰做的、為什麼做

這份文件是我一個人做的。

我叫 Mitchell Chen。2016 年 2 月 15 日到歐付寶報到,2025 年 7 月 30 日離開歐付寶、轉入母公司歐買尬,前後九年五個月。

離開一年多之後,我看著 AI 一路進步,而歐付寶的串接文件仍然沒有變得 AI 友善。

我等了很久,沒有等到,所以就用 g0v 那句「如果沒有人,那我就是那個人」的精神,自己動手做了這一份。

沒有團隊、沒有組織,也沒有人交辦。這個 repo 的每一個決定都是我一個人下的,寫錯的地方也算我的。


一、起因:資訊落差不該是入場費

台灣的電子發票是法定義務,不是選配功能。只要你在台灣做生意、收得到錢,遲早要面對它。

但要把電子發票串起來,你得先跨過這些門檻:

  • 三份官方技術文件,加起來七十幾個章節、幾百張表格。
  • 表格跨頁斷裂,Ctrl+F 搜不到欄位名。
  • 加密規格寫在附錄,而附錄在第 200 頁。
  • 錯誤碼表不完整,很多錯誤只能靠猜。
  • 台灣有多家加值中心,名稱相近、文件排版相似,但 API 完全不相容——把甲家的做法套到乙家,可以卡掉一整個下午。

這些都不是「技術難度」,是資訊落差

大公司有專人研究、有窗口可以問、有前輩踩過雷。一人團隊、剛接案的工程師、想自己架站的小店老闆,只能自己撞。同樣一件事,有人半天做完,有人做三天——差別不在能力,在有沒有人告訴你哪裡會痛。

我認為,這種落差不該是做生意的入場費。


二、我相信的事

1. 公開的資訊,應該要能被有效使用

歐付寶的技術文件是公開的。但「公開」和「好用」是兩件事。

一份沒有目錄、沒有索引、表格跨頁斷裂的技術文件,技術上公開,實務上是門檻。把它整理成結構化、可檢索、有出處的 Markdown,不創造新資訊,只是降低取用成本

2. 知識應該可驗證,而不是要求信任

本 repo 不說「相信我,加密就是這樣做」。

我給你 4 組測試向量Python 與 Node.js 兩支驗證器,你自己跑一次,4/4 pass 就是通過。所有規格都標註來源文件與章節,你可以回去對照官方原文。

可驗證比可信任重要。 因為可信任要求你放棄判斷,可驗證讓你保留判斷。

3. 該講清楚的,包括「哪裡會痛」

多數技術文件只寫「怎麼做」,不寫「做錯會怎樣」。

但實務上真正耗時間的,永遠是後者:加密順序錯了不會噴錯、逾時重送會開出兩張發票、字軌用完是在週日下午發現、B2B 只做一半會讓對方永遠停在等待確認。

所以本 repo 大量篇幅在寫「不要做什麼」。這不是囉唆,這是把別人踩過的雷標在地圖上。

4. AI 應該查規格,而不是憑印象

大型語言模型對台灣本地 API 的記憶是破碎的。它可能自信地告訴你要算 CheckMacValue——那是另一家公司的做法。

AI Skill 的意義就在這裡:把正確的規格放在 AI 手邊,讓它查而不是猜。

這不是為了讓 AI 更聰明,是為了讓你不用去驗證 AI 說的每一句話

5. 無障礙不是加分項

本 repo 的每一張圖都遵循 docs/accessibility.md:WCAG AAA 對比、色盲安全色盤、每張圖附純文字重述、圖示與文字雙編碼。

理由很簡單:如果一份文件只有部分人讀得到,它就沒有完成它的工作。

而且純文字重述順便讓 AI 爬蟲、純文字終端、Mermaid 渲染失敗的讀者也讀得到。無障礙從來不只服務身障者。


三、與 g0v 零時政府精神一致

本專案認同 g0v 零時政府的核心主張,並以此自我要求:

g0v 精神 本專案的實踐
開源協作 全部內容 MIT 授權,歡迎 fork、修改、商用
資訊透明 誠實揭露 AI 協助整理的產出過程與其限制
公民參與 任何人都能開 issue 指出錯誤,不需要是工程師
不等待授權 不等官方出 SDK,先做出來再說
降低參與門檻 全繁體中文、白話解釋、每個術語都寫「什麼時候會遇到」
做自己的需求 這份文件的第一個使用者是我自己

g0v 有一句話:「不要問為什麼沒有人做這個,先承認你就是那個『沒有人』。

這個 repo 就是這句話的產物。

我也承接 g0v 的另一個習慣:做的東西要能被別人接手。 所以有 SSOT 檔案、有 CI 驗證腳本、有貢獻指南、有 roadmap。一個人做的東西最大的風險就是這個人不做了;如果哪天我停下來,這個 repo 應該還能被下一個人撿起來繼續做。


四、公共財定位

這是一個人做的作品,但我把它定位為數位公共財(digital public good)。

具體意思是:

我承諾

  • 永遠開源,MIT 授權,不設商用限制。
  • 不放廣告、不做導流、不收費、不設 pro 版
  • 不推薦特定廠商——本 repo 只講歐付寶,是因為它是本 repo 的主題,不是因為我認為它比較好。
  • 不收集使用者資料,沒有 telemetry、沒有追蹤。
  • 誠實標示不確定性——官方沒寫清楚的地方,我就說「官方沒寫清楚」,不編造。

我不承諾

  • 不保證內容完整正確。這是我一個人整理的資料,會有錯。
  • 不提供技術支援或 SLA。開 issue 我會看,但不保證回覆時間。
  • 不承擔使用後果。你用這份文件開錯發票,責任在你。
  • 不代表官方立場,也不宣稱任何法規符合性。

為什麼要講這麼清楚

因為模糊的期待會傷害雙方

如果你以為這是官方文件,出事時會怪我;如果我暗示自己有官方背書,是在騙你。講清楚了,你才能做出正確的判斷:這份文件適合拿來理解與定位問題,不適合拿來當合約附件。


五、對使用者的期待

我不要求任何回報,但如果你願意:

  1. 發現錯誤請告訴我。 這是最有價值的貢獻。你踩到的雷,下一個人就不用踩。
  2. 分享你的踩坑經驗。 特別是官方文件沒寫、只有實際串過才知道的事。
  3. 拿去改成你自己的版本。 MIT 授權,不用問,不用註明(雖然註明我會很開心)。
  4. 不要拿去騙人。 不要說這是官方的,不要說用了就合規。

六、最後

台灣一直有一種傳統:遇到麻煩的事,會有人默默把它整理好放出來。

從各種中文技術文件、輸入法、地圖資料、開放資料工具到疫情時期的口罩地圖——不是因為有人付錢,是因為有人覺得「這件事不該這麼難」。

那些東西的起點,通常也就是一個人。

這個 repo 想加入那個傳統。

如果它幫你省下了一個下午,那就值得了。


撰寫與維護:Mitchell Chen 一人 · https://www.mitch.tw 授權:MIT 定位:個人作品,以 MIT 授權公開釋出給所有人使用,非任何公司之產品或服務