Öppna och fria datorprogram

Jag anser att alla datorprogram skall vara öppna och fria och detta av exakt samma orsak som att politiken skall vara öppen för granskning. Lagar är som datorkod, människor skall förhoppningsvis följa lagen, och datorer lyder koden blint. Alla kan inte granska och läsa datorkod, men säg mig, hur många läser propositioner, motioner, lagtexter och granskar politiker? Just det, alla behöver inte göra det, det räcker med att vissa kan göra det och därmed ringa i alarmklockorna när något är fel. Finns inte källkoden tillgänglig för granskning, så är du utlämnad och kan bara lita på den som skrev den. Ungefär som en politiker som vägrar låta sig granskas av medborgare eller media och säger: lita på mig.

En viktig anledning till att inte ens offentlig förvaltning utvecklar datakod fritt och öppet har dels sin grund i någon slags flockbeteende och dels ett troligtvis industriellt betingat synsätt som gör det svårt att åtskilja mellan fritt och gratis.

En vanlig invändning för att försvara det tyvärr invanda är tron att programmerare måste arbeta idéellt om programmen är fria. För det första så är det bara ca 10% av alla inom IT som utvecklar proprietär programkod, den överväldigande majoriteten jobbar med andra saker såsom konsulter, “webbsnickare”, olika sorters tekniker, frilansande osv.. De sysslar med tjänster.

Ett hypotetiskt exempel: Företag A vill sänka sina kostnader för mjukvara och börjar använda det fria programmet Z, konkurrenten B får nys om det och vill göra samma sak, men de har lite högre krav och behöver göra några mindre förbättringar i programmet. De räknar på det och kommer fram till att det trots allt blir lönsamt att hyra in en specialist för att göra förändringarna, specialisten får alltså betalt för att utveckla fri mjukvara. Specialisten gör sedan ändringarna offentliga i enlighet med GPL-licensen eftersom de även är distributör. Företag A ser att det nu finns en uppdaterad version som är bättre än den version de har, de uppdaterar givetvis men upptäcker en liten bugg introducerad av specialisten som B aldrig märkt av, en av de anställda på företag A ser felet direkt och rapporterar buggen med vidhängd fix (en till avlönad kodare). Konkurrenten blir givetvis glad åt buggfixen och uppdaterar.

Summa summarum:

  • A är nöjd och tjänar på mindre utgifter.
  • B är nöjd och tjänar på mindre utgifter.
  • Specialisten fick betalt och är nöjd.
  • Den anställde hos A fick givetvis sin lön och är också nöjd.
  • De som driver programprojektet är givetvis också glada för att ha fått hjälp med förbättringar och buggfixande av specialisten och den anställde hos företag A.
  • Dessutom, resten av världen har nu fått en förbättrad version av programmet att ladda hem om de har behov av det, den enda som inte är glad är det företag som inte fick kränga en uppdatering till sitt icke fria program

Börjar man sedan se det i lite större sammanhang, i stil med hela länders offentliga förvaltning, administration, försvar, skolväsende m.m. så ser man snabbt snöbollseffekten.. Många avlönade programmerare blir det, även om var och en av dem bara bidrar med sin lilla del.

Den andra delen om flockbeteende kan dock vara svår att bryta. Det har sas blivit de facto standard och folk kan inget annat. Ofta beskylls alternativen för att vara svåranvända, som ursäkt för den egna ovanan. Eller att ett visst slutet format är det etablerade, där slutenheten utestänger öppna alternativ. En ond cirkel där det öppna är inkompatibelt och det slutna inte överges eftersom brukarna inte kan det öppna. Det kommersiella har också gott om skickliga försäljare som pratar väloljat till de beslutande positionerna på alla IT-avdelningar. Olika garantier och avtal som ofta gör saken väldigt bekväm för de beslutande som då kan slippa en hel del anvar, även om det är kostsamt.

Att vi kommit dit, där vi är idag, kan en liten detalj i upphovsrätten ha en stor del i. Nämligen att även exekverandet av datorkod. Att den skrivna koden faller under upphovsrätt är naturligt, det är ju ett skrivet verk i likhet med böcker, detta på samma sätt som att en avhandling om matematik är ett skrivet verk, men i avhandlingens fall utan att upphovsmannen till avhandlingen ges exklusiv beslutanderätt över läsarens användande av kunskapen.

