打开网易新闻 查看精彩图片

8642条法律,27000多次提交,全部可追溯、可对比、可问责。

这不是某个极客的技术炫技,而是一个叫Enrique López的程序员干的事——他把西班牙全部现行法律搬进了Git仓库,每一次立法改革对应一次代码提交(commit)。

你可以用git diff对比西班牙税法的两个版本。你可以用git blame追查某条款是谁、在什么时候加进去的。你可以用git log看过去十年数据隐私法的全部演变轨迹。

politicians们几百年来就是这么立法的:"删除第3款,替换为……" 这本质上就是打补丁,一层叠一层。但我们直到2025年才有人想到:既然软件工程师2005年就有版本控制工具了,为什么法律还在用PDF和政府公报?

为什么这件事值得兴奋

为什么这件事值得兴奋

法律可能是人类最古老的"代码"。《汉谟拉比法典》本质上就是公元前1760年刻在石头上的if-else语句。

但讽刺的是,我们给软件做版本控制做了几十年,治理社会的规则却困在PDF、政府年鉴和互相引用的修正案里。一条法律改了,你想知道谁改的、改了什么?得手动翻一份写着"第14条第3款,将第二段替换为以下文本"的文件。

这不是透明,是故意把信息埋起来。

打开网易新闻 查看精彩图片

西班牙这个项目把这套遮羞布扯掉了。没有定制领域语言,没有区块链,没有AI,就是纯Markdown文件+Git的版本历史。简单到任何一个开发者都能拿去用。

法国做过OpenFisca,把税法变成可执行代码。新西兰搞过"Better Rules",让人类和机器能同时读懂立法草案。英国帝国理工学院把《英国国籍法》编码成逻辑规则。但这些项目都有门槛——要么需要学新工具,要么需要政府牵头。

西班牙这个不一样。它太朴素了,朴素到让人尴尬:原来我们早该这么干。

技术细节:怎么做到的

技术细节:怎么做到的

López写了一套流水线:从西班牙官方公报(BOE)的API抓取每条现行法律,转成Markdown,然后监听每一次立法改革,自动生成带日期的Git提交。

仓库用MIT许可证开源(针对结构和工具),法律本身本来就是公有领域。

关键点在于"consolidated"( consolidated law, consolidated text)——不是原始法案,而是把历年修正案合并后的现行有效版本。这才是普通人实际需要的东西。原始法案就像软件源码,consolidated text就像编译后的可执行文件。López给的是后者,但保留了完整的"编译历史"。

这意味着什么?一个西班牙创业者想查劳动法过去五年的变化,不用雇律师翻故纸堆,直接git log。一个研究者想对比2019年和2024年的数据保护条款,直接git diff。一个记者想追查某条争议条款是谁塞进法案的,直接git blame。

打开网易新闻 查看精彩图片

这些工具软件行业用了二十年。法律行业还在用Ctrl+F搜PDF。

全球跟进:谁在抄作业

全球跟进:谁在抄作业

项目上线后,德国、荷兰、意大利的开发者已经开始讨论复刻。欧盟层面也有声音——既然数字身份钱包都要统一了,法律数据的开放格式没理由不统一。

更实际的影响在AI领域。大模型训练需要结构化数据,法律文本是高质量语料,但PDF格式的法律条文对机器极不友好。Git+Markdown的组合让法律变成可直接parse的文本,RAG(检索增强生成)系统终于能准确定位条款了。

有个细节很有意思:López最初只是想解决自己的痛点——做税务软件时查法律太痛苦。典型的开发者思维:与其抱怨,不如写个脚本。结果脚本跑通后发现,这东西对所有人都管用。

这不是"会不会有政府采用"的问题,是"哪个政府先被逼着采用"。当足够多的开发者、律师、记者习惯用git查法律,官方渠道的落后就变得难以忍受。压力会从用户端倒推回去。

想象一个场景:你订阅了劳动法的GitHub仓库,每次改革推送通知到手机,就像跟踪一个开源项目。政策变化不再是事后诸葛亮,而是实时可观测的变量。

这会让立法者更谨慎吗?也许。至少让"偷偷塞进条款"变得更难。

如果中国有人把《民法典》及其司法解释做成Git仓库,你会订阅吗?