¿Podría usarse Git para rastrear proyectos de ley en el Congreso?

Para que esto suceda, el Congreso debe redactar proyectos de ley con el control de versiones en mente. Hasta la fecha, no ha habido suficiente conocimiento tecnológico o interés político para que esto suceda. Con los debates de SOPA / PIPA, espero que la comunidad tecnológica arroje más luz sobre el rincón esotérico donde se unen la ley y la informática. Podría dedicarse un libro al tema, y ​​si hay suficiente interés, podría reunir a las personas para escribirlo.

He discutido algunos de estos temas en otra parte (por ejemplo, ¿qué pueden aprender los legisladores de la informática? Política pública: ¿Cuáles son las barreras no técnicas para adoptar un sistema de control de versiones para su uso en la redacción de proyectos de ley y nuevas leyes?), Y pueden dar una idea del desafío aquí.

Hecho: no existe una versión oficial y actualizada de la ley federal de EE. UU. Cada nueva ley que aprueba el Congreso es como un guión de programación independiente. Hay una oficina (el Abogado de Revisión Jurídica) cuyo trabajo es incorporar todo lo que puedan en el Código de los Estados Unidos. La publicación oficial del Código, compuesta por 50 títulos de áreas temáticas, se realiza en un ciclo de 6 años . Esto significa que la versión publicada del Código de EE. UU. Solo está completamente actualizada una vez cada seis años. Y este es el año (2012). Entonces sería un buen momento para comenzar un nuevo sistema.

Para que el control de versiones sea factible para los proyectos de ley del Congreso, se necesitan dos pasos fundamentales:

(1) El Congreso debe aprobar el Código de los Estados Unidos en derecho positivo. Lo que esto significa es que el Congreso necesita adoptar el Código de los Estados Unidos, un Título a la vez, como la ley de los Estados Unidos. Esto reemplazaría los cientos o miles de proyectos de ley individuales que conforman ese Título. Muchos títulos se han pasado a la ley positiva a lo largo de los años, por lo que el control de versiones para estos está más cerca.

(2) El Congreso debe usar un lenguaje coherente cuando aprueba una nueva ley y hacer enmiendas a secciones enteras. Algo tan simple como “la Sección 203 del Título 26 se modificará para que lea:”

Lo creas o no, actualmente no hay una forma consistente de manejar las enmiendas a la ley anterior, lo que hace imposible hacer una línea roja automatizada de manera consistente. Para tener una idea de esto, eche un vistazo al ejemplo en mi respuesta a esta pregunta: ¿Qué pueden aprender los legisladores de la informática?

Como nota a esto: si bien el Congreso puede tardar un tiempo en adoptar los cambios necesarios para implementar el control de versiones, se han realizado más progresos con las agencias federales. Sus regulaciones se agregan al repositorio oficial (el Código de Regulaciones Federales) de manera automatizada, respaldado en gran medida por estructuras de datos XML. Todavía queda mucho por hacer para obtener el beneficio completo de este formato electrónico, pero las agencias individuales están comenzando a hacer esos cambios (por ejemplo, que requieren presentaciones con formato XML, como lo hace la SEC para ciertos formularios), aumentando la transparencia de su administración en el proceso .

Sí, y de hecho, ¡lo hacen en Alemania! https://github.com/bundestag/ges … rastrea los cambios realizados en todas las leyes federales aprobadas allí. Lo hacen utilizando un conjunto de scripts de python que extraen datos del portal de derecho oficial del gobierno juris BMJ – Startseite.
No soy lo suficientemente competente en alemán para ver cuán prácticos son los diferenciales, pero echar un vistazo a los commits revela que no son tan malos.

Mi colega Ryan Blair en el Senado del Estado de Nueva York está interesado en hacer algo en este sentido: http://www.wired.com/wiredenterp

No creo que la barrera para hacer esto sea principalmente técnica. Se trata principalmente de prácticas arraigadas, que tardan en cambiar. Este tema se ha discutido anteriormente, por cierto:

Política pública: ¿Cuáles son las barreras no técnicas para adoptar un sistema de control de versiones para su uso en la redacción de proyectos de ley y nuevas leyes?