Lagstiftaren borde lära sig av webben

There are no reasons at all in theory for people to change URIs (or stop maintaining documents), but millions of reasons in practice

2003 ändrade riksdagen en av de mest centrala lagar vi har, riksdagsordningen (RO). RO är ett mellanting mellan grundlag och vanlig lag, och ändras inte utan vidare. När det gäller en sådan lag tycker man att man borde gå försiktigt fram när man ändrar den, inte minst vad det gäller kapitel- och paragrafnumreringen.

Jag menar, det finns sjukt mycket material som refererar till RO. Om någon skriver ”Enligt RO 3:18 så gäller […]” så vill man gärna att den referensen ska gälla i överskådlig tid.

På både http://blog.tomtebo.org/ och http://lagen.nu/ har jag gjort mitt bästa för att länkar ska funka över tid; om någon är snäll nog att länka till någon av mina blogpostningar eller någon av lagarna på lagen.nu, så vill jag att den länken ska funka, åtminstone så länge domänerna blog.tomtebo.org och lagen.nu är under min kontroll.

Riksdagen har RO under sin kontroll. Trots det valde man i 2003, iom SFS 2003:180 att numrera om stora delar av RO. Det var en del i arbetet att modernisera språket i RO, vilket i sig är en god tanke. I programmeringsvärlden kallar vi sådant ”refactoring”, när syftet är ”changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure”. Det betraktas i allmänhet som en God Sak.

Problemet är att moderniseringen av RO även ändrade det yttre beteendet (”external behaviour”). All gammal juridisk text (ffa doktrin och rättsfall) är plötsligt inte att lita på. Om man läser ”Enligt RO 3:18 så gäller […]” så måste man veta om texten skrevs före eller efter den 1:a juli 2003, eftersom det påverkar innehållet i texten.

Har du någonsin fått felmeddelandet ”The requested URL /[...] was not found on this server.”? Det beror på att någon glömt att URL:er1 aldrig skall ändras. Det är egentligen aldrig OK att lämna felkod 404 för en URL som en gång har fungerat (jag har brutit mot denna regel fler gång än jag kan räkna, men jag har lärt mig av mina misstag). Det enda som är acceptabelt är 301 (Moved permanently) eller 410 (Gone) (eller möjligtvis 307 (Temporary Redirect) i vissa fall). Det är sånt som gör att webben funkar dåligt.

När lagstiftaren numrerar om lagar funkar juridiken dåligt. Det gör att massor av läroböcker, artiklar, rättsfall och andra rättskällor plötsligt har felaktiga referenser. Det här problemet finns på många andra ställen än RO, jag tar bara upp just det här exemplet eftersom jag läser statsrätt just nu och RO är en rätt viktig lag.

Vad som är intressant är att webben bara funnits i tio år. Tim Berners-Lee och andra arkitekter bakom webben förstod det här problemet från dag ett. Juridik har funnits i flera tusen år och har fortfarande inte förstått problemet.

På måndag går jag tillbaka till det rena tekniksnacket och orerar över MacOS X hantering av Unicode i filsystemet. Användbar pythonkod utlovas!

1: …eller URI:er. Skillnaden mellan URL:er och URI:er är intressant för en mycket mycket liten del av mänskligheter. Nån annan dag ska jag ranta om de som använder det ena uttrycket när de menar det andra, och vice versa.