ARTICLE · 1318544
DNS 开源软件靠啥活着

先问一句,这些软件到底靠谁掏钱
你家路由器里跑着一个 DNS 转发器,Kubernetes 集群里有一个默认的 DNS,大半个互联网的权威和递归服务,背后是 BIND、Unbound、NSD、Knot、PowerDNS、CoreDNS、dnsmasq 这几个名字。它们几乎都能免费下载,源码公开,随便用。问题是,写这些代码、半夜修漏洞、回邮件列表问题的人,靠什么吃饭。
答案不浪漫。让一个开源 DNS 项目一直有人管的,是有一群人离不开它,怕它某天没人维护。这群人可能是一家注册局,可能是一个云厂商的生态,也可能是一堆付钱买支持的公司。谁出钱,谁出人,基本就决定了这个项目能活多久、往哪个方向走。用的人多,和养得起的人多,是两回事。
下面按"靠谁养"把这些项目分几类。分类来自它们各自的历史,不是我硬凑的框。
注册局和大机构,自己用自己养
捷克的国家域名注册局 CZ.NIC 有一个实验室,做了 Knot DNS 和 Knot Resolver,一套高性能的权威和递归服务,全部开源。它为什么做。因为它自己要跑 .cz 这个顶级域,手里得有一套靠得住、能改的软件。顺手开源出来,别人也能用,它的工程师还能在更大的范围里被人盯着代码、提 bug。
荷兰的 NLnet Labs 是另一个样板。NSD 和 Unbound 都是它的,一个权威一个递归,不少根服务器和大递归在用。Unbound 当年是 NLnet Labs 联合 VeriSign、Nominet、Kirei 一起放出来的,一上来就是冲着替代老软件去的。钱从哪来。它有一家公司 Open Netlabs 卖 NSD、Unbound 的支持合同,另外长期拿注册局、地区互联网注册机构、ICANN 和各顶级域的赞助和项目经费。
这一类的共同点很清楚。域名体系里那些离不开 DNS 的机构,把养活这些软件当成自己基础设施的一部分开销。它们这么做不为慈善。这些软件一旦停摆,它们自己先难受。
卖支持合同,把"免费"背后的账摆出来
BIND 是 DNS 世界里最老、最标准的那一个,归一个 1994 年成立的非营利机构 ISC 管。ISC 自己说得很直白,它靠那些明白开源重要性的客户在养。BIND 代码白给,真金白银来自支持合同,24 小时响应、保密处理、专家兜底。ISC 后来还专门拆了一家商业子公司 DNSco 来接这块业务,BIND 继续当开源软件,收费的活儿放到子公司去做。
有意思的地方在这里。BIND 是事实上的参考实现,装机量巨大,可就算这样,ISC 还是得一家一家去谈支持合同才能把人养住。当上参考实现,不等于有人替你发工资。
PowerDNS 是另一条路。这个荷兰项目 2015 年并进了 Open-Xchange,之后一直是开源加商业支持两条腿。它的软件照样公开,电信运营商、主机商这些付费客户买的是支持和一整套平台能力。用它自己后来的说法,PowerDNS 成了 Open-Xchange 里一个能靠卖软件给付费用户养活自己的部门,同时跟开源社区关系处得还行。
这一类的逻辑是一样的。代码不要钱,付费买的是确定性,是出事半夜有人接电话,是把运维风险转出去。
挤进一个大生态,就有人顺手养着你
CoreDNS 走的是第三条路。它用 Go 写,2019 年初从 CNCF 毕业,从 Kubernetes 1.13 起成了集群里默认的 DNS,把老的 kube-dns 换了下去。养活它的是云原生这个大生态。它成了几乎每个 Kubernetes 用户都会碰到的默认组件,生态里的大公司派人维护,基金会给治理背书。
这条路最省心,也最危险。你一旦成了某个大系统的默认件,这个系统的赢家顺手就把你养了。可生态的默认件是会被换的,CoreDNS 自己就是把 kube-dns 换下来的那个。今天它坐在这个位置,哪天上游觉得该换,它的处境立刻不一样。
剩下一类,就靠一两个人撑着
还有一大片 DNS,其实压在很少几个人身上。dnsmasq 是最典型的例子,家用路由器、嵌入式设备、各种小型网络里到处是它,二十多年主要由 Simon Kelley 一个人在维护。
有张很有名的漫画。它画了一座现代数字设施,整个稳稳压在一个小方块上,而那个小方块,二十多年来只有一个无名的人在默默维护。DNS 这边,这样的方块不止一个。这类项目靠什么活。靠某个人的业余时间和责任心。它能用很多年,可它的命脉就是那一两个人哪天不想干了、或者干不动了。这不是黑它们,用的人该心里有数。