Allt detta både kan och bör överföras till skolpolitiken också. När dagens ungar går ut skolan har den inte ens försett dem med kunskap nog att självständigt kunna utvärdera marknadens alternativ på ett initierat sätt. Somliga av dem gör karriär inom den ofria kodens doktrin och börjar arebta på diverse IT-avdelningar, därmed sluts cirkeln. För att inte tala om skolans roll och den allra mest basala kunskapen i att kunna kontrollera det produktionsmedel som datorerna allt mer blir. Under den industriella eran så insåg man vikten av att folkbilda inom det mest grundläggande industriella aspekterna. Det är inte utan orsak som grundskolans ämnen inom teknik, slöjd, kemi och fysik implementerats såsom de gjorts. Jag anser att skolan bör introducera den allra mest basala programmeringen på “hello world” nivå redan i lågstadiet. Idag sker det inte alls.

Sånt här är jätteviktigt eftersom det i grunden handlar om makten över produktionsmedlen, på exakt samma vis som i alla tidigare tids-eror, gällande den tidens produktionsmedel. Det handlar om landets välfärd, makt och position i världen. IT-användningen inom det offentliga är en mycket stor pusselbit i detta, både för att bryta mönstret och att kunskapsmässigt gynna det egna landet istället för att bekvämt slippa och istället rent av betala dyrt för fortsatt okunskap och en allt mindre makt över produktionsmedlen som sätter oss i händerna på andra och gör oss till marionetter som betalar för den egna dansen.

Det är egentigen förödande och rent av rent av hemskt, att elever som går ut lärhögskolan inte lärt sig ens de enklaste exemplen på “hello world” nivå än i denna dag, trots att ungar redan i lågstadiet borde ha börjat introduceras i det redan för 10 år sedan! Tro 17 att då inte politiker kan se igenom retoriken hos storbolagens lobbyister. Detsamma gäller i hög grad journalistiken som bidrar stort till samhällets utvreckling, normer och vägval.

Steelneck

Kommentarer

Stefan Löfstrand skrev

☠ För att inte snacka om mjukvarupatent! Se bara på de skrattretande improduktiva rättstvisterna som Facebook och Google f.n. är invecklade i…

Niklas Johannesson skrev

Utan att ta ställning i frågan.

Vad händer När B blir upprörda över att A nyttjar den förbättrade mjukvaran som B betalt en specialist för att utveckla för deras verksamhet?

Stefan Löfstrand skrev

>>Vad händer När B blir upprörda över att A nyttjar den förbättrade mjukvaran som B betalt en specialist för att utveckla för deras verksamhet?<<

-Då går B naturligtvis över till en proprietär pgm-vara som kostar skjortan för varje licensierat exemplar och som inte går att anpassa till någon speciell verksamhet. Vad annars?

Pontus skrev

Du har ett felaktigt antagande, du antar att kunderna vet vad de vill ha för mjukvara. Efter över tjugo år som utvecklare inom ett flertal branscher i olika roller med mycket kundkontakt kan jag berätta att de kunder (kund = större organisation) som vet vad de vill ha för mjukvara är mycket få, de som vet vad de vill ha ut ur mjukvaran är flera men bara marginellt och de som vet vad de vill ha ut ur mjukvaran är såpass krävande att de i princip ALLTID tjänar på att utveckla en egen inhousemjukvara då ingen som gör generella system någonsin kommer att nå upp till kraven.

De kunder som inte vet vad de vill ha gör bäst i att vända sig till en specialist som dels kan berätta vad kunden behöver och hjälpa kunden att välja ett par alternativ som kunden sen kan ställning till.

Summa summarum: Fri / öppen mjukvara för alla är en utopi som aldrig kommer att uppnås, och detta på både gott och ont.

Själv är jag varken för eller emot fri / öppen mjukvara, jag har släppt en hel del mjukvara under GPL och ett antal andra licenser men jag är helt övertygad om att de som är attraktiva kunder för majoriteten av företag idag inte kommer att välja en öppen lösning och sedan anpassa den…

Albert skrev

Jag håller med om att fri mjukvara är bättre ur ett filosofiskt perspektiv än stängd. Det är bättre att dela med sig än att varje företag på egen hand ska uppfinna hjulet på egen hand.

Men varje företag och organisation måste också ha en frihet att välja vilken licens som passar dem bäst. Därför kan man inte kräva att *alla* program ska vara öppna och fria.

