Skip to content
Menu
CDhistory
CDhistory

Embedded Computing Design

Posted on November 16, 2021 by admin

Es ist oft der Fall, dass Erfolg Kontroversen hervorruft, besonders in der Technologie-Industrie und vor allem in Bezug auf Software. In Anbetracht des Umfangs der gemeinsamen Nutzung und Wiederverwendung von Code, die seit den Anfängen der Technologiebranche selbst stattgefunden hat, ist es nicht mehr ungewöhnlich, von Klagen wegen Urheberrechtsverletzungen oder Lizenzfragen zu hören.

Einer der frühesten und bekanntesten dieser Fälle war eine Klage, die 1996 von Caldera Inc. gegen Microsoft wegen angeblichen Missbrauchs (oder Kopierens) von Teilen des CP/M-Betriebssystems in MS-DOS eingereicht wurde. Caldera hatte Digital Research Inc. (DRI) über Novell Inc. erworben und damit auch die Rechte an CP/M, das 1974 vom DRI-Gründer Gary Kidall entwickelt worden war. Die private Kartellrechtsklage wurde im Jahr 2000 außergerichtlich beigelegt, wobei Microsoft rund 275 Millionen Dollar Schadensersatz zahlte.

Was ist der Streitpunkt?

$275 Millionen sind selbst nach den Maßstäben des Jahres 2000 ein relativer Hungerlohn für das, was das Rückgrat (oder zumindest der Ausgangspunkt) des Microsoft-Imperiums wurde. MS-DOS bildete die Grundlage für Windows 95 und 98, die dazu beitrugen, Microsofts Vorherrschaft im Unternehmensbereich und schließlich im Rechenzentrum zu zementieren, während CP/M (später als DR-DOS vermarktet) mit seiner letzten Veröffentlichung vor etwa 33 Jahren in die Annalen der Technikgeschichte eingegangen ist.

Der Streitpunkt ist, dass DRI und CP/M zum Zeitpunkt des angeblichen Kopierens von Quellcode, Befehlen und Systemaufrufen einen Marktanteil von etwa 20 Prozent besaßen, der potenziell zu dem Marktanteil hätte anwachsen können, den DOS und die nachfolgenden Versionen von Windows nach der Lizenzvergabe an IBM im Jahr 1981 hatten. Seitdem kursieren Gerüchte über die wahren Ursprünge von MS-DOS, von dem einige behaupten, es sei das direkte Produkt eines nicht autorisierten Klons von CP/M. Einige Mythen gehen sogar so weit, dass ein geheimer Befehl innerhalb von MS-DOS existiert, der, wenn er ausgeführt wird, etwas in der Art von: COPYRIGHT (C) GARY A. KILDALL JUNE, 1975 *.

Abgesehen von hartnäckigen, leidenschaftlichen und meinungsstarken Befürwortern auf beiden Seiten des Arguments haben sich diese Gerüchte aufgrund von Einschränkungen im Bereich der Software-Forensik seit mehr als 30 Jahren gehalten. Die Softwareforensik (oder Softwareplagiatserkennung) ist eine Disziplin, die in Fällen wie dem zwischen Microsoft und Caldera häufig zum Einsatz kommt und sich mit der Analyse von Quellcode und Binärdateien befasst, um Verletzungen des geistigen Eigentums festzustellen. Die meiste Zeit ihres Bestehens, auch zu der Zeit, als Caldera seine Klage gegen Microsoft einreichte, stützte sich die Softwareforensik jedoch in der Regel auf Akademiker und Softwareberater, die riesige Mengen an Code in verschiedenen Programmen manuell verglichen, um nach Beweisen für Kopien zu suchen, und ihre Ergebnisse dann als Sachverständige vor Gericht vortrugen. Wie das US-Rechtssystem insgesamt war auch dieses Verfahren fehlerhaft, zeitaufwändig und teuer.