AI 来了,掏钱的人没换,维护者的日子变了
把上面几类摆清楚再看 AI,就知道哪些变了、哪些没变。谁出钱这件事,AI 基本没动。注册局还是养它的服务器,云厂商还是养它的默认件,卖支持的还是卖支持。变的是维护者每天过的日子,和代码本身值多少钱。
先说最闹心的。curl 的作者 Daniel Stenberg 2025 年公开抱怨,收到的安全漏洞报告里差不多两成是 AI 生成的废话,看着像模像样,核下去啥也没有。他说团队等于在被 DDoS,开始见一个封一个。到 2026 年 1 月底,curl 干脆把开了快七年的付费漏洞赏金停了,因为赏金把人引来的多是这种东西。curl 不是 DNS,可这种 AI 生成的报告,BIND、Unbound 这些项目一样会收到,它们的安全报告入口是同一种地方。
再说基础设施本身。2025 年初,一个叫 Xe Iaso 的开发者被 AI 爬虫把自己的代码服务器压得受不了,做了个叫 Anubis 的东西,用工作量证明在门口拦机器、放真人进。GNOME、KDE、Fedora、FFmpeg 后来都在用它,Fedora 的基础设施一度被爬虫打到停摆好几周。DNS 开源项目的文档站、代码仓、邮件列表,跟这些项目跑在同一类社区设施上,这波同样躲不掉。AI 公司一边大量抓开源的代码和文档去训练,一边几乎不往回填钱,这笔账现在摆到了维护者面前。
钱这边也有新东西进来。德国 2022 年搞了个主权技术基金,专门掏钱养那些关键的开源软件,2024 年就资助了 NLnet Labs 那个用 Rust 写的 DNS 库。欧盟还在推一个更大的版本,提案是七年投三亿五千万欧元。AI 这几年把"关键数字设施得有人管"这件事推到了台面上,确实有新的公共钱进来。可这些钱流向哪里。还是前面那几类,有人离不开、有人在盯着的项目。
最后是代码本身。现在让大模型吐出一个能跑的 DNS server,花不了多少时间,基础代码不再稀缺。稀缺的是真实流量底下的正确性,是那些协议的边角和坑,是出了事知道找谁。这些 AI 给不了。所以卖支持这条路反而更稳了,而想靠"我写了个 DNS 软件"来证明自己,门槛比以前高了不少。

如果你现在想开源,先想清楚归哪一类
绕了一圈回到你的问题。有个开源想法,该怎么整。我按上面这套来答。
动手之前,先想明白你这东西将来靠谁活。有没有一群离不开它、怕它没人管的人。如果有,去找他们,让他们从一开始就知道这个项目在。如果没有,也别拧巴,承认它就是一份署着你名字的作品,能证明你会干什么,这本身就值得做。
做一个工具,别一上来就做平台。dnsmasq、dnsdist 都是从一个很小的工具长起来的。工具有人用、活得下去,再谈别的。
AI 时代,光把代码扔上去没多大意义,别人让模型十分钟也能生一份。该写下来的是你的判断,为什么这么设计,什么流量下它会炸,你在哪个坑里栽过。这些东西 AI 替不了,也正好是招聘的人和同行想看的。
许可证和怎么治理,第一天就定下来。先想清楚它对你是什么,一个爱好,一份简历作品,还是一个你真希望别人拿去依赖的东西。这三种要付出的承诺完全不同,别糊里糊涂地混着来。
我自己做了十年 DNS 数据面,四套系统主力是 C。真要我开源,我不会把一整套数据面扔出来,那东西离不开一堆内部环境,别人既跑不起来也接不住。我会挑一个自己反复重写过好几遍的小零件,比如某一类解析,或者某种一致性检查,把它做干净,文档写透,顺带讲清楚什么场景下别用它。先有一个人真的拿去用了,这事才算起了头。
参考资料
ISC 关于 BIND 与开源支持 https://www.isc.org/bind/ ISC 成立商业子公司 DNSco https://www.isc.org/blogs/isc-creates-commercial-subsidiary-dnsco-2/ NLnet Labs 的资助与支持合同 https://nlnetlabs.nl/funding/ NLnet Labs 获主权技术基金资助 https://blog.nlnetlabs.nl/sovereign-tech-fund-bolsters-our-sustainable-open-source-efforts/ PowerDNS 与 Open-Xchange 合并 https://blog.powerdns.com/2015/03/24/powerdns-and-open-xchange-agree-to-merge CNCF 宣布 CoreDNS 毕业 https://www.cncf.io/announcements/2019/01/24/coredns-graduation/ curl 作者谈 AI 漏洞报告泛滥 https://daniel.haxx.se/blog/2025/07/14/death-by-a-thousand-slops/ 开源开发者用 Anubis 对抗 AI 爬虫 https://arstechnica.com/ai/2025/03/devs-say-ai-crawlers-dominate-traffic-forcing-blocks-on-entire-countries/ 德国主权技术基金 https://www.sovereign.tech/programs/fund
















































































