Swiss Internet User Group (SIUG)
      eine Initiative der /ch/open
Postfach 1908
CH-8021 Zürich
siug@siug.ch

Offene Interfaces

Dies ist Version 0.7 (2010-01-16)
Die jeweils aktuelle Version ist unter folgender URL verfügbar: http://siug.ch/ointerfaces/def
Author: Norbert Bollow <norbert.bollow@siug.ch>

Das Ziel dieser Definition besteht darin, einen pragmatisch und dennoch präzise definierten Begriff von offenen Interfaces im Kontext von Computer-Software zu schaffen.

Mit Interfaces sind dabei Datenformate1, Kommunikationsprotokolle und andere Schnittstellen für Interoperabilität von Computerprogrammen mit anderen Computerprogrammen oder mit Hardwarekomponenten gemeint.

Anmerkung 1: Offenheit ist nicht nur für Interfaces zu offensichtlich anderen Software- und Hardwarekomponenten wichtig, sondern beispielsweise auch für Datenformate, die zunächst nur zur Speicherung von Daten zwecks späterer Weiterverarbeitung mit demselben Programm dienen. Wenn solche zwischengespeicherte Daten nicht in einem offenen Format sind, ist der Wechsel zu einem anderen Verarbeitungsprogramm möglicherweise nicht oder nur mit unverhältnismässigen Schwierigkeiten und Kosten möglich.

Es wäre ideal, wenn alle Interfaces durch Strikt Offene Standards2 definiert werden könnten. In der Praxis ist dies in der Regel nicht für alle Interfaces vollständig möglich. Dafür gibt es verschiedene Gründe: Einerseits ist es unvermeidlich, dass sich die Bedürfnisse der Anwender von Informatik-Systemen fortlaufend ändern. Die Entwicklung von guten, strikten Standards dauert wesentlich länger, als innovative Ideen zu implementieren und die Interfaces zu dokumentieren. Dazu kommt, dass der sich Aufwand der formellen Standardisierung in der Regel nur für Spezifikationen lohnt, die grundlegende Anwendungsbedürfnisse abdecken. Auf der Basis solcher Standards können für spezielle Bedürfnisse Interfaces definiert werden, die zwar nicht selber Offene Standards sind, die sich aber so weitgehend wie möglich auf Offene Standards abstützen.

Anmerkung 2: Für den Begriff der Strikt Offenen Standards siehe http://siug.ch/ostandards/def.

Kriterien für „Offene Interfaces”

Ein Interface darf als Offenes Interface bezeichnet werden, wenn die folgenden drei Kriterien alle erfüllt sind:

(a) Dokumentation: Das Interface ist sorgfältig und vollständig dokumentiert.

(b) Verwendung von offenen Standards: Das Interface basiert soweit möglich3 auf strikt offenen Standards.

Anmerkung 3: Mit „soweit möglich” werden hier verschiedene Aspekte zusammengefasst: Einerseits sollen Strikt Offene Standards für alle diejenigen Anwendungsbedürfnisse der konkreten Situation angewendet werden, die damit abgedeckt werden können. Wenn es keinen geeigneten Strikt Offenen Standard gibt, sollen wenigstens möglichst viele der Kriterien für strikt offene Standards erfüllt sein. Schliesslich sind Erweiterungen der zugrundegelegten Standards auf das notwendige Minimum zu beschränken.

(c) Freie Implementierbarkeit: Es darf keine Einschränkungen geben, die es verhindern würden, das Interface in Software mit irgend einem Lizenzmodell teilweise, vollständig oder mit Erweiterungen zu implementieren. Insbesondere dürfen keine Patent-Lizenzgebühren verlangt werden, weil das der Implementierung in Freier und Open Source Software (FOSS) widersprechen würde. Einschränkungen, die gegen andere Software-Lizenzmodelle diskriminieren, sind ebenso unzulässig.

Erlaubnis, die Definition zu kopieren und zu zitieren

Entwürfe und verabschiedete Fassungen dieser Definition stehen unter der Creative Commons Attribution-No Derivative Works 2.5 Switzerland Lizenz.