Wie hier im Blog angekündigt, fand am 29. Oktober 2016 bei Wikimedia die Veranstaltung Ladies that FOSS statt. Und ich war dabei!
Die Idee von Ladies that FOSS war es, Frauen und Nonbinaries, den Einstieg in eine Community zu erleichtern, die Freie Software entwickelt. 9 Softwareprojekte waren hatten sich angemeldet. Darunter waren sehr bekannte, wie Mozilla Firefox, der Owncloud-Fork Nextcloud, LibreOffice und natürlich MediaWiki und Wikidata. Es gab aber auch tolle, unbekanntere Projekte, z.B. Riot, ein freies Betriebssystem für Embedded Devices, das Internet of Things. Oder inventaire.io, mit dem man Bücher inventarisieren und sich notieren kann, wem man sein Zeug ausgeliehen hat. Von all den Projekten waren Mentor*innen anwesend, um den Teilnehmenden zu helfen und Fragen direkt zu beantworten.
Eine Teilnahmevorraussetzung waren mindestens Grundkenntnisse im Programmieren. Im Anmeldeformular wurden die Interessierten aufgefordert, die Programmiersprachen aufzuführen, die sie können, und das eigene Niveau jeweils selbst einzuschätzen. Nach diesen Angaben hat die Orgagruppe die Interessierten und die teilnehmenden Softwareprojekte zusammengeführt. Ich landete im Team MediaWiki. Einige Tage vor der Veranstaltung bekam ich Instruktionen zur Einrichtung der Entwicklungsumgebung auf meinem Laptop. Am Tag selbst hatte jedes Projekt einen Gruppentisch, wo wir uns niedergelassen haben. Nach der Begrüßung haben sich erstmal alle Projekte kurz vorgestellt.
Dann sollte es losgehen! Wir bekamen jede* eine offene Aufgabe aus dem Bugtracker des Projekts. Bei meiner Aufgabe ging es darum, das Log einer bestimmten MediaWiki-Erweiterung umzubauen, also auf eine neuere, differenziertere Art des Logging umzustellen. In meiner Gruppe war der „Betreuungsschlüssel“ sehr gut, auf vier oder fünf Neulinge kamen drei MediaWiki-Menschen. Das war gut, denn bis zur Mittagspause wurden die ersten Einstiegshürden deutlich. (Beim Essen erfuhr ich von Ladies* aus anderen Gruppen, dass es ihnen ähnlich ging.)
- Es ist sehr wichtig, Interessierten bei der Installation der technischen Voraussetzungen zu helfen, bevor sie überhaupt loslegen können. Besonders diejenigen, die Programmieren über browserbasierte Online-Tutorials gelernt haben, brauchten Hilfe bei der Installation von Programmiersprachen, einem Versionskontrollsystem oder einer virtuellen Maschine zum Testen auf ihrem Computer. Das Herstellen der Arbeitsumgebung ist oft schon sehr projektspezifisch und für Außenstehende bzw. Anfänger*innen sehr voraussetzungsvoll.
- Eine konkrete Aufgabe ist oft nur mit mehr Hintergrundwissen zu dem jeweiligen Softwareprojekt zu bewältigen. Wie ist das, woran ich jetzt arbeiten möchte, aufgebaut? Habe ich alle Informationen, die ich brauche, wenn ich die Aufgabe im Bugtracker durchlese oder welches Wissen fehlt mir, das da nicht mit drinsteht?
- Beim Programmieren gibt es ja meistens mehrere Wege zum Ziel. Welche sind das, welchen Weg nehme ich und warum? Diskussionen zwischen Mentor*innen über die verschiedenen Möglichkeiten sind gerade für Programmier-Einsteiger*innen leicht verwirrend.
Ich habe dann damit angefangen, die existierende Logdatei und den Code, aus dem sie ensteht, in meiner Testinstallation zu suchen. Dort habe ich dann erstmal viele lustige Zeichen eingefügt, um überhaupt zu erkennen, was ich im Testwiki machen muss, damit Output ins Log geschrieben wird und die verschiedene Fälle auseinanderzuhalten. Dann wusste ich schon mal, wie ich ausprobieren kann, ob die Änderungen im PHP-Code etwas bewirken. Beim Einbau von Änderungen brauchte ich auch eine Menge Hilfe. Die drei Helfenden saßen also eigentlich den ganzen Tag zwischen uns und haben beraten, Code erklärt, Beispiele gegeben und Hintergrundinfos eingebracht. Schließlich ging es noch darum, den Lösungsvorschlag in gerrit, das Werkzeug für Code-Review bei MediaWiki einzupflegen, so dass andere dort drüberschauen, Feedback geben und ggf. den neuen Code aufnehmen.
Gegen Ende gab es eine kleine Präsentation: Von jedem Tisch konnte eine Person auf dem Beamer ihre Aufgabe und ihr Ergebnis zeigen. Meine eigene Aufgabe ist bis jetzt leider noch nicht richtig fertig. Ich habe es z.B. nicht geschafft, verschiedene Loglevel dort einzubauen, also z.B. zwischen Infos und Fehlermeldungen zu unterscheiden. Der Entwurf liegt in der Code-Review und wurde dort diskutiert. Von der Diskussion verstehe ich aber nur Teile, so dass ich (noch) nicht weiß, ob ich das fertigstellen kann. Mich würde interessieren, wie das bei den anderen nach der Veranstaltung weiterging. Sind ihre (Eure) Beiträge letztlich tatsächlich in der Codebase des Projektes gelandet?
In jedem Fall hat der Tag sehr viel Spaß gemacht! Er war eine tolle Gelegenheit, einerseits die Projekte und die dort involvierten Mentor*innen kennenzulernen, einen konkreten Anfang zu machen und ein bisschen herauszufinden, wie die Community ticken mag. Andererseits ist es auch immer spannend, etwas über die anderen Teilnehmenden zu erfahren. (Dafür war vor lauter Coden eigentlich viel zu wenig Zeit. ;) )
Eine weitere Beobachtung: Unter den Ladies That FOSS waren etliche bekannte Gesichter, teils vom Berliner Adacamp vor 2 Jahren, teils von einem PyLadies-Workshop, an dem ich vor Monaten mal teilgenommen habe. Das fand ich sehr schön zu sehen, denn offenbar gibt es hier in Berlin einen vielleicht kleinen, aber stetig dranbleibenden Kreis von Frauen* bzw. Nonbinaries, die programmieren und sich für Vernetzung und sogar für Freie Software interessieren und einsetzen. Yes! :)