昨天,老冯的一篇文章《》收到一条评论, 评论者称是高校开源镜像站的管理员(清华 TUNA),向老冯提出批评抗议,内容如下:
作为高校开源镜像站管理员,我想要提醒作者,文中“躺平”“没有担当”的措辞是很不负责任的、令人心寒的指控。
![]()
老冯的感想
收到消息后呢,我去清华 TUNA 源上看了一眼,PostgreSQL 仓库里已经有最新的 PG 18 的包了,不过 “Last Update” 时间戳还是 2025-05-16,应该是手工同步的。 总的来说是件大好事,除了老冯的 PIGSTY 仓库[6] 之外,国内总算又多了一个能提供相对及时 PGDG 镜像的节点,这一点我要为 TUNA 点个赞。
![]()
其实在老冯的 PG 发行版 Pigsty 里,原来使用的是阿里云的 PostgreSQL 镜像站,并没有直接从 TUNA 拉 PG 包。 “躺平”“没有担当”这些情绪上的评价,最初更多是冲着阿里云这种有资源的大厂去的 —— [7] 的保留节目。 毕竟阿里云作为互联网大厂和本土云计算一哥,从开源攫取了巨大价值,搞个开源镜像站却长期不维护 PG 仓库,实属拉垮。 结果在这次风波里,反而是清华 TUNA 的同学先站出来表达了不同看法,这一点我也理解。
![]()
这里说一句公道话:不管是阿里云镜像站还是 TUNA 镜像站,我在原文里多次强调过 —— 作为免费的服务提供方,在法律和道德上确实没有义务去做这件“慈善”。 但这并不妨碍每个人对现实结果有自己的看法和评价。“躺平”“没有担当”是我当时的主观感受,现在回头看,用在高校志愿者身上,确实容易误伤人。 所以我已经把措辞调整为“停止维护”“长期未更新”这类事实性的表述,把情绪收回来,避免误伤一线维护的同学。
为什么老冯会有这种感觉呢?我在发现 [8] 之后,第一时间就 [9](当然阿里云现在还没修)。 同时,我也顺手看了一圈国内其他镜像站,发现清华 TUNA 镜像站也有这个问题,就在他们的邮件列表里发了一封提醒。 结果有同学回复说:“你发的这个是阿里云的问题,跟本站无关”。我解释这是所有镜像站共有的问题,然后就再没有任何回应。
![]()
大概又等了一个月左右,老冯实在是不想等了,就自己搭建了 PGDG 中国区域的镜像仓库,放在腾讯云上,和 Pigsty 自己的仓库放一起。 移除了对阿里云 PostgreSQL 镜像站的上游依赖,至少在 PostgreSQL 制成品分发上,实现了完整的自主可控供应链。 老实说,如果不是因为国内镜像站在这件事上的整体表现,老冯可能也不会这么快去做这件事。
这里有一个身份差异:我不是一个使用镜像站的普通用户,而是同样在做发行版、维护镜像仓库的开源贡献者。 站在这个位置上,看见上游链路出了问题、反馈没人接,情绪会比较直接地表现在文字里。 老冯对云厂商说话一向不太客气,但这不意味着我不理解志愿者的难处 —— 尤其是对于高校开源志愿者,整体上我觉得应该多一点呵护,少一点道德化的指责,这也是我后来主动调整措辞的原因。
开源与信任
实际上老冯自己也刚刚经历过类似的事情。我也维护了几个开源项目,还有不少 PostgreSQL 生态里的工具。 比如说 pg_exporter[10] —— PG 的 Prometheus 指标导出器,有一些 PG 厂商也在用。 前天我才注意到,9月份有人在上面提了一个 Issue[11] 写到:
你好,虽然我知道这是一个开源项目,但我一个月前提交的两个问题至今仍未得到任何回应,这实在令人失望。我对 pg_exporter 1.0 版本以及 PG 邮件列表上的公告都充满期待,甚至考虑过贡献代码。但我不愿把希望寄托在一个维护者缺席的项目上。希望这只是暂时的,也希望他一切安好。 我没有任何怨言,衷心祝愿这个项目和维护者一切顺利
![]()
老冯九月份在新疆自驾了一个月,没怎么用电脑,Issue 点开看过但后面就忘掉了。 “缺乏维护” 导致这位用户对老冯的开源项目失去了信任,而他本来也许可以成为项目的贡献者。 辜负了他的信任与期待,确实让老冯感到非常遗憾与愧疚。 所以我就放下手头的事儿,把他提的问题修了一遍,然后发布了一个新版本 1.0.3[12]。
将心比心,当我发现我所依赖的上游镜像站出现问题,而你反馈了也没人理、没人修时,我自己也会有这位用户一样的感受:
“我不愿把希望和信任寄托在一个维护者缺席的项目上”。软件供应链
在那篇《》中,老冯提出过一个观点:
“开源” 确实并不要求你向用户提供可靠稳定的二进制制成品,但真正重要的不是开源,而是信任。开源只是构建信任的一种形式,持续的投入,交付的承诺,专注的热情,面对问题的担当。想要成为值得信赖,受人尊敬的社区参与者,有许多东西比丢一份源代码到仓库要重要得多。
把开源镜像站办起来,说好听一点,也是某种公共慈善。 这位管理员同学的委屈我是能理解的: “我们又没拿报酬,还要扛合规和安全风险,牺牲个人时间来维护。你不说谢谢就算了,怎么反过来用‘躺平’‘没有担当’这样的词来说我们?”
这里有一个现实却不太好听的点:
•对维护者而言:“我没收钱,所以我没有义务”,在内心是一个很自然的防线;•但对用户而言:只要你把服务挂在公开的地址上,大家自然就会把它当成“某种可以依赖的基础设施”。
这种期待未必完全合理,但是真实存在。
镜像站与普通开源项目有一个重要区别:它处在软件供应链的中间 —— 是从上游到下游的通路,直接影响生产环境, 而不像单纯开源项目那样 “我写个工具,你爱用不用”。
而供应链天然就会出现分层:
•有可靠的,有不可靠的;•有愿意给出承诺、出 SLA 的,也有只愿意尽力而为的;•有愿意把“这事算我头上”的,也有明确表示 “别指望我” 的。
做到好、长期维护、有清晰的预期管理,就会积累声望、信任、影响力,成为别人可以安心依赖的关键节点; 做不好,交付过时或不可靠的结果,自然也要面对用户信任的流失。
当这位同学写下:“与商业镜像站不同,国内全部的高校镜像站都没有任何服务承诺和保证” 这句话本身从维护者视角看,非常诚实。 但换一个视角 —— 生产运维负责人听到这句,大概会在脑子里立刻画一个叉:“没有任何服务承诺和保证,那就没法出现在生产供应链上游。”
所以,我并不想去指责高校镜像站“没有担当”,而是要提醒下游用户 ——在严肃的生产环境里,你不能依赖一个明确说“我不提供任何保证”的上游。
质量与承诺
清华 TUNA 提供的很多镜像服务是有价值的。比如 pypi 和 homebrew 镜像,我个人电脑上就一直在用,它们完全胜任“加速访问”的角色。 在 Pigsty 的早期版本里,我也用过部分 TUNA 的 PostgreSQL 镜像。 后来遇到过几次莫名其妙的 403 封禁,这对自动化部署来说不太友好,于是就全部改成阿里云的镜像。
整体上看,阿里云镜像站过去的表现是比较稳定可靠的,直到这次 PGDG 切断 rsync 之后,PG 仓库一直停在几个月前的版本,至今还没有修复。这件事削弱了我对它的信任,所以我选择自己托管 PGDG 镜像,把这部分供应链从它身上剥离出去。 操作系统层面的镜像,我目前仍然在用阿里云。如果哪一天阿里云在 Linux 系统镜像上的表现也开始频繁翻车,那我也很可能会考虑自建 Rocky / Ubuntu / Debian 的镜像源。
在这件事里
•清华 TUNA 管理员很坦率地表示:高校镜像站不提供服务承诺。这个立场本身没有问题,但下游看到这句话,自然会据此调整对你的使用边界;•阿里云没有明确说,但从过往表现来看,我们可以暂时把它当成“部分负责的大厂”:如果继续出问题,那老冯回去催它/批评它,或者在自己的体系里换掉它;•老冯的 Pigsty / PGDG APT / DNF 仓库,会明确给出承诺:如果仓库出问题,我会去修;如果修不好,那我自己信誉扫地,对付费客户来说,这也意味着 SLA 违约责任。
镜像站、仓库、发行版,这些都是“基础设施中的基础设施”。是否愿意为自己的服务说一句“出了问题算我头上”,决定了你在这个生态里的角色 ——只是好心的志愿者,还是真正能被依赖的关键节点。
当高校镜像站把丑话说在前面,下游又应当如何自处?当别人告诉你“别指望我”,最稳妥的回应永远是“那我自己来”。
写文章不打广告约等于没写,也许老冯提供的服务正好能帮到你。以下三个国内镜像仓库,免费对公众提供服务: 这些仓库提供 Cloudflare 全球版本与国内云墙内版本,可以方便的使用 pig / apt / dnf 启用。 更详细的介绍请参考 https://pgext.cloud/repo
PGDG镜像
定期同步全球 PostgreSQL 开发组官方软件仓库(el 7-10, debian 11-13, ubuntu 20-24) 最近同步于今天,每周更新,中国大陆区域镜像地址: https://repo.pigsty.cc/apt/pgdg / https://repo.pigsty.cc/yum/pgdg
PIGSTY PGSQL
PIGSTY PGSQL 仓库:提供 几款不同风味的 PG 内核分支[17] (PolarDB, IvorySQL, Babelfish, OrioleDB, OpenHaloDB, Percona TDE, Supabase,... ) ,与 PGDG 官方仓库配合使用,提供多达 437 个 PG 扩展插件[18] 与生态常用工具。支持 14 个 Linux 发行版大版本[19]。
![]()
PIGSTY INFRA
提供各类 Linux 大版本无关的组件,包括数据库,相关工具,Grafana,Prometheus,VictoriaMetrics 可观测性全家桶,以及各类常用 Exporter。
![]()
References
[1]从PG“断供”看软件供应链中的信任问题:/pg/pg-mirror-pigsty/[2]回复与评论:https://vonng.com/pg/pg-mirror-pigsty/[3]恢复了和上游的同步:https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/yum/18/[4]向 TUNA 邮件列表反馈问题:https://groups.google.com/g/tuna-general/c/BU8P7X3y4sI[5]修改措辞:https://github.com/Vonng/blog/commit/916697a88f143679d658dc52338827ce603444fd[6]PIGSTY 仓库:https://pgext.cloud[7]云计算泥石流:https://vonng.com/cloud[8]全球镜像站出现同步问题:/pg/pg-mirror-break[9]给阿里云发邮件反馈了这个问题:/pg/pg-mirror-pigsty[10]pg_exporter:https://github.com/pgsty/pg_exporter[11]Issue:https://github.com/pgsty/pg_exporter/issues/79[12]1.0.3:https://github.com/pgsty/pg_exporter/releases/tag/v1.0.3[13]从PG“断供”看软件供应链中的信任问题:/pg/pg-mirror-pigsty/
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.