From 87111360ceb34b408dbc6fe3c4e057ee114b340a Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Tue, 29 Sep 2026 01:07:43 +0800 Subject: [PATCH] Add post: How I Vet an Open-Source Dependency Before Betting On It (EN + ZH) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New `devops` post on vetting an upstream dependency before building on it: the six checks that corrected six assumptions from a 1,306-line architecture spec — repo vital signs via the GitHub API, grepping for the feature instead of reading for it (OIDC/SSO/SAML → 0 hits), reading a feature doc's target branch (white-label lives on `multi-tenant`, not `main`), reading the data model rather than the feature list (percent/fixed vs five assumed rule types), the Community-vs-Enterprise tier gate (API tokens free, SSO paid), and whether the money rail works in-country (selfhost + manual payouts, not Stripe Connect). Closes with the fallback question and the authentik proxy-provider answer. - EN: src/content/posts/vetting-an-open-source-dependency-before-you-bet-on-it.md - ZH: src/content/posts/zh/.md (same filename → auto language switch) - Custom OG (1200x630) + banner (1600x900) art via TERMINALS/BANNERS entries - pubDate 2026-09-29; build verified 93 pages, 17/17 content checks, listing order monotonic on /posts/, / and /zh/ Note: the generator maps also carry two entries belonging to parallel in-flight posts (adding-english-mode…, and the sessions' other slugs); their post files were left uncommitted. --- ...source-dependency-before-you-bet-on-it.png | Bin 0 -> 98134 bytes ...source-dependency-before-you-bet-on-it.png | Bin 0 -> 51311 bytes scripts/banner-gen/generate.mjs | 62 ++++++ scripts/og-gen/generate.mjs | 18 ++ ...-source-dependency-before-you-bet-on-it.md | 177 ++++++++++++++++++ ...-source-dependency-before-you-bet-on-it.md | 113 +++++++++++ 6 files changed, 370 insertions(+) create mode 100644 public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.png create mode 100644 public/og/vetting-an-open-source-dependency-before-you-bet-on-it.png create mode 100644 src/content/posts/vetting-an-open-source-dependency-before-you-bet-on-it.md create mode 100644 src/content/posts/zh/vetting-an-open-source-dependency-before-you-bet-on-it.md diff --git a/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.png b/public/banners/vetting-an-open-source-dependency-before-you-bet-on-it.png new file mode 100644 index 0000000000000000000000000000000000000000..78815431e3a4173728813a45a3e68323a1804c20 GIT binary patch literal 98134 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