Det som däremot går att kräva är att alla program som finansieras av *skattebetalare* ska vara öppna och fria. Alltså, att all mjukvara inom den offentliga sektorn ska vara öppen och fri. Det är ett mera rimligt mål som PP har en reell chans att i praktiken driva igenom, både på EU-nivå och eventuellt på nationell nivå (beroende på hur det går i nästa val).

Om PP kan få igenom FSLOSS i offentlig sektor kommer det även leda till positiva spridningseffekter på mjukvara inom näringslivet. Många företag kommer inse att det är bättre att välja ett öppet alternativ. Men det går inte att *tvinga* näringslivet att välja det ena eller det andra.

Staffan skrev

Jag håller med Albert. Valfrihet ska självklart finnas kvar för privatpersoner och företag. Skattefinansierade projekt bör vara fri mjukvara (GPL så den fortsätter vara fri). Tillägget att även (fria och) öppna standarder ska användas som t.ex. ODF för dokument.

Pontus skrev

Staffan & Albert:
Om skattefinansierad mjukvara skall vara fri, hur ska vi då hantera mjukvara som är delvis skattefinansierad?

Staffan skrev

Pontus:
Delvis skattefinansierad är fortfarande skattefinansierad och bör vara fri.

Har du något scenario när den bör vara något annat?

Pontus skrev

Staffan:
Företaget jag jobbar på har mer än 100 manår investerad i en mjukvara som till ungefär 30% betalats av landsting och kommuner, resten betalas av den privata marknaden. Vi äger mjukvaran, de 30% som kommuner och landsting betalat för består i huvudsak av kod för att sammanställa data i rapporter. Ramverk, affärslogik och så vidare är kod som vi utvecklat för egna pengar, ska vi verkligen ge våra konkurrenter på den privata marknaden tillgång till våra affärshemligheter bara för att vi även kan sälja fungerande system till ett par kommuner och landsting?

Staffan skrev

Pontus:

Enkelt: Nej.

Lite mer utförligt: Just i ditt exempel verkar det vara ganska klart uppdelat där den offentliga delen är för sammanställa rapporter och att den då är gjord med LGPL istället för GPL. Nu kan det vara väldigt specialiserad kod men ändå med en förhoppning om att det ska gå att återanvändas av den som vill.

Självklart ska kraven specifieras vid upphandlingen vid inköp om något behöver modifieras att det ska vara med fri källkod (LGPL) sen är det upp till företagen att säga ja eller nej.

På sikt att alla statliga/offentliga verk, instutioner etc kör fri mjukvara (GPL). Vi ska aldrig tvinga privata företag/personer att skänka bort allt de har men om ett projekt behöver ändringar för att kunna samverka ska det ske med LGPL och om ett projekt ska startas från grunden ska det vara med GPL.

Även krav på öppna och fria standarder ska användas. I brist på sådana får vi helt enkelt jobba på att de skapas.

Pontus skrev

Staffan huvudproblemet är att i de allra flesta affärssystem så avslöjas enormt mycket av systemet i hur man utvinner data för rapporter.

Personligen tycker jag ideen med att det allmänna ska kräva öppen källkod är bra men det ska inte lagstiftas, för jag tror att i många fall kommer aldrig öppen källkod kunna leverera det som krävs för att driva en kommun, landsting eller statlig organisation. Vi skulle t.ex. vägra leverera våran kod öppet vilket innebär att flera av landstingen skulle hamna i ett vakuum i flera år (en mjukvara av det slag vi säljer tar minst fem år för 10 programmerare att bli funktionsduglig och vi har bara två konkurrenter i norden). Öppen kod är helt enkelt inte ett alternativ, det är för mycket investeringskostnader och för svåra prylar om man inte har personal med rätt kunskap..

MOB_i_L på Twitter skrev

Jag håller med om analysen. Det var en mening som verkar ofullständig: ”Nämligen att även exekverandet av datorkod.” Man kanske dock borde ha avsnittet om programmeringskursen i lågstadiet i en separat artikel. En annan anledning till att källkod som utvecklas inom stat och kommun blir sluten är att cheferna tjänar på detta eftersom de kan tjäna pengar på att sälja den till andra organisationer och då öka sin lön. Så var t.ex. fallet när jag jobbade på Lunds Universitets Bibliotek. Jag publicerade dock det jag skrivit som öppen källkod i en artikel med stöd av en regel om att man fick publicera artiklar & YGL för statligt anställda: ”My Course Library – A Complete Rewrite”. Det blev dock ej populärt bland cheferna och jag har inte fått något jobb där sedan dess (förutom timanställning på en helt annan institution).