Zufälligerweise begann Bob Zeidman, ein ausgebildeter Elektroingenieur und Softwareentwickler, zur Zeit des Rechtsstreits zwischen Microsoft und Caldera mit der Entwicklung eines Dienstprogramms zur Optimierung dieser Methoden. Im Laufe der Jahre entwickelte sich dieses einfache Hilfsprogramm zu CodeSuite, einem Satz von Werkzeugen für den Vergleich von Quellcode und ausführbaren Dateien, der zu einer Hauptstütze bei Rechtsstreitigkeiten im Bereich des geistigen Eigentums geworden ist.

Fünf Regeln von CodeSuite & DOS v. CP/M

Der CodeSuite-Werkzeugsatz unterstützt etwa 40 Sprachen, von denen jede einen eigenen Parser oder eine Definitionsdatei enthält, die bei der Überprüfung eines Codesatzes verwendet wird. Der zu prüfende Code wird dann in Segmente unterteilt, die separat analysiert werden, damit Änderungen an bestimmten Codeelementen nicht als Plagiat für ein ganzes Werk getarnt werden. Diese Segmente sind:

  • Anweisungen, Kommentare und Strings
  • Bezeichner
  • Anweisungssequenzen

Nach der Analyse dieser drei Segmente wird eine normalisierte Korrelationsbewertung erstellt, die stark gegen direktes Kopieren gewichtet ist. Wenn zum Beispiel ein kopierter Algorithmus 10 Prozent eines analysierten Codebeispiels ausmacht, würde CodeSuite eine Punktzahl von „100“ zurückgeben, im Gegensatz zu anderen Tools, die vielleicht „10 Prozent“ oder „.1“ melden, was irreführend sein kann, wenn es um das Kern-IP geht. Der CodeSuite-Korrelationswert leitet die Analysten dann zu den Bereichen mit potenziellen Kopien, die weiter geprüft werden müssen.

Es ist jedoch wichtig zu beachten, dass der Korrelationswert an und für sich kein abschließendes Urteil über eine Verletzung oder einen Diebstahl darstellt. Vielmehr ist er der Ausgangspunkt für Analysten, die hoch korrelierten Code nach einem genau definierten Verfahren eingehender prüfen, um festzustellen, ob Software schändlich entwendet wurde (Abbildung 1). Dieses Verfahren berücksichtigt

  1. Gemeinsame Algorithmen – Viele grundlegende Algorithmen werden in den Schulen für grundlegende Operationen gelehrt, was als Kopieren
  2. erscheinen könnte Gemeinsame Bezeichner – Gemeinsame Industrie- und Programmierbegriffe (wie „Index“, „Count“ und „Matrix“) sowie menschenlesbare Sprache (für Kommentare) können als Kopieren
  3. erscheinen Gemeinsamer Autor – Wenn derselbe Autor Programme in zwei verschiedenen Unternehmen geschrieben hat, werden sie unweigerlich denselben grundlegenden Codierungsstil verwenden
  4. Automatische Codegenerierung – Wenn zwei Programme dasselbe oder ein ähnliches Werkzeug zur automatischen Codegenerierung verwenden, wird der Code wahrscheinlich gleich aussehen
  5. Code von Drittanbietern – Code, insbesondere Open-Source-Code für grundlegende Operationen, wird als Plagiat erscheinen, eine Tatsache, die heute besonders relevant ist

Vor kurzem hat Zeidman aus eigenem Antrieb damit begonnen, die CodeSuite-Tools und dieses Verfahren auf MS-DOS und CP/M anzuwenden, um das Ausmaß der angeblichen Plagiate zu ermitteln. Dabei verglich er die Aspekte der beiden Programme, die den Kern der Kontroverse bilden, nämlich den Quellcode, die Befehlszeilen und die Systemaufrufe.

Zu Beginn seines Codevergleichs säuberte Zeidman CP/M, entfernte alles, was nicht Quellcode war, formatierte den Code neu, ließ Kommentare als Anweisungen und Anweisungen als Kommentare laufen und suchte unter anderem nach ungewöhnlichen Bezeichnern. Anschließend führte er eine globale Suche sowohl in CP/M als auch in MS-DOS nach „Copyright“, Firmennamen, Autorennamen und -initialen und anderen relevanten Begriffen durch.