pI2uS6Ly!$P>tz<4!L2Ym4St6CcUlKT<)p2Bu z+BH>`d}uZepkvWsz7dPD65ul49B;`FOtqlu`1{lDM0(vjJv-}Djw;M@%s9t#Yz8xG zRR<9k;e?&>hAR8BMYywxtB!hjH%0A4XSjIm;6|gdaOR*2Ys$qC&rkHQw!+NrQ2GV@ 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 ISP%Yx0G}WbeE the UI is 100% Chinese · browsers then never offer translate

$nginx sub_filter + gate-en.js · 871 zh→en labels→ 88% English ✓
`; +TERMINALS['vetting-an-open-source-dependency-before-you-bet-on-it'] = ` +
$grep -in 'oidc\|sso\|saml' README.md ARCHITECTURE.md docs/*.md→ 0 hits
+
 the spec assumed OIDC · partner login was never implementable
+
$head -5 docs/white-label-custom-domains.md→ Target branch: multi-tenant
+
$selfhost mode · manual payouts · pin the commit→ 6 assumptions corrected ✓
`; + +TERMINALS['authentik-forward-auth-gate-wasnt-live'] = ` +
$curl -sk -H 'Host: app.example.com' https://localhost/→ 302 gated ✓
+
$curl -sI https://app.example.com/→ 200 x-powered-by: Express
+
 the tunnel rule answered · nginx was never in the path
+
$verify from outside · read which layer replied→ gate real ✓
`; + +TERMINALS['nocodb-sso-is-a-licensed-feature'] = ` +
$NC_SSO=oidc · app boot→ env keys enforced
+
$curl -s localhost:10399/auth/oidc→ uncaught TypeError
+
 unhandledRejection · container exits(1)
+
$CE mode · meta=MySQL · fork 0.255.2 (2024)→ gate at the edge ✓
`; + // ---------- read frontmatter ---------- const postPath = join(ROOT, 'src', 'content', 'posts', `${slug}.md`); if (!existsSync(postPath)) { diff --git a/src/content/posts/vetting-an-open-source-dependency-before-you-bet-on-it.md b/src/content/posts/vetting-an-open-source-dependency-before-you-bet-on-it.md new file mode 100644 index 0000000..c61cdfc --- /dev/null +++ b/src/content/posts/vetting-an-open-source-dependency-before-you-bet-on-it.md @@ -0,0 +1,177 @@ +--- +title: "How I Vet an Open-Source Dependency Before Betting On It" +description: "Six checks that catch a repo which doesn't do what its docs claim — grep for the feature, read the doc's target branch, check the tier gate and the payment rail." +pubDate: 2026-09-29 +category: devops +tags: ["open-source", "due-diligence", "oidc", "self-hosting", "docker"] +ogImage: "/og/vetting-an-open-source-dependency-before-you-bet-on-it.png" +banner: "/banners/vetting-an-open-source-dependency-before-you-bet-on-it.png" +draft: false +--- + +I was handed a 1,300-line architecture spec for a partner program. It read like a +plan: consistent, cross-referenced, confident. It named a self-hosted +open-source engine as the attribution and commission layer, and it assumed three +things about that engine — that it spoke OIDC so my existing identity provider +could log partners in, that its commission rules covered the five shapes the +business needed, and that its white-label feature was shipped. + +Ten minutes of `curl` and `grep` later, two of those were false and the third was +half-true. None of that is unusual. The README describes the *product*; the +repository describes the *software*. The gap between those two is exactly where +integration projects die — and it is cheap to measure before you write any code. + +## The problem, phrased as the question I'd actually search for + +**How do I know an open-source project does what its documentation claims before +I build on it?** + +A spec is a claim *about other software*. The more polished the spec, the more its +assumptions read like facts — this one cited sources, defined stable IDs, and had +a source-of-truth matrix. What it never did was check whether the engine down the +chain implemented the features being assigned to it. So before installing +anything, I went looking for those specific features. + +## What I tried first, and why it wasn't enough + +**1. Read the README end to end.** It sells the pipeline well: +`click → identity → event → attribution → commission → payout`. It never once +says which authentication protocol the app speaks. For a feature you *need*, +silence isn't neutral — but an absent mention is easy to skim past when the rest +of the page is convincing. + +**2. Searched the web.** Several of my queries returned nothing usable. The +project is a few months old and its SEO surface is thin. For software that's +fine — the source *is* the documentation. It just means the reading has to happen +in the repo, not in a blog post. + +**3. Found a 78 KB feature design doc and assumed the feature shipped.** It was +labelled "FINAL, post-review", listed three reviewers, and carried a date. I took +that as proof. That was the worst inference of the three, and the easiest to check. + +## The six checks that actually settled it + +### 1. Read the repo's vital signs before any feature claim + +```bash +curl -s -H "User-Agent: hermes" https://api.github.com/repos// \ + | grep -E '"created_at"|"pushed_at"|"stargazers_count"|"forks_count"|"open_issues_count"|"archived"|"spdx_id"' +``` + +What came back: MIT, created 2026-04-23, last push 2026-09-10, 8 stars, 3 forks, +15 open issues, not archived. Read the same as: **real, still moving, and very +small** — one vendor, which also sells a hosted tier. Now I know how much of my +business I want resting on it *before* I start grading its features. + +### 2. Grep for the feature instead of reading for it + +```bash +grep -in 'oidc\|sso\|saml' README.md ARCHITECTURE.md docs/*.md | wc -l +``` + +Zero hits. The app authenticates with its own magic-link sessions and +per-persona API keys; it does not speak OIDC at all. That one line of output +killed a phase of the plan — "put the portal behind our SSO provider" — which +would otherwise have surfaced weeks later, mid-integration, with a partner +already invited. Reading for a feature you can't find is how you lose an +afternoon; grepping makes the absence loud. + +### 3. Read the target branch line at the top of a feature doc + +```bash +head -5 docs/white-label-custom-domains.md +``` + +`Target branch: multi-tenant`. The doc is a design for a branch that is not the +default branch — it describes work in flight, so the feature is not in the code +you would install. A finished-looking document with reviewers and dates can +document something unshipped. That isn't dishonesty; it's what design docs are. + +### 4. Read the data model, not the feature list + +The commission section named exactly two rule types — `percent` (with a recurring +flag) and `fixed`. The business spec had enumerated five. That gap isn't a bug; +it's a modelling job I'd have to do in configuration instead of expecting from +the product: + +| Spec assumed | What the engine actually has | +|---|---| +| first-order bonus | a `fixed` rule on the first event | +| event-specific rules (`lead` vs `invoice_paid`) | one rule per campaign — so: two campaigns | +| recurring commission | `percent` + `recurring: true` | +| percentage | `percent` ✅ | +| fixed | `fixed` ✅ | + +Two rule primitives, five behaviours — workable, but only if you design for it up +front instead of discovering it during implementation. + +### 5. Check which paid tier gates the feature you need + +For the database tool in the same stack, the edition table was blunt: + +| Feature I needed | Community (free) | Enterprise (paid) | +|---|---|---| +| API tokens, so I can automate it | ✅ | ✅ | +| SSO / OIDC | ❌ | ✅ | +| Page designer, hide branding, 2FA | ❌ | ✅ | + +The thing I wanted for the partner-facing door (SSO) sits behind the commercial +gate, while the thing I wanted for automation (an API token) is free. Knowing +which side of the wall each requirement falls on changes the design — before +you've designed around it. + +### 6. Check that the money rail works in your country + +The payout model was `stripe_connect | manual`, and self-hosted mode was +documented as "operator manages out-of-band" — i.e. you move the money yourself. +Stripe Connect is not how Malaysian businesses pay partners, so that one line +decided the entire deployment shape: self-host mode, manual payouts, and event +ingestion pushed from my own order system rather than leaning on the provider's +payment integration. That line is never on a marketing page, and it mattered more +than any feature. + +### Then: ask the fallback question before you need it + +"What if the feature I need isn't there?" For the missing SSO the answer was: +don't put login in the app, put it in front of the app. authentik's proxy +provider exists to protect "applications that do not support native +authentication protocols such as OIDC, SAML, or LDAP", and it injects +`X-authentik-username` and `X-authentik-groups` headers upstream, so the reverse +proxy can do the gating. That turned "no SSO support" from a disqualification +into an afternoon of config. + +## What I'd do differently + +- **Write the requirement list first, then go look for it.** Five lines — the + features *I* need — and search for those. Starting from the README's feature + list means grading the software on the vendor's exam. +- **Treat "a doc exists" as different from "a feature ships".** Read the branch + line. +- **Grep, don't read.** Presence is cheap to prove; absence is the thing you're + hunting. +- **Decide the fallback before the decision**, so a missing feature becomes a + design change rather than a surprise. +- **Pin the commit.** This project's README says its API is "stable but + unversioned" and there is no OpenAPI description anywhere in the tree. There's + no contract to compile against, so the commit hash *is* the contract — the + endpoints I use go into my own docs, and upgrades get a regression pass. + +## The result + +Six assumptions corrected in about ten minutes of `curl` and `grep`, before a +single line of integration code existed. The project stayed viable — but +reshaped: no OIDC, manual payouts, a pinned commit, and a plan that no longer +depends on a feature sitting on an unmerged branch. + +The spec wasn't wrong to be optimistic. It was wrong to be unverified, and that's +the cheapest thing on the whole project to fix. + +--- + +**Building on a self-hosted stack, and want a second pair of eyes on whether +those features will actually be there when you integrate?** That's the kind of +review I do. + +[WhatsApp +60 12-797 2969](https://wa.me/60127972969) · +[me@hoelee.com](mailto:me@hoelee.com?subject=Open-source%20dependency%20review) · +[hoelee.com](https://hoelee.com) diff --git a/src/content/posts/zh/vetting-an-open-source-dependency-before-you-bet-on-it.md b/src/content/posts/zh/vetting-an-open-source-dependency-before-you-bet-on-it.md new file mode 100644 index 0000000..fdc3cfa --- /dev/null +++ b/src/content/posts/zh/vetting-an-open-source-dependency-before-you-bet-on-it.md @@ -0,0 +1,113 @@ +--- +title: "如何在押注前验证一个开源依赖:我用的六项检查" +description: "六项检查,专门抓出「文档说得漂亮、代码里其实没有」的仓库:用 grep 找功能、读文档头部标注的目标分支、看清付费档位门槛,以及收款通道在不在你的国家能用。" +pubDate: 2026-09-29 +category: devops +tags: ["open-source", "due-diligence", "oidc", "self-hosting", "docker"] +ogImage: "/og/vetting-an-open-source-dependency-before-you-bet-on-it.png" +banner: "/banners/vetting-an-open-source-dependency-before-you-bet-on-it.png" +draft: false +--- + +有人给我一份 1306 行的伙伴系统架构规格书。读起来像一份计划:前后一致、交叉引用、语气笃定。它指定一个自托管的开源引擎作为归因与佣金层,并且假定了那个引擎的三件事——它支持 OIDC,所以我现有的身份提供方能登录伙伴;它的佣金规则覆盖业务需要的五种形态;它的白标功能已经上线。 + +十分钟的 `curl` 加 `grep` 之后,三件里有两件是假的,第三件只对了一半。 + +这没什么稀奇。README 描述的是**产品**,仓库描述的是**软件**。这两者之间的落差,正是集成项目死掉的地方——而且在写任何代码之前,测量这个落差很便宜。 + +## 问题,写成我真的会去搜的那句话 + +**我怎么知道一个开源项目真的做了它文档宣称的事,然后才在它上面开始建东西?** + +规格书是**关于别的软件**的一种主张。规格书越漂亮,它的假设就越像事实——这一份引用了来源、定义了稳定 ID、还画了一张「真源矩阵」。它唯一没做的事,就是核对链条下游那个引擎到底有没有实现被指派给它的功能。所以在安装任何东西之前,我去找那几个具体功能。 + +## 我一开始试的,以及为什么不够 + +**一、把 README 从头读到尾。** 它把流水线卖得很好:`click → identity → event → attribution → commission → payout`。但它一次都没说这个应用讲哪种认证协议。对一个你**必须要有**的功能来说,沉默不是中立——只是当页面其他部分都很有说服力时,一个「没被提到」很容易被眼睛滑过去。 + +**二、上网搜。** 好几条查询都没返回能用的结果。这个项目才几个月大,SEO 面很薄。对软件来说这没关系——源码**就是**文档。只是意味着阅读必须在仓库里进行,而不是在博客文章里。 + +**三、看到一份 78 KB 的功能设计文档,就假定功能已上线。** 它标着「FINAL, post-review」,列了三位评审,还带着日期。我把它当成了证据。这是三个推断里最糟的一个,也是最容易核对的一个。 + +## 真正定案的六项检查 + +### 1. 先看仓库的生命体征,再看任何功能宣称 + +```bash +curl -s -H "User-Agent: hermes" https://api.github.com/repos// \ + | grep -E '"created_at"|"pushed_at"|"stargazers_count"|"forks_count"|"open_issues_count"|"archived"|"spdx_id"' +``` + +返回的是:MIT、创建于 2026-04-23、最后推送 2026-09-10、8 个 star、3 个 fork、15 个 open issue、未归档。翻译过来就是:**真实、还在动、但非常小**——单一厂商,而且它同时卖托管档。现在我在开始评它的功能之前,先知道了我愿意把多少生意压在它身上。 + +### 2. 用 grep 去找功能,而不是用读的 + +```bash +grep -in 'oidc\|sso\|saml' README.md ARCHITECTURE.md docs/*.md | wc -l +``` + +零命中。这个应用用的是它自己的 magic-link 会话和按身份签发的 API key;它根本不讲 OIDC。就这一行输出,砍掉了计划里的一个阶段——「把门户挂到我们 SSO 后面」——否则这一步会在几周后才浮现,而且是在集成到一半、伙伴已经被邀请进来的时候。**用读的方式去找一个找不到的功能,就是你失去一个下午的方式;grep 让「不存在」这件事变得响亮。** + +### 3. 读功能文档最上方那行「目标分支」 + +```bash +head -5 docs/white-label-custom-domains.md +``` + +`Target branch: multi-tenant`。这份文档描述的是**另一个分支**上的设计,不是你默认会安装的那个分支——它写的是在途工作,所以功能不在你会装下来的代码里。一份有评审、有日期、看起来已经完成的设计文档,完全可能描述着尚未上线的东西。这不是不诚实,设计文档本来就是这个样子。 + +### 4. 读数据模型,不要读功能清单 + +佣金那一节只列了两种规则类型——`percent`(带续期标记)与 `fixed`。业务规格书列了五种。这个落差不是 bug,而是我必须在**配置层**做的建模工作,不能指望产品自带: + +| 规格书假设 | 引擎实际有的 | +|---|---| +| 首单奖励 | 对首个事件用一条 `fixed` 规则 | +| 按事件区分(`lead` vs `invoice_paid`) | 一个 campaign 一条规则——所以:两个 campaign | +| 续期佣金 | `percent` + `recurring: true` | +| 百分比 | `percent` ✅ | +| 固定金额 | `fixed` ✅ | + +两种规则原语,五种行为——能做,但前提是你**一开始**就照这个设计,而不是在实现途中才发现。 + +### 5. 看清你需要的那项功能被锁在哪一档 + +同一个技术栈里还有个数据库工具,它的版本对照表很直白: + +| 我需要的功能 | Community(免费) | Enterprise(付费) | +|---|---|---| +| API token,好让我自动化 | ✅ | ✅ | +| SSO / OIDC | ❌ | ✅ | +| 页面设计器、隐藏品牌、双因素 | ❌ | ✅ | + +我想给「伙伴看到的那个门」用的东西(SSO)在商业门后面;而我想用来做自动化的东西(API token)是免费的。在围绕它做设计**之前**,先弄清每项需求落在墙的哪一侧。 + +### 6. 核对收款通道在你的国家能不能用 + +它的打款模型是 `stripe_connect | manual`,而自托管模式被写成「operator manages out-of-band」——也就是钱由你自己搬。Stripe Connect 不是马来西亚企业付钱给伙伴的方式,所以就是这一行决定了整个部署形态:自托管模式、手工打款、事件由我自己的订单系统推送过去,而不是依赖它内置的支付集成。这一行从来不会出现在营销页上,而它比任何功能都重要。 + +### 然后:在你需要之前,先问「兜底方案」 + +「如果我需要的功能不在,怎么办?」针对缺失的 SSO,答案是:不要把登录做进应用里,把登录放到应用**前面**。authentik 的 proxy provider 存在的意义就是保护「不支持 OIDC、SAML 或 LDAP 等原生认证协议的应用」,并且向上游注入 `X-authentik-username` 和 `X-authentik-groups` 头,于是反向代理就能承担准入判断。这就把「不支持 SSO」从一条否决理由,变成了一个下午的配置工作。 + +## 如果重来,我会怎么做 + +- **先写需求清单,再去找它。** 五行——**我**需要的功能——然后就搜这几个。从 README 的功能列表出发,等于用厂商的考卷给软件打分。 +- **把「文档存在」和「功能上线」当成两件不同的事。** 去读那行目标分支。 +- **用 grep,不要用读的。** 证明「有」很便宜;你要猎的是「没有」。 +- **在决定之前先定兜底**,这样一个缺失的功能就只是一次设计调整,而不是一场意外。 +- **把 commit 钉住。** 这个项目的 README 自己写着 API「stable but unversioned」,而且仓库里没有任何 OpenAPI 描述。没有可以编译期对齐的契约,那么 commit hash **就是**契约——我用到的端点要记进我自己的文档,升级前跑一遍回归。 + +## 结果 + +六个假设在大概十分钟的 `curl` 和 `grep` 里被修正,而当时一行集成代码都还没写。项目依然可行——只是换了形状:没有 OIDC、手工打款、钉住 commit,以及一份不再依赖某个未合并分支上功能的计划。 + +那份规格书乐观并没有错。它错在**没被验证过**——而这是整个项目里最便宜的修补项。 + +--- + +**你正在自托管技术栈上建东西,想在集成之前找人看一眼那些功能到底在不在?** 这正是我在做的复核工作。 + +[WhatsApp +60 12-797 2969](https://wa.me/60127972969) · +[me@hoelee.com](mailto:me@hoelee.com?subject=Open-source%20dependency%20review) · +[hoelee.com](https://hoelee.com)