Adrian | 30.09.2021

Open Source - Wissen teilen und davon lernen

Allgemein > Open Source - Wissen teilen und davon lernen

Open Source - Wissen teilen und davon lernen

In dem Beitrag Warum Open Source für uns als Unternehmen sinnvoll ist ist mein Kollege Jan Sauer darauf eingegangen, warum Open Source wichtig ist und welche Vorteile wir als newcubator, aber auch unsere Kunden haben.

Neben dem Business-Wert, den Open Source mitbringt, ist die Teilnahme an Open-Source-Projekten jedoch auch eine hervorragende Möglichkeit zu lernen und erlerntes Wissen weiterzugeben. Gerade, wenn ich als Entwickler eine neue Programmiersprache oder ein neues Framework lernen möchte, ist es am Besten, praktische Erfahrungen zu sammeln, anstatt nur Artikel zu lesen oder YouTube Videos zu schauen. Einige Entwickler suchen sich kleine Hobby-Projekte, in denen das Neueste direkt ausprobiert wird. Andere haben eine Standardanwendung, die in allen Sprachen oder Frameworks immer neu geschrieben wird. Und schließlich gibt es diejenigen, die das an Open-Source-Projekten ausprobieren.

Der Vorteil am letzten Punkt ist das direkte Feedback von anderen Entwicklern, die in dem Bereich bereits mehr Erfahrungen gesammelt haben. Gleichzeitig kann ich ein Problem lösen, welches anderen Menschen helfen kann.

Ebenso können wir unser Wissen weitergeben. So nutzen wir zum Beispiel NGXS, eine Statemanagement-Lösung für Angular, bereits in einigen Projekten. Da ich also sehr damit vertraut war, habe ich das auch für meine Bachelorarbeit zum Thema Microfrontends genutzt. Meine Erfahrungen in diesem Einsatz Kontext konnte ich nun teilen und in der offiziellen Dokumentation festhalten.

Maintainer

Als Maintainer, also Mit-Hauptverantwortlicher, für ein Open-Source-Projekt kommen weitere spannende Aspekte dazu.

Ich bin selber Maintainer der Yes-Theory-Fam. Hier ein kurzer Überblick, was das ist:

Yes Theory begann als YouTube-Kanal auf dem 3 junge Männer aus Frankreich, Kanada und Ägypten gemeinsam spontane Abenteuer mit Fremden unternehmen. Ihr Motto "Seek Discomfort", also deine Komfort Zone zu verlassen, inspirierte daraufhin Millionen von Leuten ihnen zu folgen und es entwickelte sich nicht nur eine Fangemeinde, sondern gleich eine völlig autonome Community, die auf der ganzen Welt aus Fremden Freunde werden ließ. Wo zu Anfang eine Facebook-Gruppe als Sammelpunkt aller Kommunikation galt, sind inzwischen neuere Medien in den Vordergrund gerückt. Darunter auch Discord, ein server-basiertes Kommunikations-Tool mit diversen themenbasierten Chaträumen und Sprachkanälen zum Austausch untereinander. Dieser Yes Theory Discord wird ausschließlich von der Community gestaltet: Bei Events entwerfen professionelle Designer aus der Gruppe Artworks, bei großen Zusammenkünften und Treffen im echten Leben kommen teilweise ausgelernte Eventplaner ins Spiel. Für einen Hauptbestandteil des Servers, den eigenen Discord-Bot, haben sich eine Handvoll Leute mit Erfahrung im Programmieren zusammengetan. Gemeinsam arbeiten diese regelmäßig an der Instandhaltung des Bots sowie an neuen Funktionen.

Ich betreue in meiner Freizeit den Discord-Bot, der rund 33.000 Menschen das Leben erleichtert. In der Rolle des Maintainers übernehme ich dabei Verantwortung. Das heißt, dass ich neue Features plane, Code von Beteiligten anschaue und Feedback gebe. Speziell in diesem Projekt geht es auch oft darum, wie man mit den gegebenen Limitationen trotzdem die Wünsche der Community umsetzen kann.

Diese Herausforderung spiegelt somit die Schwierigkeiten, welche einem in herkömmlichen Softwareprojekten begegnen, gut wider. Auch in Kundenprojekten ist man an Limitationen gebunden, in dessen Rahmen man die Ziele des Kunden umsetzen möchte.

So hat Discord zum Beispiel eine Limitation an Rollen, die an einzelne Personen vergeben werden können. Da der Server international aufgestellt ist, gibt es für jedes Land eine eigene Rolle. Das hat dazu geführt, dass das Limit von 250 Rollen schnell erreicht war und wir eine andere Lösung suchen mussten. So haben wir die Möglichkeit genutzt, dass man Channel-Regeln manuell überschreiben kann, um so einzelnen Personen auch ohne passende Rolle Zugriff zu geben.

Als Maintainer zu arbeiten, ist eine gute Möglichkeit zu lernen, Teams anzuleiten und zu betreuen. Das macht aus mir einen besseren Entwickler. Beispielsweise musste ich lernen, gewünschte Features gesamtheitlich zu betrachten und über den Tellerrand der unmittelbaren Aufgabenstellung hinauszuschauen.

Von meinen fortlaufenden Lernerfolgen als Open-Source-Maintainer profitieren meine Kollegen, newcubator und auch unsere Kunden.

Adrian Görisch
Adrian (Softwareentwickler)

... arbeitet als zuverlässiger Full-Stack-Softwareentwickler, aktuell hauptsächlich im Backend mit NestJS, ECMAScript und diversen Datenbanktechnologien. Besonders großen Wert legt er auf ordentliche... mehr anzeigen

Github

Standort Hannover

newcubator GmbH
Bödekerstraße 22
30161 Hannover

Standort Dortmund

newcubator GmbH
Westenhellweg 85-89
44137 Dortmund