MOB_i_L på Twitter skrev

Jag är ju en mycket kompetent, arbetslös programutvecklare och jag kan ju utveckla system med GPL-licensen åt landstinget som ersätter Pontus’ företags system om jag bara får specifikationerna och får föra en diskussion med Landstingen (via ett chattsystem) om vad de vill ha.

Staffan skrev

Pontus:

”för jag tror att i många fall kommer aldrig öppen källkod kunna leverera det som krävs för att driva en kommun, landsting eller statlig organisation.”

Självklart kan öppen källkod göra det. Vi måste bara börja någonstans. Så länge vi aldrig ens försöker har du klart rätt. Det kommer ta tid men förr eller senare går det.

steelneck skrev

@Pontus: Om förslaget påverkar ert företag, så påverkar det även era konkurrenter. Klarar de konkurrensen bättre än vad ni gör nya förutsättningar?

Du luktar helt enkelt unken protektionism i min näsa.

Mikael "MMN-o" Nordfeldth skrev

Hear, hear! Fri mjukvara åt folket!

Allt det där tjafset om att konkurrensen inte går att bibehålla eller vad nu folk pratar om gällande företag A och B är exakt lika bakåtsträvande som påståenden om att fildelning skulle döda en hel kulturindustri.

2000-talet, here we come!

johan skrev

Om man bortser från det uppenbara att många saker aldrig skulle se världens ljus om det inte går att tjäna pengar på det så kommer vi till argumenten nedan

Det svåra med oppen mjukvara är att ”ingen” står bakom, det finns ingen support och inga garantier

Säkerhetsmässigt är det också svårigheter, algoritmer för kryptering skulle vara helt öppna och då blir det altså helt meningslöst att kryptera data detta innebär en enorm minskning av den personliga integriteten

Om denna sajtens källkod publicerades så skulle det inte ta många minuter förrän någon tagit över databasen, om inte annat för att databas-servrerns inloggningsuppgifter står direkt utskriven i koden (det kan visserligen vara en lokal adress och servern inte ligger ut mot internet, men det finns en poäng med det jag skriver).

Staffan skrev

Johan:

Även om många saker aldrig skulle se dagens ljus om det inte går att tjäna pengar på dem så är det långt ifrån alla. Det finns hur mycket som helst som är skapat/beräknat bara för att det har varit i någon person intresse för att t.ex. se om det går eller för att det är kul.

Mycket av den fria mjukvaran kommer för att någon ville lära sig och göra det själv.

Här blir det att staten står bakom projektet och ger tillbaka till folket. Vem som helst som vill använda eller lära sig kan göra det. Sen kan det supportas internt eller externt, precis som idag.

Hur mycket ger t.ex. Microsoft support (eller garanti, läs en EULA) idag? Det brukar gå genom externa företag där också som t.ex. Logica, Volvo IT eller någon annan aktör. Skillnaden kanske blir istället att det t.ex. blir Red Hat, Suse eller Canonical som tar åt sig uppgiften.

Hur menar du att säkerheten skulle minska för att källkoden är öppen och fri? Så PGP eller OpenSSL är totalt värdelösa för att det är öppen källkod? De krypteringsalgoritmer som används idag är öppna och kan hittas på t.ex. wikipedia och det är samma algoritmer oavsett om det är öppen eller stängd mjukvara.

Källkoden för denna sidan kan du hitta på http://wordpress.org/ och jag har ingen aning om varför lösenorden skulle stå direkt i källkoden. Möjligtvis i en inställnings-fil sparad på servern men det är knappast direkt i källkoden.

Calandrella skrev

Med Alberts förbehåll anser jag förslaget vara mycket gott.

Vad gäller utbildning i grundskolan håller jag helt med om det. Mer datorkunskap! Den datorkunskap jag själv fick var tämligen skrattretande enkel, och jag tror inte folk tyckte det var svårt, utan folk var segare än mig för att de inte orkade anstränga sig. Och dagens uppväxande generation kan *definitivt* mer om datorer än vad min generation (född 1995) kunde i deras ålder. Så då måste utbildningen anpassas till dem. Det behöver inte vara mycket lektionstid vi talar om – en lektion i veckan i ett läsår borde räcka för att ge en liten inblick i programmering, iaf, så att folk har ett hum om hur det funkar.

Lämna ett svar till Staffan Avbryt svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Följande HTML-taggar och attribut är tillåtna: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>