[an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive] (none)
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive] (none)
[an error occurred while processing this directive]
[an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive]
Sorry for det sene svar, men jeg bemærkede ikke at der var hul i
news forbindelsen.
Erik Lange wrote:
> Software er programmer der gemmer den viden brugeren i forvejen har (eller
> kan ha' i hovedet), på en måde så denne viden er tilgængelig for fysisk
> maskineri, der kan udføre fysike manipulationer ifølge denne viden !
Det syntes mig en lidt farlig forklaring, måske er det pedagogisk,
men den er også farlig fordi patenter jo er 'intellektuelle rettigheder'
-- monopoler på viden. Og mange politikere argumentere at i en videns
økonomi er det vigtigt at beskytte denne viden for at forblive
konkurrencedygtige.
Se Annes indlæg om Bolkestein tale:
The Community patent will have a key role in stimulating research
and innovation in the Union and in boosting European competitiveness.
Det vigtige er at software er materializationer af løsninger
til abstrakte problemer, dette gør dog ikke software teknisk, og
derfor patenterbart.
> Software er altså fysisk manifesteret "viden om" et givent emne - f.eks.
> hvordan man skal strikke en trøje, manifesteret på et hulkort passende til
> en strikkemaskine fra 60'erne ;-)
Det er et dybt spørgsmål..
Computeren er en maskine der definere en logisk kontekst, der er
identisk med Boolsk logik. Vi har designet den så den man AND, OR,
XOR, ADD, JMP, CMP ... og mange andre instruktioner.
En EDB maskine kunne definere en 'ulogik' der ikke stemmer med Boolsk
logik, hvis dette er nødventigt for databehandlingen. Fx. kan et
program der udregner en funktion/slår op i en tabel erstattes med
et neuralt net der har lært den samme funktion. Nettet kan så også
give svar på funktionsværdier, der ikke er indlært, dvs. en
generalisering uden for boolsk logik.
Neurale net bruges fx. til at forudsige fedt procenten af grise, så
istedet for at implementere nettet på en boolsk computer, kunne man
designe et hardware kredsløb der er et neuralt net, og denne special
EDB maskine/computer ville kunne implementere en grisefedtprocentslogik. ;*)
Alternativt kvantecomputere, der implementere en kvantelogik (hvor
fx. alle operationer er reversible booleanske operationer (dette er et
krav for at de kan fungere)), svaret af kvantecomputeren har
usikkerheder fordi der er stokastiske effekter involverede i
beregningen. Man må derfor gentage udregningen flere gange for
at reducere usikkerheden af løsningen indtil den når et acceptabelt
niveau.
Vi har valgt at bygge computere med Boolsk logik, fordi det
syntes mest praktisk til de fleste opgaver. Til cracking af
enkrypteret data vil kvantecomputere være uhyre bedrer end
enhver konventionel computer, jeg vil tro at efterretningsvæsnerne
er stor sponsorere for projekter der forsøger at realisere
kvantecomputere.
Mange abstrakte logiske problemer kan løses ved konstruktioner
inden for boolsk logik, disse konstruktioner er sekvenser af
operationer, der udføres for at løse et abstrakt logisk problem,
og få et svar ud i den anden ende. En anden måde at tænke på
dette er at sekvenserne af operationer kan bruges til at omforme
informationen i inddata til uddata - det svar vi ønsker.
Software er en sådan konstruktion af operationer, der kan udføres
på en computer i konteksten af den boolske logik.
Computeren er ikke designet til at løse et abstrakte logisk problemer,
men enhver specifik instans af problemet kan den let løse, hvis vi på
forhånd har fortalt den hvilke instruktioner, der skal udføres, for at
løse problemet.
Fx. computeren har svært ved at løse en generel ligning analytisk, hvis
man derimod indtaster værdier i ligningen, så der kun er en variabel
tilbage, så kan den meget let løses for ethvert sæt af værdier men
ønsker at bruge.
Fx. hvis man har N linære ligninger med N ubekendte, så kan dette
abstrakte problem let løses matematisk Ax=y => x=(A^-1)ym det er meget
sjovt men ikke hvis man gerne vil løse et praktisk problem. Det
tilsvarende praktiske problem er dog også tvivielt, men uhyre kedeligt
at løse manuelt fordi det tager lang tid og mange udregninger, men
den abstrakte løsning kan formuleres som en algoritme der kan
implementeres på en computer, der automatisere processen.
Det er derfor vigtigt at skelne mellem abstrakte problemer og deres
specifikke praktiske instanser. Har man løst en abstrakt logisk problem
ved at konstruere et program, der løser det, så har man også automatisk
løst alle faktuelle instanser af dette problem. Kan dit program lave 7
tabellen så kan det også lave 77 tabellen.
Patenter på software er monopoler på at bruge computere på at løse
specifikke eller klasser af abstrakte problemer. Problemer der fx.
kan være matematiske, have relation til forretningsmetoder, e-handel,
enkryption af data osv. Da der ikke er nogen der gider at LZW
komprimere en billedfil i hånden, så er det defakto et patent på
løsningen af et abstrakt problem.
Beskrivelsen af konstruktionen af operationer er information, og kræver
derfor et medium, ligesom alle andre former for information, men selve
operationen/softwaren er uafhængig af hvad for fysisk medium, den er
gemt på og hvilken form informationen har. Der er ikke nogen fundamental
forskel på binær og kildekode de er begge en beskrivelse af de
instruktioner, der skal udføres for at løse et problem.
Den ene er bare formuleret i et sprog der er menneskevenligt, og den anden
i et sprog der er computer venligt. Forskellen er semantik, når vi læser et
program så bliver vi hjulpet i vores forståelse af programmet logiske
funktion når variable og funktioner har navne der reflektere den mening
vi giver deres funktion. Det vi kunne opfatte som meningen med programmet
i konteksten af det problem det løser, computeren kender ikke noget til
mening, men udfører slavisk instruktioner og omformer information.
Den fysiske virkelighed kan modelleres igennem boolsk logik, fx. ved at
numerisk løse Newtons anden lov, osv.osv. Det gør computeren istand til
at løse logiske problemer, som i vores virkelighed er fysiske problemer.
Dette er i virkeligheden en afbildning eller model af fysik i form af
logiske boolske operationer. Computeren ved ikke dette, den regner bare
med nogle tal. Der er dog en forskel mellem logiske og fysiske løsninger
til fysiske problemer.
Laver man et program der kontrollere processen at skære stål i bestemte
former (eksemplet stammer fra en faktisk patentsag i den tyske
forbundsdomstol), så er denne løsning et logisk problem, det er ikke
anderledes end problemet hvordan man skærer stof eller papir ud i
bestemte former. Har man løst det abstrakte logiske problem, så har
man automatisk løst enhver fysisk instans af problemet.
Derimod er indeholdet af kul i stål et fysisk problem, der ikke kan løses
logisk med software, men som kræver manipulation med naturlovene for at
løse problemet, fx. ved at man bobler ilt igennem det flydende jern for at
reducere kul til kuldioxid. Hvilket betyder at sprødt og stift støbejern
bliver til stærkt og elastisk stål ved en fysisk/kemisk process.
LZW, MP3 og digital-rights er alle logiske og abstrakte problemer.
Ingen af dem er fysiske problemer, hvis løsning kræver manipulation
af naturlove. Alligevel er kan de patenteres, fordi de har praktiske
industrielle anvendelsesmuligheder. Det er at anvende materiel-patentlov
til et immaterielt/abstrakt/logisk problem.
> Software er altså fysisk manifesteret "viden om" et givent emne - f.eks.
> hvordan man skal strikke en trøje, manifesteret på et hulkort passende til
> en strikkemaskine fra 60'erne ;-)
> Selve det fysike hulkort kan naturligvis mønsterbeskyttes - men den viden
> der skal til for at strikke en trøje, den vil altid ha' eksisteret før
> hulkortet, og derfor vil selve den viden der nedfældes fysik praktisk
> taget aldrig ha' opfinderhøjde på det tidspunkt hvor den nedfældes ! :-)
Software er instruktioner for at løse et abstrakt problem. Software
er information og derfor altid manifesteret fysisk på en eller anden
måde, som er total uafhængig af softwarens funktion. En teknisk/fysisk
manifestation gør ikke softwaren teknisk, det at computeren er en
teknisk maskine gør ikke softwaren teknisk.
Vil du bage et brød kræver det en ovn, men du kan sagtens læse
og forstå opskriften (det abstrakte problem at producere et brødd
uden at have en ovn, og får du opskriften via et e-mail så er
opskriften ikke af mere teknisk natur end hvis nogen fortæller dig
den. ;*)
Produktet - trøjen - kan mønster beskyttes. Du kan ikke mønsterbeskytte
softwaren eller det medium den er på.
--
Hvilke softwarepatenter har du krænket idag?
se http://www.softwarepatenter.dk
Mvh. Carsten Svaneborg
Last modified
2005-08-10, 20:15 CEST
[an error occurred while processing this directive] This page is maintained by
[an error occurred while processing this directive]MHonArc
[an error occurred while processing this directive] #
[an error occurred while processing this directive] *