Dieser Leitfaden befindet sich aktuell in der Erstellung durch das Autorenteam und wurde bisher noch keinem Review unterzogen. Daher ist dieser Leitfaden zum aktuellen Zeitpunkt noch nicht vollständig. Es können daher fehlerhafte, lückenhafte oder unvollständige Informationen enthalten sein.

Beteiligung an Open-Source-Software

Dieser Abschnitt beschreibt den Anwendungsfall sich als Unternehmen an Open-Source-Projekten zu beteiligen. Er thematisiert damit die zweite Ausbaustufe.

  1. Chancen bei der Beteiligung an Open-Source-Entwicklung
  2. Mögliche organisatorische Hürden
  3. Arten der Beteiligung

Chancen bei der Beteiligung an Open-Source-Entwicklung

Bei der Beteiligung an Open-Source-Projekten nehmen Sie aktiv Einfluss auf deren Entwicklung. Dies kann über Bereitstellung von Coding-Abschnitten erfolgen, die die Anwendung funktional erweitern, dies kann aber auch viel einfacher ein Issue mit einem Fehlerszenario oder der Ergänzung von Dokumentation oder Tests sein. Ein Großteil der Open-Source entwickelten ABAP-Projekte wird in der Freizeit von ihren Maintainern betreut, die sich in der Regel über jede Art der Beteiligung freuen. Die Einstiegshürde ist daher sehr gering.

Ihr Mitwirken bringt Ihnen selbst auch einige Vorteile: Durch die Beteiligung an solchen externen Projekten kommen Sie zwangsläufig mit anderen technologischen Herausforderungen, Bibliotheken und Frameworks in Kontakt, wodurch Sie ihre Fähigkeiten ausbauen können. Steuern Sie Coding bei, wird dieses einem Code-Review unterzogen, womit Sie Feedback erhalten und einarbeiten können. Auch Sie können sich am Open-Source-Projekt beteiligen, indem Sie Pull Requests testen und reviewen und sich so zunehmend in die Codebase einarbeiten.

Mögliche organisatorische Hürden

Die Mitwirkung in dieser Form ist in der Freizeit, die viele Open-Source-Maintainer dafür verwenden, regulär möglich. In der Arbeitszeit sieht es anders aus. Wenn Ihr Unternehmen in die Wartung und den Ausbau von Open-Source-Projekten investieren möchte, die es vielleicht auch selbst nutzt, dann sollten entsprechende Richtlinien vorhanden sein, an denen sich der jeweilige Mitarbeiter orientieren kann. Neben der Arbeitszeit sind auch Lizenz- und Copyright-Fragen zu klären.

Arten der Beteiligung

Die Beteiligung kann auf viele verschiedene Arten erfolgen.

  • Öffnen von Issues
    Die einfachste Art ist der Beteiligung ist Fehler zu melden oder Feature Requests einzureichen. Die allermeisten Open-Source-Projekte bieten dafür einen Tracker an, in dem Issues erfasst und mit der Community diskutiert werden kann. Gegebenfalls kann auch angeboten werden das Problem selbst zu lösen und eine Pull Request einzureichen. Achten Sie darauf, dass Ihre Issues gut ausformuliert sind und reproduzierbar das Problem darstellen. Gegebenfalls stellt das Projekt ein Template für die Strukturierung des Issues bereit.
  • Ergänzung von Dokumentation und Tests
    Die meisten Open-Source-Projekte enthalten Dokumentation zur Verwendung der Software und zum Beitragen an der Entwicklung. Als Verwender, der die Dokumentation selbst zur Einrichtung genutzt hat, ist es einfach Lücken zu schließen und die Dokumentation zu verbessern. Darüberhinausgehend gibt es oft automatisierte Softwaretests, die um weitere Testfälle ergänzt werden können. In beiden Fällen wird das eigentliche Coding noch nicht angefasst aber das Projekt an sich zunehmend verbessert.
  • Durchführung von Bug Fixes
    Um tatsächlich in die Codebase einzusteigen, bietet sich die Bearbeitung von einfachen Issues an. Einige Open-Source-Projekten bieten für genau dieses Anwendungsfall Issues mit dem Label good-first-issue an, die sich besonders für einen Einstieg eignen. Beachten Sie insbesondere bei Coding-Änderungen die Contribution-Guidelines des jeweiligen Projekts. Eine sinnvolle Erweiterung ist oft die Ergänzung eines Unit-Tests, um zu verhindern, dass das Problem in Zukunft wieder auftritt.
  • Ergänzung neuer Features
    Die umfangreichste Option sich zu beteiligen, ist die Einbringung eigener Features. In diesem Fall erweitern Sie das Open-Source-Projekt um neue Funktionalität. Dies können Sie bereits unabhängig vom Projekt intern tun - sie sollten Ihre Erweiterungen jedoch auch im Projekt zur Verfügung stellen, damit andere ebenfalls davon profitieren können. Erzeugen Sie immer zunächst ein Issue um Ihre gewünschte Erweiterung zunächst mit den Maintainern und der Community zu diskutieren und einen möglichen Implementierungsansatz abzustimmen. Auch hier sind die Contribution-Guidelines von hoher Wichtigkeit. Anschließend können Sie über eine Pull Request die Erweiterungen vorschlagen und auf Code Reviews reagieren.

Einsatz von Open-Source-Software Entwicklung von Open-Source-Software