Enrique Lopez 在 GitHub 上创建了一个名为"legalize-es"的项目,在 Hacker News 上获得 661 分和 197 条评论。
他说:"西班牙法律作为 Git 仓库。每条法律是一个 Markdown 文件,每次改革是一个 Commit。超过 8600 条法律来自 BOE 的开放数据 API,包含从 1960 年起的完整改革历史。"
项目概述
这个项目的理念很简单:把西班牙的法律当作代码来管理。
每条法律是一个 Markdown 文件。每次改革是一个 Commit。你可以用 git log 查看法律的历史,用 git diff 查看改革的具体变化。
Enrique 写道:
git clone https://github.com/legalize-dev/legalize-es.git
cd legalize-es
# ¿Qué dice el Artículo 135 de la Constitución hoy?
grep -A 10 "Artículo 135" spain/BOE-A-1978-31229.md
# ¿Cuándo cambió?
git log --oneline -- spain/BOE-A-1978-31229.md
# Diff exacto de la reforma de estabilidad presupuestaria de 2011
git diff 6660bcf^..6660bcf -- spain/BOE-A-1978-31229.md
数据结构
项目包含超过 8600 条法律,来自 BOE(西班牙官方公报)的开放数据 API。
spain/
├── BOE-A-1978-31229.md # 西班牙宪法
├── BOE-A-1995-25444.md # 刑法典
├── BOE-A-2015-11430.md # 工人章程
├── BOE-A-2000-323.md # 民事诉讼法
└── ... (8600+ 条法律)
每个文件以 YAML frontmatter 开头:
---
titulo: "Constitución Española"
identificador: "BOE-A-1978-31229"
pais: "es"
rango: "constitucion"
fecha_publicacion: "1978-12-29"
ultima_actualizacion: "2024-02-17"
estado: "vigente"
fuente: "https://www.boe.es/eli/es/c/1978/12/27/(1)"
---
为什么这是有趣的
这个项目的几个有趣点:
法律作为代码
法律是社会的代码。但法律通常不被当作代码来管理。这个项目改变了那个。
版本控制
每次改革是一个 Commit。你可以用 git log 查看历史,用 git diff 查看变化。
开放数据
数据来自 BOE 的开放数据 API。法律是公共领域。
工具链
你可以用现有的工具(grep、git、diff)来探索法律。
社区驱动
如果你发现错误或缺少改革,打开一个 issue。
实际意义
这个项目有几个实际意义:
法律研究
研究者可以用 Git 工具来研究法律变化。
法律技术
法律科技公司可以用这个数据来构建工具。
公民参与
公民可以用简单的工具来了解法律变化。
教育
教师可以用这个项目来教学生关于法律和法律变化。
更广泛的含义
这个项目对法律和技术有几个启示:
法律需要版本控制
法律变化频繁。版本控制是必要的。
开放数据是重要的
BOE 的开放数据 API 使得这个项目可能。开放数据是重要的。
工具链是强大的
Git、grep、diff——这些工具是强大的。
社区驱动是可能的
社区可以贡献法律数据。社区驱动是可能的。
8600 条法律是大的
超过 8600 条法律。那是大的。
结语
Enrique Lopez 的项目是一个警示:在法律中,版本控制是可能的。法律可以被当作代码来管理。
每次改革是一个 Commit。每条法律是一个 Markdown 文件。
在这个时代,我们需要更多关于工具,少关于障碍。