Lagtext och förändringar över tiden

LawMeme har ett fint citat i foten på sina sidor: ”Leges humanae
nascuntur, vivunt, moriuntur” (”människans lagar föds, lever, och
dör”). När jag byggde lagen.nu tänkte jag väldigt lite på det faktum
att en lagsamling förändras över tiden. Ett halvår senare börjar detta
ställa till problem.

Det första problemet är att mina rutiner för att upptäcka att lagar
slutat gälla inte var perfekta. Det finns två sätt som en lag kan
upphävas; dels kan det utfärdas en ändringsförfattning som bara säger
att en annan lag ska upphövas, dels kan det utfärdas en
grundförfattning som i sina ikraftträdandebestämmelser anger att en
annan lag ska upphövas.

Min uppdateringskod klarade bara av det första fallet, vilket fick
till följd att en hel massa lagar som borde ha markerats som upphävda
inte blev det. Inte bra. ”Markerad som upphävd” betyder i det här
fallet att en fet röd ruta uppmärksammar läsaren på att författningen
är upphävd, och genom vilken annan författning det kom att bli
så. Sidan metataggas också så att Google och andra sökmotorer inte
indexerar den.

Nåväl, det är fixat nu (även om resultatet inte ligger ute än),
men i samband med det har ett annat problem blivit uppenbart: Många
lagar som ska upphävas i framtiden (säg, den 1:a januari 2006) är
redan nu markerade som upphävda. Detta för att rutinen som ritar den
röda rutan bara kollar OM det finns ett upphävd-datum, inte om detta
datum har inträffat än.

Så för att lösa detta måste datumet tolkas och tas hänsyn till,
dessutom måste jag se till att bygga om sidorna så fort som möjligt
efter att datumet passerats. Det är rätt lätt gjort, i en perfekt
framtid kommer sidorna regenereras en gång om dygnet ändå.

Men datumdilemmorna tar inte slut där! När en lagändring är på G förs
den nya lydelsen av en ändrad paragraf in i SFST (den databas jag
hämtar allt från), och placeras bredvid den gamla lydelsen, med en
liten markör om när den gamla slutar gälla och den nya börjar:

10 § /Upphör att gälla U:2005-05-01/ Undersökningstillstånd beträffande
olja, gasformiga kolväten eller diamant skall förenas med de villkor
som behövs för att skydda allmänna intressen eller enskild rätt.

10 § /Träder i kraft I:2005-05-01/ Undersökningstillstånd skall
förenas med de villkor som behövs för att skydda allmänna intressen
eller enskild rätt samt med villkor om att tillståndshavaren skall
ställa säkerhet för ersättning enligt 7 kap. 1 §. Lag (2005:161).

Det där är ju rätt fult, speciellt när det rör större
textmassor. Ibland gäller det hela kapitel, och då är det lätt att man
tappar bort sig och lusläser paragrafer som inte alls gäller för
tillfället. Jag skulle vilja plocka bort den version av paragrafen som
inte gäller just nu för tillfället. Det är ganska riskabelt, med tanke
på att en bugg lätt kan leda till att man plockar bort en paragraf som
ska gälla. Tänk hur annorlunda världen skulle bli om 36 § AvtL plötsligt
försvann.

Med ett rejält regressionstestramverk och mycket manuell koll kanske
jag vågar mig på ett sådant tillvägagångssätt. Men även då stöter man
på sådana här markörer:

/Träder i kraft I: den dag regeringen bestämmer/

Tack för den! Det är dags att ta ett steg tillbaka och fundera kring
vad målet är med de här övningarna överhuvudtaget. Idag presenterar
lagen.nu samma i grund och botten information som finns i SFST,
möjligtvis med lite snyggare formattering och hyperlänkning. Jag skulle vilja att lagen.nu i första hand alltid presenterade
landets författningar som de är just nu i aktuell stund. På längre
sikt skulle jag vilja bygga en sorts ”tidsmaskin”, så att man kan se
vilka lagar som gällde ett visst givet tillfälle. Detta är speciellt
viktigt om man, säg, ska utreda ett visst skattetekniskt handlande som
pågick under ett halvår tre år bak i tiden; då är det av yttersta vikt
att veta vilka regler som gällde vid varje givet tillfälle.

Idag har jag ungefär ett halvårs sparad ”laghistoria”, och en sådan
här tidsmaskin skulle alltså högst kunna gå bakåt ett halvår. Oavsett
vad skulle det kräva en hel del smart programmering, mycket testande,
och en hel del redaktionellt arbete (för att exempelvis ta reda på när
regeringen ikraftträtt vissa paragrafer).

Sen ska man veta att vissa bestämmelser om exempelvis bodelning vid
äktenskapsskillnad eller uppsägningstid är beroende av hur lagen såg
ut när äktenskapet eller anställningen inleddes. Det är alltså riktigt
riktigt svårt att ta reda på vad som gäller. Man måste även lusläsa
eventuella övergångsbestämmelser. Men sånt är, åtminstone för
tillfället, överkurs. Något manuellt harvande ska vi lämna åt
yrkesjuristerna.