Patches
Inhaltsverzeichnis
Kurz vorweg: Patches sind willkommen!
Ethersex ist ein Mikrocontroller Projekt, das von freiwilligen Entwicklern gepflegt wird. Jeder kann selbst Mit-Entwickler werden. Das geht ganz einfach und hat einige Vorteile:
- Eigene (besondere) Hardware mit Ethersex benutzen zu können
- Erfahrungen mit Anderen teilen
- Eigene Ideen und Wünsche einbringen
- Verbesserung bestehender Programmteile (Sourcecode, Dokumentation, Wiki, ...)
- Ruhm und Ehre
- Zeit und Nerven der anderen Entwickler sparen
- Schnellere Implementierung
Patches, also Flicken, sind meist kleinere Verbesserungen die am Sourcecode, Dokumentation und Programmbestandteilen.
Zunächst holt man sich den aktuellen Quellcode aus dem Ethersex Repository siehe Git. Ist man dann in der Lage ethersex erfolgreich zu kompilieren, kann man recht einfach Patches erstellen.
Es gibt mehrere Möglichkeiten, Patches zu erstellen und diese der Community zukommen zu lassen.
Git-Hub Fork
Auf http://github.com/ethersex/ethersex/ erstellt man einen Fork, also einen Zweig, von ethersex in dem man nach Herzenslust editieren kann wie man mag. Die Ethersex Entwickler können davon automatisch Änderungen in den Ethersex-Hauptentwicklungszweig einbinden.
git format-patch
Will man nur mal eine kleine Änderung veröffentlichen ohne einen Git Fork zu erstellen kann man mit dem lokalen Ethersex Git repository Patches erstellen.
git add <MODIFIED_FILES...> git commit (Hier muss man eine kurze Zusammenfassung von den Änderungen angeben) git format-patch origin/master
Als Ergebnis bekommt man ein oder mehrere Dateien im Format NNNN-<Zuammenfassung>.patch wobei NNNN die Nummer des Patches ist. Diese Dateien sendet man dann an die Mailingliste (siehe Community) mit einer kurzen Beschreibung. Manchesmal gibt es dann noch eine kurze konstruktive Diskussion und ein Entwicker spielt die Änderungen dann in den Hauptentwicklungszweig ein.
git diff (unschön)
git diff
Wer git nicht kennt kann versuchen ein diff an die Mailingliste (siehe Community) ein einzusenden. Das macht allerdings deutlich mehr Arbeit für die Entwickler und kann einige Probleme verursachen, daher ist von diesem Vorgehen besonders bei größeren Änderungen abzusehen.
Hilfen
Für größere Änderungen ist es ist sehr hilfreich sich die Anleitung Eigenes_Modul_hinzufügen durchzulesen. Es ist sehr erwünscht eigene Änderungen einzusenden, da die freie Zeit der Entwickler stark begrenzt ist. Zumal die Entwickler auch nicht alle Hardware vorrätig haben um Bauteil XYZ zu implementieren und zu testen.
Will man also ein Bauteil oder etwas zum Ethersex hinzufügen ist es sehr vorteilhaft es erstmal selbst zu probieren. Antworten auf Fragen und weiteren Support gibt die Community dann sehr gerne.
Disclaimer
Es ist leider schon häufiger vorgekommen das Kurzbesucher im Chat oder auf der Mailingliste umbedingt etwas in Ethersex umgesetzt haben wollten, aber keine Eigenleistung erbringen konnten/wollten.
Daher mal ein paar Hinweise, sollte man etwas selbst umsetzen können.
- Sei bereit Zeit zu investieren
- Jeder kann mithelfen, sei es Dokumentation oder Support
- Sach- oder Geld-Spenden können die Bereitschaft eines Entwicklers erhöhen etwas spezielles umzusetzen, insbesondere bei neuer Hardware (wie soll man sonst Entwickeln)
- Nutze den Bugtracker auf http://bugs.ethersex.de/my_view_page.php für feature requests
- AVR-GCC ist nicht schwierig zu erlernen
- Patches einzusenden ist nicht kompliziert (oder ist o.g. kompliziert gewesen?)