Konstig artikel på IDG

I fredags morse läste jag en artikel på IDG av Lars Danielsson som gjorde mig (och många andra tydligen) irriterad. Personligen blev jag lite förvånad då Danielsson skrivit en hel del bra artiklar (och även mindre bra) och brukar vara bättre än i denna artikel på att kolla sina fakta.

Jag vill inte lägga mig i debatten på IDG då det alltid verkar spåra ur där med jag har valt att bemöta alla delar i artikeln då jag tycker att den är väldigt vinklad. Egentligen är den för vinklad för att bemöta den, men jag känner igen argumenten i den och de är vanliga. Tyvärr bygger de på rena felaktigheter och missförstånd. Danielsson skriver:

Företag som vill satsa på öppen källkod bör först gå igenom en snårskog av juridik. Många öppna program kan till exempel smitta stängda program, som också måste göras öppna.

Ja, det kan stämma i vissa fall. Men det förutsätter att man vidareutvecklar programmen vidare genom att till exempel förändra dem eller använda dem tillsammans med annan kod som kan vara antingen inköpt eller egenutvecklad. Men inte heller det räcker. Man måste dessutom distribuera koden till andra för att det skall kunna bli några problem med Licenser, i alla fall om vi talar om de vanliga fria licenserna. Med icke-fria licenser får man mycket sällan ändra eller distribuera ett program överhuvudtaget. Använder man bara progammen så som de flesta gör så behöver man inte bry sig om detta alls.

Så detta är en möjlighet man får med fri programvara som man nästan aldrig får med icke-fri programvara som man kan välja att använda eller inte. Danielsson fortsätter:

Skillnader mellan licenstyper gör det svårare att få öppna program att fungera tillsammans.

Detta är helt felaktigt. Licenserna har inget med det att göra. Den frågeställning författaren söker uppstår bara om man tar två eller flera program och gör om dem till en helhet, det vill säga blandar deras kod.

Öppna och fria program kan vara licensierade med ett stort antal olika licenser.

Ja, det är helt sant. Men ett och samma program har sällan fler licenser än tre och man kan i dessa fall välja under vilken av dem man vill använda programmet. Även här rör det sig alltså om större frihet som man kan använda om man vill men inget säger att man måste. Artikeln fortsätter:

I en förteckning på organisationen Free Software Foundations, FSF, hemsida nämns 36 licenser som är kompatibla med organisationens licens general public license, gpl.

Det finns också en förteckning på 28 licenser som inte är kompatibla med gpl.

Jag har inte kollat dessa siffror men jag känner så klart till listan och det stämmer säkert. Men sedan blir det helt galet:

Med kompatibel menas att det är tillåtet att distribuera och använda program tillsammans.

Detta stämmer inte alls. Men kompatibel menas att man kan ta programmen och av dem skapa ett helt nytt program och släppa det under GPL. Denna lista har inget som helst att göra med användande och distribution. Danielsson fortsätter med slutsatsen:

Att det inte är tillåtet i flera fall minskar spridningen av öppna program.

Detta är nonsens och har att göra med det felaktiga antagandet ovan. Sedan belyser författaren detta felaktiga antagande med ett citat från Mats Östling, it-strateg på Sveriges Kommuner och Landsting.

– Att till exempel använda integrationskomponenter som är licensierade under gpl är inte möjligt om inte alla komponenter som ska integreras har släppts under gpl-kompatibla licenser, säger Mats Östling, it-strateg på Sveriges Kommuner och Landsting.

Mats Östling har jag stort förtroende för men citatet här hamnar lite snett. Om integrationskomponenterna är fristående program är det inga problem. Om de däremot måste programmeras in i programmen så kan det problem som Mats påpekar uppstå men det är specialfall. Danielsson fortsätter med att ”angripa” copyleft.

Ett annat stort problem är att många licenser, som gpl, innehåller en ”smittoeffekt” som kallas för copyleft. Det innebär att det bara är tillåtet att ändra i ett program så länge som det ändrade programmet släpps under samma licens.

Detta är helt sant. Det är ett skydd som används (och som jag personligen tycker är väldigt viktigt) för att fri programvara skall förbli fri. Om upphovsmannen av en programvara släpper den fri med copyleftskydd gör hon det för att programmet skall förbli fritt och inte kunna göras om till ett icke-fritt program. Om jag släpper min kod under GPL så får du gärna ändra den, men då vill jag att dina ändringar skall vara under GPL också.

Här är det också viktigt att påpeka att man inte måste ändra programmet, det är en möjlighet man har om man vill och följer reglerna. En icke-fri produkt har ofta inte denna möjlighet överhuvudtaget.

Ett företag som vill kopiera in kod från ett öppet program till ett eget stängt program kan inte göra det, så länge som företaget önskar att den stängda koden ska förbli stängd.

Detta är sant, men sedan blir det tokigt igen.

Det finns två möjliga följder av detta.

Den ena är att låta bli att använda kod som rent tekniskt skulle kunna fungera utmärkt.

Den andra följden är att söka tekniska lösningar som inte är optimala, för att komma runt licensproblemen.

Detta är bara två möjliga lösningar av flera. Författaren missar möjligheten att köpa koden av upphovsmannen under en annan licens. Så jobbar till exempel MySQL. Än en gång kan man jämföra med motsvarande situation om det hade varit en icke-fri produkt. Sedan fortsätter artikeln med ett citat från Agne Lindberg, jurist på advokatbyrån Delphi & Co.

