Top-Fragen
Zeitleiste
Chat
Kontext
Inoffizieller Patch
Softwarebegriff Aus Wikipedia, der freien Enzyklopädie
Remove ads
Ein inoffizieller Patch ist eine Fehlerkorrektur oder Mängelbehebung für eine kommerziell vertriebene Software durch einen oder mehrere nicht-kommerziell motivierte Entwickler aus der Benutzergemeinde anstelle des ursprünglichen Softwareherstellers.
Konzept
Mit inoffiziellen Patches wird versucht, das originale Konzept und den Geist des ursprünglichen Softwareprodukts aufrechtzuerhalten oder sogar stärker herauszuarbeiten. Dieser Fokus unterscheidet inoffizielle Patches deutlich von anderen Anpassungen von Software durch Dritte, wie Mods, Hacks und Cracks. Da diese Patches typischerweise aus als Online-Community organisierten Nutzergemeinden kommen, entstehen diese dort im Konsens, erreichen dadurch eine breite Akzeptanz und werden meistens als legitime „offizielle“ Produktfortführung betrachtet. Dispute über die Authentizität von Anpassungen durch inoffizielle Patches in der Nutzer-Community kommen vor und werden aber typischerweise „konservativ“ gelöst; umstrittene Anpassungen werden dann zu optionalen Komponenten oder weggelassen. Allerdings kann die Entwicklung auch so weit gehen, dass es, wie beim Beispiel OpenTTD, zu einem eigenständigen Spiel kommt, welches vom Original unabhängig ist. Meist handelt es sich beim Original aber schon um Abandonware.
Remove ads
Motivation
Motivation für die Erstellung dieser Patches ist fehlender Support durch den Entwickler, was einige Gründe haben kann:
- die Software ist außerhalb des zeitlichen Supportrahmens[1] oder wurde durch ein Nachfolgeprodukt abgelöst (geplante Obsoleszenz)[2]
- die Entwicklerfirma existiert nicht mehr oder hat die Rechte an der Software verloren (Abandonware)[3]
- für den Entwickler ökonomisch unrentabel (beispielsweise Lokalisierung von Spielen für kleine Märkte)
- der Entwickler lässt sich zu viel Zeit zur Lösungsbereitstellung für ein kritisches Problem (beispielsweise Sicherheitslücken)[4][5][6]
- der Entwickler ist mit den Problemen überfordert
- Das Spiel hat Potenzial, doch der Entwickler bringt keine Updates[7]
Remove ads
Arten
Zusammenfassung
Kontext
Im Computerspielebereich werden inoffizielle Patches einzelner Autoren auch Fan-Patch genannt.[8][9] Kombinierte Patches bestehend aus der Arbeit vieler Autoren aus der Benutzergemeinde werden auch als Community Patch bezeichnet.[7]
Typische Korrekturen zielen auf kritische Bugs im Programm, welche eine bestimmungsgemäße Verwendung verhindern; beispielsweise Ablauffehler, die zu Programminstabilitäten führen, Kompatibilitätsprobleme mit neueren Betriebssystemen oder eine mangelhafte Anpassung an neue technische Gegebenheiten wie beispielsweise höhere Bildauflösung[10][11] oder Breitbildformate.
Obwohl inoffizielle Patche überwiegend für die PC-Plattform erstellt werden, existieren sie jedoch auch für Konsolenspiele z. B. im Kontext der Emulation-Community.[12]
Ein weiteres häufiges Ziel ist die Übersetzung einer Software in andere Landessprachen, falls diese ursprünglich nicht auch lokalisiert veröffentlicht wurde.[13] Diese Untergruppe von Fan-Patchen wird als Sprachpatch, Fan-Übersetzung[13] oder Fan-Port bezeichnet, u. a. für japanische RPG-Spiele, die häufig nur für den japanischen Markt erscheinen.[14][15]
Als weitere spezifische Untergruppe können Bloodpatches betrachtet werden, mit denen Spielinhalte eines Computerspiels rekonstruiert werden, die aufgrund von rechtlichen Auflagen oder kulturellen Bedenken des Publishers (Anstößigkeit) für einen Zielmarkt entfernt wurden.
Eine weitere Variante sind Update-Packs, bei denen viele kleine inkrementelle oder nur online verfügbare offizielle Patches zu einem größeren Gesamtpatch zusammengeschnürt werden.[1][16]
Methoden
Zusammenfassung
Kontext
Da typischerweise der Quelltext und die Entwicklungswerkzeuge der Software den Community-Patchern nicht zur Verfügung stehen, muss durch Reverse Engineering und Debugging das Verhalten der Software analysiert werden. Für manche Ziele genügt es, kleinere Änderungen beispielsweise in Konfigurationsdateien oder der Registrierungsdatenbank durchzuführen, beispielsweise bei Bloodpatches; Aufwand und Größe dieser Patches sind damit oft gering. Andere Ziele können vor allem durch Anpassen der Programmdaten erreicht werden, beispielsweise High-Resolution Patches, die Graphiktexturen austauschen, oder Fan-Übersetzungen eines Spiels; hier existiert eine Nähe in Konzepten und Entwicklungswerkzeugen (SDKs und eigens entwickelte Tools) zur Modding-Szene.
Für andere komplexere Ziele wie beispielsweise Fehlerkorrekturen an der Spiel-Engine ist eine direkte Anpassung des Binärcodes, beispielsweise mit einem Hex-Editor in Assembler, notwendig. Dieses Vorgehen ist deutlich aufwändiger als eine Anpassung direkt am Quellcode mit einer Neukompilierung, wie es der Softwarehersteller mit Zugang zum Quellcode durchführen kann. Dieses Szenario wird von Vertretern der Open-Source-Software-Bewegung als Argument dafür angeführt, dass Software prinzipiell immer mit seinen Quelltexten veröffentlicht werden sollte, damit Benutzer auch bei Nicht-Interesse (Geplanter Obsoleszenz)[2] oder Nicht-Vorhandensein der ursprünglichen Entwickler die Möglichkeit haben, eine Software anzupassen.
In seltenen Fällen bekommt die Community Zugang zu dem Quelltext der Software und kann damit am effektivsten den Support übernehmen; entweder passiert diese über eine offizielle Freigabe[17][18][19] oder durch eine ungewolltes verfügbar werden (leaken)[20] wie z. B. passiert bei der Spiel-Engine von Thief.[21][22][23]
Remove ads
Rezeption
Das Verhalten der Ersteller und Rechteinhaber zu den inoffiziellen Patches ist sehr unterschiedlich, da die ungenehmigten Anpassungen zwar meistens keinen finanziellen Schaden verursachen, jedoch rein rechtlich eine Verletzung des Urheber- oder Markenrechts darstellen. Die Reaktionen reichen von Ignoranz, Tolerierung[24][13], rechtlicher Bekämpfung[25][26] und offizieller (stillschweigender) Verwendung[27] bis zur aktiven Unterstützung der Bemühungen.[28]
Es gab auch schon das Szenario, dass den Communityentwicklern die offizielle (kommerzielle) Weiterentwicklung durch den Rechteinhaber übertragen wurde[29].
Auch für eine Unterstützung der Community durch eine Offenlegung des Quellcodes für eine freie Weiterentwicklung der Software gibt es einige Beispiele: Myth[30][18], Homeworld[19], Allegiance[31] und viele Spiele von id Software und 3D Realms. Für eine Übersicht der Spiele, welche freigegeben wurden, um der Community den Selbst-Support zu ermöglichen, siehe die Liste kommerzieller Computerspiele mit veröffentlichtem Quelltext.
Remove ads
Beispiele für Spiele mit signifikanten Community Patches
Remove ads
Beispiele für Software mit inoffiziellen Patches
Remove ads
Einzelnachweise
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads