Om normgivningssystem i juridiken och datorn

En intressant fråga i komplexa datorsystem likväl som juridiska system är ”vem har rätt att bestämma något?”. Unixsystem har en befriande enkel grundmodell för sånt här: alla får bestämma över sig själva, men root får bestämma över allt (i ett riktigt system är det naturligtvis mer komplext med grupper och ACL:er osv, men vi lämnar det därhän sålänge).

I juridikens, mer bestämt statsrättens, värld pratar man istället om normgivningsmakt: Vem får stifta lagar? Vem får stifta andra bestämmelser? Vad får de här, med ett samlingsnamn, normerna handla om?

Grunden är ganska enkel: Rättighetssystemet har sin bas i grundlagarna, framförallt RB kap 8. Det första att titta på är hur man ändrar själva grundlagen; mekanismen med två likalydande beslut möjliggör i teorin att folket, som all makt utgår ifrån, kan inlägga sitt veto mot alltför otrevliga förändringar (men när har en vilande grundlagsförändring någonsin varit en stor valfråga?).

Sen kan man titta på kap. 2 om grundläggande fri- och rättigheter — sådana saker som yttrandefrihet, skydd mot frihetsberövande eller rätten till gratis skola — och vilka förutsättningar dessa får inskränkas. Man pratar om absoluta, relativa och svagare fri- och rättigheter — de absoluta, exv rätten att få resa in i landet som endast kan ändras genom grundlagsändring, de relativa, exv demonstrationsfriheten som kan inskränkas i lag stiftad i vissa former, och svagare (alla från 17 § och framåt) som kan inskränkas genom vanlig hederlig enkel majoritets-lag). Allt sånt här (och det här är bara några lösryckta exempel) handlar om vad man får bestämma om, och i vilken form beslut måste tas.

Vem som får bestämma är nästa fråga. Grundiden är att folkets valda representanter (dvs riksdagen) bestämmer. Men eftersom det är opraktiskt (och i många fall bryter mot principen om kommunernas självständighet) att de ska besluta allt kan de delegera lite av sin makt att lagstifta — sin normgivningskompetens, ffa till regeringen. Regeringen kan i sin tur subdelegera makt till förvaltningsmyndigheter. Man kan tänka sig en trädstruktur av normer, med grundlagarna vid roten, följt av vanliga lagar, sen förordningar och sist, ute vid löven, föreskrifter från exv DI, CSN eller FI. Delegering handlar om hur makten att bestämma propagerar från rot till löv.

De här reglerna för delegering tas upp framförallt i kapitel 8. När man läser det bör man veta att ”(meddelas) genom lag” betyder att riksdagen bestämmer — endast de kan stifta lagar. Står det däremot ”genom förordning” betyder det att regeringen kan bestämma. Det finns många stadganden för hur normgivningsmakt får delegeras, och man måste i princip läsa alla för att veta om en viss typ av delegering är tillåten. Ett exempel är att när man läser 3 §, som säger att all betyngande offentlig rätt måste stiftas av riksdagen, så måste man vara medveten om 7 §, som säger att regeringen visst får bestämma lite på det området, så länge det inte rör de uppräknade ämnena. Första stycket ger för övrigt en förklaring till varför det är viktigt om något kallas för ”skatt” eller ”avgift” — endast riksdagen får bestämma om skatter, men eftersom avgifter inte nämns så kan man motsatsvis (eller é contrario som vi i juristsvängen säger) sluta sig till att sådana tillhör det område som regeringen själv får bestämma om.

Men bara för att någon myndighet — eller tillochmed regering eller riksdag säger att nånting är på ett visst vis betyder det inte att de har rätt. Med tanke på hur många förbehåll som finns för delegering av normgivningsmakt är det inte konstigt att det ibland blir fel, och ffa förvaltningsmyndigheter försöker bestämma över saker som de egentligen inte har rätt att bestämma över. Konceptet lagprövning används ofta i praktiken för att komma tillrätta med författningar som stiftats på lägre nivå i strid med överordnade författningar på högre nivå.

Vad har allt det här då att göra med datorsystem? Det jag försöker komma till är att grundlagarnas normgivningsstadganden påminner mycket om rättighetssystemet i ett hyfsat komplex datorsystem, som en RDBMS eller ett Windows AD-system. Det finns koncept som användare (lagstiftande församlingar), rättigheter (normgivningskompetens) och objekt, exv filer, som användarna kan applicera sina rättigheter på/mot (de olika områden man kan stifta normer om). I avancerade system kan man i princip sätta upp egna normer för vem som ska få sätta andra normer, och för vilka, genom den speciella sorts rättigheten som är överlåta rättigheter till andra (delegering). Det finns även de grundbestämmelser som är givna av systemet (grundläggande rättstatskrav, som legalitetsprincipen)

Det finns också likheter på ett mer direkt sätt. Jag har ägnat de senaste två veckorna åt att lusläsa RF. Den är, lagtekniskt sett, en… intressant skapelse. Om ni har satt er in i källkoden till ett komplext datorprogram har ni säkert observerat att kodens komplexitet och lättlästhet kan skilja sig våldsamt mellan olika delar. Komplexiteten är ungefärligt omvänt proportionell mot lättlästheten (åtminstone till en början), och tenderar att vara som högst i de centralaste delarna av programmet.

Det är inte så annorlunda med ett lands lagstiftning. De hårigaste bitarna är i kärnan, dvs grundlagarna, och framförallt dess bestämmelser om vem som får bestämma om vad. De är komplexa, för de påverkar allt annat i systemet, och därför inte nödvändigtvis lättlästa. Men precis som en passage med riktigt knepig kod ofta visar sig vara rent vacker när man trängt in i den så att man förstår den, har även grundlagen, speciellt RF 8 kap., sin märkliga skönhet.

Mer om lagstiftningsteknik och likheter med design patterns senare. Imorgon blir det en liten utvikning om hur man kan använda javascript i rent layoutmässigt syfte för att slippa ”CSS tables”-syndromet.