– Många utvecklingsföretag vill använda öppna program, men kan inte göra det på grund av copyleft, säger Agne Lindberg, jurist på advokatbyrån Delphi & Co, som arbetar med rådgivning om öppna och fria program.

Detta stämmer säkert. Företagen vill använda andras kod gratis men vill inte dela med sig av sin egen kod. Precis detta är det som GPL vill förhindra. Undrar vad de säger när andra vill använda deras kod i sina produkter utan att betala eller följa de villkor de ställer upp?

Kunder som vill satsa på öppna program har två alternativ för att undvika juridiska problem med licenser.

De kan antingen kontrollera licenserna själva eller lita på att en programleverantör gör det.

Här är det nog inte Licenser som resonemanget gäller utan snarare går vi in på så kallade mjukvarupatent som är en helt annan (mycket trixigare) fråga. En licens är ett avtal som man ingår med någon, du måste alltid kolla detta avtal. Danielsson fortsätter med ett citat för att belysa även detta.

Hans Lyttkens, it-chef på Gotlands kommun, berättar till exempel att kommunen köpt Suse Linux från Novell och därför anser att den inte behöver kontrollera licenser på egen hand.

Hans verkar ha missat något. Jag skulle tro att det fått någon typ av licens från Novell som de måste hålla koll på. Som användare av fri programvara skulle de i alla fall inte behöva bry sig om några av de ”problem” som artikeln försöker påvisa.

Artikeln avslutas med ett citat av Jonas Bosson, FFII. Jonas har jag stort förtroende för och han påpekar mycket riktigt att det inte bara är fri programvara som har problem med licenser:

– Alla typer av licenser skapar problem. Men det är bra med diskussionen, den visar att många börjar förstå vad gpl är, säger Jonas Bosson.

Det Jonas säger är helt korrekt och jag vill sluta detta inlägg i samma anda. Licenser behöver man för att bestämma vad som får göras med olika program (eller andra produkter). Fria licenser ger dig mer frihet och möjligheter än vad merparten av de icke-fria licenserna gör. Om du väljer att nyttje dessa friheter är helt upp till dig men de finns där om du behöver dem. Jämför man med icke-fria licenser så är de fria licenserna både enkla att förstå och att följa.

6 reaktioner på ”Konstig artikel på IDG”

  1. »Man måste dessutom distribuera koden till andra för att det skall kunna bli några problem med Licenser, i alla fall om vi talar om de vanliga fria licenserna.«

    Det finns undantag, till exempel AGPL, som utformats särskilt för att källkoden ska publiceras även om användaren enbart interagerar med programmet genom kanske en knapp på en hemsida. Allt prat om att det publiceringskravet skulle hamna i vanliga GPLv3 har nog ställt till med en del förvirring. Jag trodde till exempel fortfarande att den var där, men fick tji när jag kollade nyss.

    Vissa licenser skapar _mycket_ få problem, exempelvis ISC och BSD-liknande saker. Jag tror de utgör ett minst lika vettigt slagträ när man dödar myter om fria licenser, även om alla inte anser dem vara lika fria som GPL.

  2. Du skrev: ”Om integrationskomponenterna är fristående program är det inga problem. Om de däremot måste programmeras in i programmen så kan det problem som Mats påpekar uppstå men det är specialfall.”

    Kruxet är ju att det inte är helt självklart hur GPL-program förhåller sig till detta.

    Från GPL FAQ:n:
    ”If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

    By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.”

    Jämför med vad som står på MySQLs hemsida:
    ”When your application is not licensed under either the GPL-compatible Free Software License as defined by the Free Software Foundation or approved by OSI, and you intend to or you may distribute MySQL software, you must first obtain a commercial license to the MySQL product.”

    Två helt olika budskap, och GPL verkar inte ge något tydligt svar.

  3. Till Jesper:
    Det stämmer att AGPL adresserar det så kallade ”ASP-hålet” och att många tror att det finns i standard GPLv3. Men min ansats stämmer ändå. Använder du programmet själv eller inom din egen organisation så är det inga problem.

    Vad gäller olika licensformer så håller jag med om att licenser utan copyleft ställer till minst problem i de led som vidareutvecklar och distribuerar programmen. Jag tillhör dock dem som tycker att copyleft är ett bra skydd som ger samma friheter till alla.

    Jag, som de flesta andra, erkänner dock de licenser du nämner som fullgoda licenser för fri programvara eftersom de ger användaren friheten att använda, studera, sprida och förbättra programmet.

  4. Till Martin:
    Innan jag svarar vill jag bara påpeka att dessa probelm uppstår bara vid distribution av programvara. Använder man programmet intern så är det inga problem.

    Men vid distribution av programvara (som de flesta inte gör) så uppstår det problem som Martin påpekar. GPL är inte alls otydlig på den punkten. Otydligheten ligger i att definiera om det är en vidareutvecklad produkt eller två separata. Dessvärre finns det inga klara linjer utan det måste i så fall prövas från fall till fall. Den som kan vidta rättsliga åtgärder i det fallet är den som har upphovsrätten till det ursprungliga programmet.

    /Marcus

Kommentarer inaktiverade.