Problemet med mjukvarupatent

February 3rd, 2009 by mind

Vad är ett patent?

Ett patent är i princip ett monopol på en idé. Rätten att hindra andra från att använda denna idé utan patentinnehavarens tillstånd. Tanken med patent var att någon som lägger ned enorma resurser på att utveckla ett nytt system av något slag, en ny innovation, ska kunna få sina satsade pengar tillbaka.

Detta ska alltså gynna samhällsutvecklingen i stort eftersom denna person eller företag alltså annars hade avstått från att satsa de här enorma resurserna. Det är alltså samhällsnyttan man ser till, inte individens eller företaget. Så var tanken.

När förlorar patent sin mening?

När någon får patent på något de ändå skulle ha genomfört, oavsett om de fått patent eller ej, eller när företaget eller personen tjänat tillbaka sina satsade resurser gott och väl trots att andra bryter mot patentet. När företag eller personer får patent på saker som de egentligen inte satsat någon energi på att utveckla, exempelvis när de får patent på något som redan är spritt och använt som de själva bara var först att patentera, inte utveckla.

Åter igen, det är samhällets gagn som är ursprungstanken med patent. Inte att det är synd om någon person eller företag.

Mjukvarupatent då?

På senare år har tanken om att ta patent på mjukvara varit på frammarsch. En av de större problemen med detta är att i princip all mjukvaruutveckling innefattar små definierade problem som blivit lösta gång på gång av olika programmerare runt om i världen, dessa fogas sedan samman i en helhet i olika nivåer. Alla program i hela världen har lösningarna på den lägsta nivån gemensamt, i princip alla program har lösningarna på en lite högre nivå gemensamt, och så vidare. Man måste i princip komma upp på den allra högsta nivån, det färdiga programmet, för att hitta något som är unikt och inte ens då brukar det vara helt unikt, det finns alltid alternativ.

Det är ytterst sällan som en unik lösning på ett problem uppstår på lägre nivå, och nästan uteslutande har lösningen på det problemet kommit fram oavsett om de hade fått patent på den lösningen eller ej. Det vanligaste har historiskt sett varit att ta patent på redan existerande och kända lösningar som andra kommit på. Patentinnehavarens satsning av resurser har alltså varit efterforskning av vad de kan ta patent på, inte att ta fram en ny teknologi.

Vad är problemet?

Problemet är att om någon tar patent på en lösning på låg nivå så är det i princip alltid på något som:
1. Är en uppenbar lösning på problemet, vem som helst som hade angripit problemet hade kommit på samma lösning.
2. Problemet hade blivit löst ändå, oavsett incitament om patent.
3. Problemet kan ingå i princip alla datorprogram i hela världen och kommer därför hindra samhällsutvecklingen i en oproportionerlig grad jämfört med vad patentinnehavaren satsat. (eller inte satsat).
4. Alternativa lösningar till samma problem i den materiella världen kan innebära att man får en mindre effektiv process med ett visst antal procent. En alternativ lösning inom mjukvara kan innebära en mindre effektiv process med faktor några miljarder gånger, i praktiken att det inte finns någon alternativ lösning.

Exempel och liknelser.

Jämför med matematiken. Tänk att någon är först med att ta patent på 1+1. Hädanefter måste alla skriva något annat istället, kanske byta ut 1+1 med 3-1. Sedan kanske någon tar patent på 3-1, så håller det på. Det finns en bra anledning att man inte får patent på matematiska formler (så vitt jag vet). Jag tycker att mjukvara har stora likheter med matematik på detta sätt.

Jämför med att måla en tavla. Någon tar patent på att dra penseln nedåt. Hädanefter måste alla måla genom att dra penseln uppåt och åt sidorna, men aldrig nedåt. Sedan tar någon patent på att dra penseln uppåt och åt sidorna. Kanske börjar folk måla med att dutta dit färgen istället. Snart är vi i en situation där målare måste kasta färgen på duken under ena benet baklänges iförd ögonbindel för att inte bryta mot ett patent.

Tänk er följande scenario: Ett företag forskar på läkemedel, det finns en metod att sortera data om proteiner som går att använda. Problemet ingick från början i en hantering av sensordata från ett styrprogram till en missil. Företaget får inte använda den här lösningen och måste istället använda en ineffektiv metod som tar 2 miljoner gånger längre tid. Resultatet är att folk dör i onödan men vapenföretaget vägrar ge med sig. Här är inte användningsområdet ens i närheten av att hota patentinnehavarens affärsområde, så är det ofta i mjukvaruvärlden.

Scenario 2: En tonåring sitter på sitt rum och skriver ett program som han sedan släpper fritt för alla att använda. Vad han inte vet om är att hans program bryter mot 732 st patent. Inte för att han “stulit” någon idé, inte av illvilja, utan helt enkelt att alla delproblem patenterats av stora bolag och att skriva ett program, vilket som helst, kommer bryta mot en mängd patent.

Frågeställningar.

Gör mjukvarupatent mer sammhällsnytta än vad de gör skada? Jag anser inte det.

Särskilt inte nu när det ska införas skarpa straff mot patentintrång. Dessa kan alltså ge tonåringen i scenario 2 här ovan fängelse. Vad detta innebär i praktiken är att endast stora företag har den praktiska möjligheten att skriva program över huvud taget. Tänk Microsoft, Apple, Sun, osv. De har stora patentportföljer och korslicensierar mot varandra för att undvika patentstrider. Ökar detta samhällsnyttan? Givetvis inte, det är rena döden för öppen mjukvara.

