Information: Software-Patente unter der Lupe [3.3]
Artikel 5: Form des Patentanspruchs [1]
(1) Die Mitgliedstaaten stellen sicher, dass auf eine computerimplementierte Erfindung entweder
ein Erzeugnisanspruch erhoben werden kann, wenn es sich um einen programmierten Computer, ein
programmiertes Computernetz oder eine sonstige programmierte Vorrichtung handelt, oder aber ein
Verfahrensanspruch, wenn es sich um ein Verfahren handelt, das von einem Computer, einem Computernetz
oder einer sonstigen Vorrichtung durch Ausführung von Software verwirklicht wird.
(2) Ein Patentanspruch auf ein Computerprogramm, sei es auf das Programm allein oder auf ein auf
einem Datenträger vorliegendes Programm, ist nur zulässig, insoweit das Programm, wenn es auf einem
Computer, auf einem programmierten Computernetz oder einer sonstigen programmierbaren Vorrichtung
installiert und ausgeführt wird, einen in derselben Patentanmeldung erhobenen Erzeugnis- oder
Verfahrensanspruch gemäß Absatz 1 begründet.
Der nachfolgende Text ist noch nicht vollkommen fertig gestellt.
Dennoch sei der erste Ansatz hier schon mal veröffentlicht.
Besteht eine Erfindung aus mehreren Objekten (z.B. Gegenstände oder Tätigkeiten),
dann kann die Realisierung dieser Objekte beliebig variiert werden. Eine äquivalente
Verletzung liegt immer dann vor, sobald sich wieder dasselbe Ergebnis ergibt.
Ist ein Teilobjekt einer Erfindung ein Programm, dann ergibt sich eine äquivalente
Verletzung, wenn man ein beliebiges anderes Programm benutzt, das dieselbe Funktion
auch erfüllen kann.
Es gibt viele Programme, die jeweils unterschiedliche "computerimplementierte
Erfindungen" begründen können. In der Menge all ihrer äquivalenten Realisierungen
finden sich auch gemeinsame Formen, die für alle diese Erfindungen im Quelltext
vollkommen identisch sind und das obwohl sie als unterschiedliche Erfindungen
gelten.
Noch allgemeiner:
Zwei beliebige Programme P1 und P2 stehen immer in einer Transformationsbeziehung
zueinander, so dass mindestens eines in das andere umwandelbar ist.
Beispielsweise gilt für den Fall P1 = f(P2):
- a) P1 besitzt eine äquivalente Realisierung P1'
- b) P2 besitzt eine äquivalente Realisierung P2'
- c) P1' enthält das Programm P2' komplett
- d) P1' benutzt das Programm P2' immer vollständig für seine eigene Berechnung
- e) P1' berechnet am Ende dasselbe Ergebnis wie P1
Da man obige Aussage mathematisch beweisen kann, liegt immer eine extrem dichte
Patentverletzungssituation vor, sobald man Patentansprüche auf Programme gewährt.
Daher ist das Urheberrecht für den Schutz von Programmen wesentlich günstiger!
Beispiel
Programm P1: Programm P2:
"Addition zweier Zahlen" "Ausgabe einer Meldung"
Definition: Definition:
func P1 ( zahl1, zahl2 : number ) func P2 ( msg : string )
{ {
x := zahl1 + zahl2 ; print ( msg ) ;
} }
Anwendung: Anwendung:
x := 0 ; P2 ( 'TEST' ) ;
P1 ( 1413808128, 21332 ) ;
Ergebnis: Ergebnis:
Variable x hat den Wert 1413829460. Bildschirm zeigt 'TEST' an.
-----------------------------------------------------------------------------------------
Programm P1': Programm P2':
(äquivalentes Programm zu P1) (äquivalentes Programm zu P2)
Definition: Definition:
func P1' ( a, b, c : number ) func P2' ( a, b, c : number )
{ {
mem[a] := b + c ; mem[a] := b + c ;
} }
Anwendung: Anwendung:
adr1 := 12345678 ; adr2 := 3221225472 ;
P1' ( adr1, 1413808128, 21332 ) ; P2' ( adr2, 1413829460, 0 ) ;
bzw. bzw.
adr1 := $bc614e ; adr2 := $c0000000 ;
P1' ( adr1, $54450000, $5354 ) ; P2' ( adr2, $54455354, 0 ) ;
Ergebnis: Ergebnis:
Speicheradresse [adr1] enthält den Speicheradresse [adr2] enthält den
Wert 1413829460 bzw. $54455354. Wert 1413829460 bzw. $54455354.
[adr1] sei Position der Variable x. [adr2] sei Position des Bildschirms.
Bildschirm zeigt 'TEST' an.
-----------------------------------------------------------------------------------------
P2' eingebettet in P1 ergibt P1": P1' eingebettet in P2 ergibt P2":
func P1" ( zahl1, zahl2 : number ) func P2" ( msg : string )
{ {
adr1 := &x ; adr2 := $c0000000 ;
P2' ( adr1, zahl1, zahl2 ) ; P1' ( adr2, number ( msg ), 0 ) ;
} }
Da P1' mit P2' identisch ist, können die beiden Funktionen gegeneinander
ausgetauscht werden.
[1] http://register.consilium.eu.int/pdf/de/04/st09/st09713.de04.pdf
[2] http://europa.eu.int/comm/internal_market/de/indprop/comp/02-277.htm
[3] http://www.european-patent-office.org
[4] http://europa.eu.int/comm/internal_market/en/indprop/comp/com02-92de.pdf
|