5 Gründe für Contributing Open Source

Von Roland Golla
0 Kommentar
Contributing Open Source

Was gibt es für 5 Gründe für Open Source Contributing. Diese Frage habe ich mir jetzt aktuell gestellt. Denn ich habe mich dazu entschieden jede Woche mindestens 90 Minuten in Open Source Projekten zu helfen. Dabei gehe ich sogar noch einen Schritt weiter. Meine Arbeit wird direkt live auf YouTube übertragen und dort auch in Zukunft zur Verfügung stehen. Neben meiner Arbeit für ein neues Level mit PHPStan im Sulu Core haben wir dort auch schon etwas für ein Maven Plugin getan. In der Vergangenheit gab es auch schon eine Folge zu PHPStan im TYPO3 Code. Alexander Schnitzler setzt sich hier als TYPO3 Freelancer intensiv in seiner Freizeit ein. Das fand ich sehr inspirierend und motivierend. Leider tun das zu wenig Entwickler. Daher heute mal ein paar Argumente mitzumachen.

Etwas zurückgeben – Das Prinzip von Open Source Projekten

Tue gutes und es wird dir besser gehen. Wir nutzen alle sehr selbstverständlich unglaublich viele Open Source Projekte. Und freuen uns über jedes Composer Update. Dann wird alles schneller, besser und sicherer. Tatsächlich passiert das überwiegend Aufgrund der Entwicklung von freiwilliger Arbeit in der Freizeit. Open Source Projekte können sich kaum selber finanzieren und tragen. Gerade deshalb sind sie auf den persönlichen Einsatz von uns, mir und in Zukunft hoffentlich auch deinen Einsatz angewiesen. Und wer einfach immer nur nimmt und nichts zurückgibt wird vielleicht schon aus inneren sozialen Gründen ein schlechtes Gewissen entwickeln. Daher einfach mal was zurück geben. Und wenn es auch nur eine Zeile ist. Das macht stolz, glücklich und ist für eine gute Sache.

Contributing Open Source Symfony CMS Sulu
Contributing Open Source Symfony CMS Sulu

Spezifisches Wissen in seiner Domäne aufbauen – Open Source bringt echte Skills

Wenn wir gemeinsam auf YouTube programmieren, stelle ich zu Beginn gerne die Frage, warum man als Programmierer etwas für Open Source tun soll. Alexander Schnitzler, PHP Freelancer aus Düsseldorf, hat das doch sehr eindrucksvoll auf den Punkt gebracht. In der Software, in seinem Fall TYPO3, hat er sich durch die langjährige Arbeit am TYPO3 Core – 415 Commits – ein absolut gutes Know-how für seine Arbeit als TYPO3 Entwickler aufgebaut. Er ist nicht einfach nur ein Anwender sprich User unter den Programmierern, sondern einer dessen Wissen weit über den Tellerrand hinausgeht. Er weiß auch, wohin sich das System entwickelt und kann das sogar mit seiner sehr geschätzten Meinung mit beeinflussen. Dieses Special Skill Know-how gibt es nicht in Büchern und Tutorials oder Schulungen. Man kann es nicht kaufen. Es ist vertieftes Profi Wissen. Das ist genau das, was Vollblut TYPO3 Profis, wie Alexander, Daniel Spiepmann oder auch Sebastian Schreiber von anderen Entwicklern unterscheidet.

PHP Schulung Legacy Code
PHP Schulung Legacy Code

Feedback bekommen und daraus lernen – Develop yourself

Richtig gute Entwickler, die ihr Wissen teilen und sich gemeinsam darüber freuen, wenn Software einfach noch besser wird sind selten. In meiner durchaus langen Karriere als Entwickler habe ich in einer Vielzahl von Teams für unterschiedliche Arbeitgeber und Projekte gearbeitet. Aber die besten Entwickler, die ich fachlich einmal so einstufe, sind Entwickler u.a. vom TYPO3 Core, dem Sulu CMS Team und bei SensioLabs vom Symfony Framework. Natürlich keine ich auch einige Szene Größen, wie Sebastian Bergmann. Kaum jemand anderes verkörpert Software Craftsmanship in seiner Sache an sich so sehr wie er. Die Aufzählung könnte ich mit Sicherheit noch weiter ausführen, aber eines ist schon jetzt klar. Sehr gute Entwickler engagieren sich in Open Source Projekten. Man lernt sie also kennen, wenn man sich selber einbringt. Wenn man solche Open Source Profis fragt, warum sie das machen stellt sich hier ein wichtiger USP heraus. Sie lernen durch die gemeinsame Arbeit sich immer weiter zu verbessern. Lernen neuen Blickwinkel und Tools kennen und erweitern ständig ihrer Horizont. Von daher schaut euch einfach mal aktuelle Änderungen und wichtige Klassen und Methoden eurer Lieblingssoftware an. Dort findet ihr wer das geschrieben hat und wahrscheinlich auch eine Erläuterung warum. Oft gibt es sogar den ganzen Verlauf mit Diskussion hierhin. Es lohnt sich.

