Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Mitwirken am Code

Die Möglichkeit, den Quellcode der Engine zu studieren, zu verwenden, zu modifizieren und weiterzuverbreiten, sind die grundlegenden Rechte, die Ihnen die MIT-Lizenz von Godot einräumt und sie zu einer freien und quelloffenen Software macht.

Als solcher ist jeder berechtigt, Godots Quellcode zu ändern und diese Änderungen an das Upstream-Projekt zurückzusenden, und zwar in Form eines Patches (einer Textdatei, die Änderungen in einer anwendungsbereiten Weise beschreibt) oder - in dem modernen Workflow, den wir verwenden - über einen sogenannten "Pull Request" (PR), d.h. einen Vorschlag, einen oder mehrere Git Commits (Patches) direkt in den Hauptentwicklungsbranch zu mergen.

Das Beisteuern von Codeänderungen im Upstream hat zwei große Vorteile:

  • Ihr eigener Code wird von anderen Entwicklern gereviewt und verbessert und wird direkt im Upstream-Projekt weiter gepflegt, so dass Sie Ihre eigenen Änderungen nicht jedes Mal neu einpflegen müssen, wenn Sie zu einer neueren Version wechseln. Auf der anderen Seite bringt es eine Verantwortung mit sich, da Ihre Änderungen allgemein genug sein müssen, um für alle User von Nutzen zu sein, und nicht nur für Ihr Projekt; in einigen Fällen kann es also immer noch relevant sein, Ihre Änderungen nur für Ihr eigenes Projekt zu behalten, wenn sie zu spezifisch sind.

  • Die gesamte Community wird von Ihrer Arbeit profitieren, und andere Mitwirkende werden sich genauso verhalten und Code beisteuern, der für Sie von Nutzen sein wird. Zum Zeitpunkt der Erstellung dieses Artikels haben über 2000 Entwickler Codeänderungen zur Engine beigetragen!

Um eine gute Zusammenarbeit und Gesamtqualität zu gewährleisten, setzen die Godot-Entwickler einige Regeln für Codebeiträge durch, z.B. hinsichtlich des im C++ Code zu verwendenden Stils (Einrückung, Klammern usw.) oder des Git- und PR-Workflows.

Ein guter Anfang ist es, auf GitHub nach Issues zu suchen, die als good first issue gekennzeichnet sind.

Siehe auch

Technische Details zum PR-Workflow finden Sie in diesem Abschnitt: Workflow eines Pull Requests.

Details zu den Richtlinien für den Codestil und dem Tool clang-format finden Sie unter Richtlinien für den Codestil.

Alle Pull Requests müssen einen Review-Prozess durchlaufen, bevor sie akzeptiert werden. Abhängig vom Umfang der Änderungen kann es einige Zeit dauern, bis ein Maintainer, der für den geänderten Teil der Engine verantwortlich ist, sein Review zur Verfügung stellt. Wir schätzen alle unsere Mitwirkenden und bitten sie, in der Zwischenzeit geduldig zu sein, da man bei einem Open-Source-Projekt wie Godot damit rechnen muss, dass es viel mehr Beiträge gibt als Leute, die sie überprüfen.

Um sicherzustellen, dass Ihre Zeit und Mühe nicht umsonst sind, wird empfohlen, die Idee zunächst prüfen zu lassen, bevor Sie sie umsetzen und als PR zum Review stellen. Zu diesem Zweck verfügt Godot über ein Vorschlagssystem. Dessen Nutzung wird empfohlen, um Änderungen zu planen und sie mit der Community zu diskutieren. Implementierungsdetails können auch mit anderen Mitwirkenden im Godot-Mitwirkenden-Chat diskutiert werden.

Bemerkung

Vorschläge sind nur erforderlich, wenn Sie an einer Erweiterung oder einem neuen Feature arbeiten. Für die Behebung von Problemen sind Bug-Reports ausreichend.

Testen und Melden von Problemen

Eine weitere Möglichkeit, einen Beitrag zur Engine zu leisten, besteht darin, Entwicklungsreleases oder den Entwicklungsbranch zu testen und Probleme zu melden. Es ist auch hilfreich, Probleme zu melden, die in stabilen Releases entdeckt wurden, damit sie im Entwicklungsbranch und in zukünftigen Wartungsreleases behoben werden können.

Entwicklungsversionen testen

Um beim Testen zu helfen, haben Sie mehrere Möglichkeiten:

  • Kompilieren Sie die Engine selbst aus dem Quellcode. Befolgen Sie dazu die Anweisungen auf der entsprechenden Kompilieren-Seite für Ihre Plattform.

  • Testen Sie offizielle Pre-Release-Binärdateien, wenn sie angekündigt werden (normalerweise auf dem Blog und anderen Community-Plattformen), z.B. Alpha, Beta und Release Candidate (RC).

  • Testen Sie "vertrauenswürdige" inoffizielle Builds des Entwicklungsbranchs. Fragen Sie einfach Community-Mitglieder nach zuverlässigen Anbietern. Wann immer möglich, ist es am besten, offizielle Binärdateien zu verwenden oder sie sich selbst zu kompilieren, um sich der Herkunft der Binärdateien sicher zu sein.

Wie bereits erwähnt, ist es auch hilfreich, die Augen nach potenziellen Bugs offen zu halten, die möglicherweise noch in den stable Releases vorhanden sind, insbesondere wenn einige Nischen-Features der Engine verwendet werden, die von den Entwicklern möglicherweise weniger getestet werden.

Eine Issue auf GitHub einreichen

Godot verwendet für Bug-Reports den Issue-Tracker von GitHub. Wenn Sie einen Bug-Report einreichen, erscheint ein Formular zum Ausfüllen. Bitte versuchen Sie, die Anweisungen zu befolgen, damit alle Meldungen konsistent sind und die erforderlichen Informationen enthalten.

Beitrag zur Dokumentation

In Godot gibt es zwei separate Ressourcen, die als "Dokumentation" bezeichnet werden:

  • Die Klassenreferenz. Dies ist die Dokumentation für die gesamte Godot-API, wie sie für GDScript und die anderen Skriptsprachen zur Verfügung steht. Sie kann offline, direkt im Code-Editor von Godot, oder online in der Godot-Klassenreferenz eingesehen werden. Um zur Klassenreferenz beizutragen, müssen Sie die der Klasse entsprechende XML-Datei bearbeiten und einen Pull Request stellen. Siehe Beitragen zur Klassenreferenz und Einführung in die Klassenreferenz für weitere Details.

  • Die Tutorials und Engine-Dokumentation und ihre Übersetzungen. Dies ist der Teil, den Sie gerade lesen und der im HTML-Format bereitgestellt wird. Sein Inhalt wird aus reinen Textdateien im reStructured Text (rst)-Format generiert, zu denen Sie über Pull Requests auf dem GitHub-Repository godot-docs beitragen können. Siehe Beitrag zur Dokumentation für weitere Details.

An Übersetzungen mitwirken

Um Godot für alle zugänglich zu machen, einschließlich Benutzer, die Material in ihrer Muttersprache anstelle von Englisch bevorzugen, hilft unsere Community dabei, sowohl den Godot-Editor als auch seine Dokumentation in viele Sprachen zu übersetzen.

Siehe Editor und Dokumentation übersetzen für weitere Details.