EP0590884 (Beispiel-Patent): Grafik bearbeiten und diese Bearbeitung erkennen
#!/bin/sh cat $1 | tr x $3 > $2 && diff $1 $2
(Noch gültig.)
EP0850441: Überwachung von Computern
#!/bin/sh while ping -c 1 $1; do sleep 1 done echo "Alarm."
(Noch gültig.)
Das Verletzungsprogramm (65 Zeilen) verletzt praktisch alle Ansprüche gleichzeitig plus zwei weitere Patente (EP0129439 und EP0266049).
(EP0187911: 1997 in FR nicht verlängert,
1998 in GB, 1999 in DE, k.A. zu IT.
EP0129439 (LZW): 2004 nach 20 Jahren ausgelaufen.
EP0266049 (RLE): 2007 nach 20 Jahren ausgelaufen.)
Aber das Patent
wurde erteilt.
(2002 weltweit angemeldet; Prüfung läuft noch.
2006 in Japan zurückgezogen, 2007 in der EU.)
#!/bin/sh cvs add -kb myfile.doc cvs commit myfile.docAuch das Empfangen und Abspeichern einer E-Mail verletzt dieses Patent.
(1997 in ES nicht verlängert, 2002 in FR, 2003 in DE, 2004 in IT, 2005 in GB.)
EP0549329: Erkennung definierter Elemente innerhalb eines Bildes
unsigned char *bitmap[]={" *", " * ", "* "}; void main(void) { if ( strcmp(" *",bitmap[0])==0 && strcmp(" * ",bitmap[1])==0 && strcmp("* ",bitmap[2])==0) puts("<gerade unsicherheit='0' offset='0'>" "<steigung>1</steigung></gerade>"); }
(2005 in GB nicht verlängert, 2006 in DE, 2008 in FR.)
EP0463250: Vermeidung der doppelten Öffnung eines Programmfensters
#!/usr/bin/env python from Tkinter import * winopen = 0 class Window(Toplevel): def __init__(self, master, **kw): global winopen apply(Toplevel.__init__, (self, master), kw) winopen = 1 def __del__(self): global winopen winopen = 0 def newwin(): if not winopen: window = Window(root) Label(window, text = "I'm unique!").pack() root = Tk() Button(root, text="Window", command = newwin).pack() root.mainloop()
(2001 in der EU nicht verlängert.)
EP0280549: Huffman-Algorithmus
zip ZIPDATEI DATEI[EN] ...
(2003 in der EU nicht verlängert.)
EP0526034: Finden von Dateien anhand deren Namens
und eines zweiten Kriteriums
find -name README -user att
(2002 in der EU nicht verlängert.)
EP1283486: Tabellen spaltenweise bearbeiten
(In den USA erteiltes Patent. In der EU 2003 angemeldet, 2006 zurückgezogen.)
#!/bin/bash N=$2 cat << EOF | mysql use test drop table if exists t; create table t (`seq -f "c%g text," $N` dummy int); load data local infile '$1' into table t fields terminated by ' '; EOF if [ "$3" = R ]; then echo "use test; update t \ set c1=concat(`seq -f "c%g,'\n'," $N` '')" | mysql N=1 fi if [ "$3" = C ]; then echo "use test; update t \ set c1=concat(`seq -f "c%g," $N` '')" | mysql N=1 fi for n in `seq $N`; do cat << EOF | mysql > col$n use test create temporary table occ (n int auto_increment primary key) select count(*) as c, c$n from t group by c$n; create temporary table enc select n, c, (n+c)*(n+c)+n as e from occ; select c$n from occ; select e, occ.c, c$n from occ left join enc using (n, c); select e from t left join occ using (c$n) left join enc using (n, c); EOF done
Das Verletzungsprogramm (26 nichtleere Zeilen) verletzt 62 der 67 Ansprüche (2,38 Verletzungen desselben Patents pro Zeile).
(In den USA erteiltes Patent.
In der EU 2003 angemeldet; Prüfung läuft noch.)
In der Zeit, die eine Patentanmeldung dauert,
durchläuft Software mehrere Generationen.
Anspruch 1. Verfahren zum Betreiben eines Mikrorechner-Systems (1), bei dem zumindest ein Teil einer Speicheranordnung (3) des Mikrorechner-Systems (1) auf Manipulation von in der Speicheranordnung (3) abgelegten Daten (5) überprüft wird und in Abhängigkeit von dem Ergebnis der Überprüfung Massnahmen zur Verhinderung einer Abarbeitung der Daten (5) in dem Mikrorechner-System (1) ausgeführt werden, falls die Massnahmen aktiviert sind, wobei die Massnahmen in Abhängigkeit von dem Inhalt eines Festwertspeichers (4) des Mikrorechner-Systems (1) aktiviert oder deaktiviert werden, dadurch gekennzeichnet, dass in den Daten (5) ein Codewort (15) abgelegt wird, das während des Betriebs des Mikrorechner-Systems (1) überprüft wird, und die Massnahmen auch in Abhängigkeit von dem Ergebnis der Überprüfung des in den Daten (5) abgelegten Codeworts (15) aktiviert oder deaktiviert werden.
http://www.elug.de/projekte/patent-party/