Interessanterweise wurde in MS-DOS der Begriff CP/M gefunden. Nach einigen Nachforschungen fand Zeidman jedoch heraus, dass frühe DOS-Programme tatsächlich CP/M-Dateien lasen, was angesichts der frühen Marktpräsenz von CP/M nicht verwunderlich ist (Abbildung 2). Es wurden auch übereinstimmende Kommentare, Zeichenketten und Bezeichner gefunden, allerdings mit minimaler Häufigkeit, und die Begriffe waren allgemein genug, um unter die Kategorie der „Common Identifier Names“ zu fallen, wie bereits erwähnt (Abbildung 3). In Bezug auf den Quellcode kam man zu dem Schluss, dass kein Kopieren stattgefunden hat.

Auch bei den Befehlszeilenschnittstellen wurden hohe Korrelationen festgestellt, aber wie in Abbildung 4 gezeigt, fallen auch diese unter die Kategorie der „gemeinsamen Bezeichner“, die mehrere Betriebssysteme umfassen.

Die größte Möglichkeit einer Urheberrechtsverletzung ergab sich bei den Systemaufrufen, bei denen, wie in Abbildung 5 zu sehen, die Nummerierung der Aufrufe in allen Programmen fast identisch ist. Zum Beispiel sind sowohl in MS-DOS als auch in CP/M 15 und 16 die Aufrufe zum Öffnen bzw. Schließen einer Datei. Hier kommen wir in eine Grauzone, denn obwohl die Systemaufrufe in jedem Programm anders implementiert und verwendet wurden, sind die Ähnlichkeiten unbestreitbar. Dennoch ist es sehr wahrscheinlich, dass Microsoft das Rad nicht neu erfunden hat und sich an die damals bekannten Aufrufe gehalten hat. In Bezug auf das Urheberrecht wird dies als faire Nutzung bezeichnet. Hat irgendjemand MS-DOS als Folge der CP/M-Systemaufrufe gekauft? Wahrscheinlich nicht.

Oh, und Zeidman hat keine geheimen Befehle in MS-DOS gefunden, die ein Kildall-Urheberrecht ausdrucken.

Warum hat sich Microsoft dann geeinigt?

Die obigen Schlussfolgerungen zeigen wenig oder gar keine signifikanten Beweise für Urheberrechtsverletzungen, warum hat Microsoft also nachgegeben?

Wie bereits erwähnt, waren und sind 275 Millionen Dollar für Microsoft ein relativer Klacks, und nach fast fünf Jahren Rechtsstreit war der Markt- und Markenruf des Unternehmens wichtiger als Anwaltskosten oder geprellte Egos. Anstatt sich in einer Kontroverse zu verzetteln, die aus dem Ruder hätte laufen können und die Integrität von Microsoft in Frage gestellt hätte, hat das Unternehmen den Kopf in den Wolken behalten, und genau dort befindet es sich heute.

Die Ergebnisse von CodeSuite hat Zeidman Anfang des Monats auf dem Vintage Computer Festival im Computer History Museum in Mountain View, Kalifornien, vorgestellt. Er ist von seinen Ergebnissen so überzeugt, dass er eine Belohnung von 100.000 Dollar für jeden ausgesetzt hat, der seine Erkenntnisse, dass Microsoft den Quellcode von CP/M nicht kopiert hat, widerlegen kann, und weitere 100.000 Dollar für jeden, der Kildalls mysteriöse geheime Funktion findet.

Solange dies niemand tut, ist es wohl an der Zeit, diese Gerüchte zu den Akten zu legen.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Neueste Beiträge

  • Acela ist zurück: NYC oder Boston für 99 Dollar
  • OMIM Eintrag – # 608363 – CHROMOSOM 22q11.2 DUPLIKATIONSSYNDROM
  • Kate Albrechts Eltern – Erfahren Sie mehr über ihren Vater Chris Albrecht und ihre Mutter Annie Albrecht
  • Temple Fork Outfitters
  • Burr (Roman)

Archive

  • Februar 2022
  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021
  • August 2021
  • Juli 2021
  • Juni 2021
  • Mai 2021
  • April 2021
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語
©2022 CDhistory | Powered by WordPress & Superb Themes
Menu
CDhistory