[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.