[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: EPA-Patent auf Mehrsprachige Programmierung
PILCH Hartmut <phm@a2e.de> writes:
> > > Im Jahre 1997 hat das Europaeische Patentamt (EPA) Microsoft zum Besitzer
> > > des Prinzips der mehrsprachigen Benutzeroberflaechen, wie wir sie von
> > > der GLibC (gettext, catgets) her kennen, gemacht.
> >
> > Nein, das Patent hat mit gettext nicht viel zu tun. Es löst das
> > Problem auf eine unterschiedliche Weise, und Microsoft hat es
> > versäumt, die Lösung als solche zu patentieren.
>
> > Bei Microsofts Ansatz werden entweder
> >
> > - alle Übersetzungen in einer Datei zusammengefaßt (Claims 1 - 4)
>
> Es ist die Rede von einer Gruppierung der Meldungstexte in einer Datei
> ausserhalb des Programms. Das es eine einzige Datei sein muss, wird nicht
> betont,
Es wird explizit erwähnt -- mehrfach. Das soll wohl auch die
signifikante Verbesserung gegenüber EP-A-335 139 sein, das vermutlich
für gettext deutlich bedrohlicher ist (ich habe dieses Patent --
ebenso wie das andere referenzierte -- jedoch noch nicht angeschaut).
> aber es ist nicht von anderen Moeglichkeiten die Rede. Das scheint
> ein Fehler bei der Anspruchsformulierung zu sein.
Eben, es wird nur ein ganz bestimmter Umgang mit textuellen
Nachrichten patentiert.
> Immerhin existiert innerhalb des Programmes eine praeferierte
> Version
>
> printf(gettext("meine praeferierte Version"));
Für solchen Code sollte man Dich erschießen! ;-) Hast Du denn gar
nichts aus den format string defects gelernt?
> an deren Stelle Meldungstexte aus externen Dateien hereingeladen werden
> koennen.
Das Patent handelt explizit vom 'program header'. Bei meinem hiesigen
ELF-System landen diese Strings (bei übersetzten C-Programmen) im
Abschnitt '.rodata', der nichts mit irgendeinem 'program header' zu
tun hat. In der Patentschrift wird 'header area' glücklicherweise
näher erläutert:
| The header area is a block of data containing details about the
| program and is usually found at the beginning of the program. The
| header area is not loaded into memory when the program is invoked.
Das trifft alles nicht auf den .rodata-Abschnitt zu. Betrachten wir
ein Python-Programm, welches gettext verwendet, werden die
Unterschiede noch offensichtlicher.