Det finns ingen tonåring eller privatperson i världen som har resurser att efterforska alla världens mjukvarupatent för att undvika att bryta mot dem.

Nästa fråga man ställer sig är ju givetvis, borde patent ha utfärdats om det är så lätt att komma på samma lösning att alla kommer göra det av bara farten? Givetvis borde de inte ha utfärdats, tyvärr är det så verkligheten ser ut. Vi färdas mot ett övervakningssamhälle med repressiva lagar där helheten av alla lagar gör att det straffar sig att vara en kreativ och social person. Ett slags fascistsamhälle on acid.


7 Responses to “Problemet med mjukvarupatent”

Feed for this Entry Trackback Address
  1. 1

    Jonas Says

    Bra skrivet! Jag satt faktiskt häromdagen och filosoferade för mig själv om mjukvarupatent och tänkte skriva ihop något, men nu slipper jag ju ;)
    Frågan har svalnat av lite sedan 2004-ish när det var som hetast i EU.

  2. 2

    Hemlis Says

    Ett patent är i princip ett monopol på en idé.

    Nope, det där är en mycket spridd missuppfattning som gör att folk har svårt att värja sig för slaskargument för mjukvarupatent. Samma groda som när folk tror att man kan ha upphovsrätt på en idé, vilket man givetvis inte kan ha eftersom folk då skulle kunna ha upphovsrätt på ännu ej skrivna böcker, typ. “bästsäljaren” jag drömmer om att skriva nån gång.. Ett patent är ett monopol på att industriellt realisera ett tekniskt framsteg yrkesmässigt. Tro mig, jag har inte en teknisk industri i sängen när jag programmerar på min laptop! Det tekniska framsteget (idén) är grunden, men det är det yrkesmässigt industriella tillgodogörandet man får monopol på, inte idén. Allt annat skulle vara ett förbud att tänka.

    Patentlagen (vilken definierar vad ett patent är – utan lag inga patent) formulerar det så här:

    en uppfinning, som kan tillgodogöras industriellt .. och därigenom få ensamrätt att yrkesmässigt utnyttja uppfinningen

    Som en uppfinning anses aldrig vad som enbart är
    1. en upptäckt, vetenskaplig teori eller matematisk metod,
    2. en konstnärlig skapelse,
    3. en plan, regel eller metod för intellektuell verksamhet, för spel eller för affärsverksamhet eller ett datorprogram, eller
    4. en presentation av information. Lag (2007:516).

    Jag tycker att mjukvara har stora likheter med matematik på detta sätt

    Inte bara likheter. Ett fullt utvecklat programspåk är en turingmaskin, dvs. något som kan användas för att beräkna allt beräkningsbart. Tro inte att det behövs mer avancerade maskiner för att beräkna mer komplexa beräkningar, de räcker med att vara turingkomplett för att beräkna allt beräkningsbart. Det vi kallar dator är en universell turingmaskin, alltså fysisk implementation av en turingmaskin, en universell turingmaskin kan då givetvis implementera alla kända turingmaskiner eftersom den i sig är en turingmaskin. Om det nu snurrar i huvudet, betänk då att en dator kan emuleras som ett program i en annan dator. Synd bara att så få förstått det trots att nu gått 73 år sedan detta blev känt.. 1936 lade den brittiske matematikern Alan Turing fram sin teori, och kort därefter byggdes den första datorn som än i dag givetvis är en dator eftersom redan den kunde beräkna allt beräkningsbart (hastigheten i beräkningen och minnesbehovet är en helt annan femma). It is a computer, it computes.

    Allt en dator kan göra är redan känt eller uppenbart på samma sätt som att svaret på en matematisk formel är det, och det har varit känt sedan 1936! Betänk nu att det är mjukvarupatent som avses, inte ny hårdvara som ger datorn nya förmågor. I programvaran är det samma gamla turingmaskin, som varit känd att kunna beräkna allt beräkningsbart i drygt 70 år.

    Problemet med mjukvarupatent är att de inkräktar på upphovsmäns legitima intressen såsom att exekvera (låta datorn utföra beräkningar), publicera, behandla och distribuera information, och de hämmar utvecklingen.

  3. 3

    Hemlis Says

    Visstja..

    .. de hämmar utvecklingen, på samma sätt som litteraturen skulle hämmas om man kunde ha upphovsrätt på ideer. Ja just det, mjukvarupatent kan många gånger beskrivas som just “idépatent”.

  4. 4

    Mind Says

    Hemlis: Jag kanske borde ha skrivit “Ett mjukvaru patent är i princip ett monopol på en idé” ;)

    Men jag tror budskapet gick fram. Jag vet allt du berättade om turingmaskiner, tyckte det kändes lite för tungrott för att dra igenom på min fikarast och det skulle förstöra rytmen i texten, men du har ju givetvis rätt i det du skriver, bra skrivet btw =)

  5. 5

    Tor Says

    Har någon här någonsin mött en programmerare som stödjer mjukvarupatent? Jag har det inte.

    Om den bilden stämmer så borde det ju tala sitt tydliga språk.

  6. 6

    Mind Says

    Jag har aldrig träffat nån annan programmerare som är för mjukvarupatent nej, jag tror det mest är stora företag som kan vara för det.

  1. 1

    Mjukvarupatent « Soundness in an unsound world

    [...] februari 2009 at 11.35 (Patent) (Mjukvarupatent, Patent) Här är ett intressant och läsvärt blogginlägg om [...]

Leave a Reply

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>