Remote PHP Training PHPStan Captainhook
Remote PHP Training PHPStan Captainhook

Auf der Arbeit hat ein Produkt keinen so hohen Anspruch – Professionelle Open Source Projekte sind absolut zuverlässige Projekten

Betrachten wir einmal die Anzahl an PHPUnit Tests im TYPO3 Core und dem Symfony Framework. Im Sulu CMS werde ich mich in Zukunft hier weiter einbringen 😉 Nur durch Unit Tests ist es möglich Software auf Code Ebene zu refactorn und kontinuierlich zu verbessern und weiterzuentwickeln. Hat man keine Tests kann man zwar mit Tools wie PHPStan oder Psalm die Qualität stark verbessern, aber keine Innovation erzeugen. Und wie sieht die Testabdeckung in eigenen oder Kundenprojekten so aus. Die müssen halt „fertig“ werden und einfach laufen. Ob die sich überhaupt einmal weiterentwickeln oder eher erhalten bleiben ist dabei fraglich. Natürlich bestätigen viele tolle Ausnahmen und Arbeitgeber diese doch leider stark verbreitete Tatsache. Professionelle Softwareentwicklung findet man also auf jeden Fall im Bereich Open Source. Und die steht mit all ihrem Know-how, der Community, ihren Dokumentationen und einer offenen Mentalität deinem freiwilligen Einsatz offen, dankbar und helfend gegenüber.

#NCADiscussion Kunde vs Coder
#NCADiscussion Kunde vs Coder

Support bekommen und besser vernetzen mit Freelancern, Agenturen und anderen Entwicklern

Über meine Arbeit an den Open Source Projekten TYPO3 und auch Sulu CMS bin ich sehr gut in beiden Communities vernetzt. Hier habe ich also einen direkten Draht zu sehr guten Entwicklern, die mir bei meiner täglichen Arbeit auch immer mal einen hilfreichen und zeitnahen Tipp geben können. Das ist ein großer Vorteil. Denn natürlich laufe auch ich immer wieder in Fehler, die Programmierer mit mehr Erfahrung in dem spezifischen Kontext mit Leichtigkeit lösen. Das könnte ich natürlich auch nur über die Slack Channel haben. Aber wenn man sich hier in einem Open Source Projekt engagiert, dann ist man den Leuten natürlich näher. Abgesehen davon hat man auch bei den ersten Gehversuchen eine Menge Kontakt bei dem „Onboarding Prozess“. Und hier ist man dann mit Code Developern vernetzt. Denen kann man natürlich nicht den ganzen Tag dumme Fragen stellen. Aber man kann sich über Best Practice informieren. Also Pipelines, Deployments, Upgrades, Hosting, Cookie Banner etc.

NCAPAIR - Pair Programming #CITT Continuous Integration
NCAPAIR – Pair Programming #CITT Continuous Integration

Fazit zum Thema Contributing Open Source

Wichtig im Leben und auf der Arbeit ist das Thema Wertschätzung. In Open Source Projekten wird sehr viel gearbeitet. Wir als Entwickler freuen uns immer wieder über neue Features und erwarten auch schon immer die neuen Versionen. Dahinter steckt viel Arbeit, die hauptsächlich ehrenamtlich ausgeführt wird. Hier kann man einfach mal etwas mithelfen und so die Arbeit wertschätzen. In dem Moment bekommt man auch eine Vorstellung davon, wie hoch der Anspruch an Code ist und wie komplex solche Prozesse sind. Und das sind gewachsene Team Prozesse mit ganz vielen Best Practice Methoden. Wenn man auf der Arbeit etwas verbessern möchte, dann sollte man sich daran orientieren. Darüber hinaus lernt man sehr viel neues an Tools und auch Methoden kennen. Das ist echt hilfreiches und wichtiges Know-how. Und man ist auch in seinem technologischen Kontext sehr gut vernetzt und bekommt sehr gute Hilfe, wenn man mal irgendwo hängt. Also einfach eine richtig tolle Sache.

0 Kommentar

Tutorials und Top Posts

Gib uns Feedback

Diese Seite benutzt Cookies. Ein Akzeptieren hilft uns die Seite zu verbessern. Ok Mehr dazu