"Do Less. Enable More."

Offen für Alle: Ein Verhaltenskodex für Go

Michael Thomas

© Shutterstock.com/Nenov Brothers Images

Russ Cox, technischer Leiter von Go, nutzte die Eröffnungs-Keynote der diesjährigen Gophercon, um über Googles Gründe für die Überführung der Programmiersprache in ein Open-Source-Projekt sowie über die Notwendigkeit, einen Code of Conduct zu entwerfen, zu referieren.

Zur Erinnerung: Ursprünglich (seit 2007) wurde Go unter alleiniger Federführung von Google entwickelt. Ziel des Projekts war es, den internen Softwareentwicklungsprozess produktiver machen, wobei die Probleme des Unternehmens allgemeingültiger Natur waren: Programmierer sollten zum einen in die Lage versetzt werden, den Herausforderungen skalierbarer Nebenläufigkeit besser begegnen zu können. Zum anderen stand als übergeordnetes Ziel fest, eine bessere Umgebung für die Erfordernisse skalierbarer Softwareentwicklung, die auf unzählige Programmierer verteilt ist, zu liefern.

Um dieses Ziel zu erreichen, so der technische Leiter von Go, Russ Cox, in seiner Keynote, verfolgte die Sprache seit je her den Ansatz „Do Less. Enable More„, was in diesem Fall soviel heißen soll wie: Man kann sich zwar nicht um alles kümmern, in einigen Dingen aber richtig gut werden. Wählt man diese Dinge sorgsam aus, so Cox weiter, erhält man eine Grundlage, die Entwicklern die Möglichkeiten an die Hand gibt, genau die Lösungen und Tools zu bauen, die sie benötigen.

Aus diesem Grund entschied man sich dafür, Go so klein wie möglich zu halten, damit die Sprache gleichzeitig möglichst einfach zu verstehen, zu implementieren, zu debuggen und weiterzuentwickeln ist. Insbesondere in diesem Punkt unterscheidet Go sich gewissermaßen von funktionalen Sprachen, wie etwa Scala: Letztgenannter wurde in der Vergangenheit beispielsweise häufig unterstellt, sie sei unzugänglich und weise eine zu komplexe Syntax sowie zahlreiche weitere Mängel wie etwa eine zu lange Compile-Zeit auf. Auch sehr persönlich wurde die Diskussion häufig, so unterstellte man Scala-Anhängern gerne, einen sich abgrenzenden, elitären Zirkel mit arrogantem Habitus zu bilden.

Cox’s weitere Ausführungen könnte man deshalb als eine Art Gegenentwurf sehen: Geschlossene Sprachen und solche, in denen wenig Software geschrieben wird, sterben Cox zufolge einen mal schnelleren, mal langsameren Tod. Auch deswegen brauche jede Sprache eine möglichst große Community: Je größer diese sei, desto eher und schneller würden Bugs aufgespürt und beseitigt, desto mehr Tools und Bibliotheken entstünden, desto mehr Use Cases würden abgedeckt. Und all dies, so Cox weiter, wäre niemals zu realisieren gewesen, wenn Go weiterhin nur von Google entwickelt worden wäre.

Code of Conduct

Googles Rolle bei Go hat sich seit der Überführung der Sprache in ein Open-Source-Projekt gewandelt und lässt sich ebenfalls mit der Parole „Do Less. Enable More“ treffend umschreiben: Die wichtigste Aufgabe des Unternehmens ist nun, die Vision von Go zu kommunizieren und die Community bei der Koordinierung ihrer Tätigkeiten zu unterstützen. Das Design und die tatsächliche Weiterentwicklung der Sprache hingegen werde laut Cox mehr und mehr in die Hände der Community gelegt, bis diese schlussendlich komplett dafür verantwortlich sei. Da diese zu diesem Zweck so groß wie irgend möglich sein sollte, muss sie Cox zufolge so inklusiv, einladend, hilfsbereit und respektvoll wie irgend machbar gestalten werden.

Die aus diesem Ansatz ableitbaren Grundsätze des Miteinanders in Online-Dikussionen und Offline-Treffen sollen, so Cox weiter, nun in absehbarer Zeit in einer entsprechenden Spezifikation schriftlich festgehalten werden. Diese soll einerseits allgemein genug gehalten sein, um zahlreiche Implementierungen zu erlauben, andererseits spezifisch genug, um relevante Probleme genau zu identifizieren. Oder anders ausgedrückt: Ein Code of Conduct soll her.

Doch wie soll dieser genau aussehen? Zunächst identifiziert Cox als wichtigste Aussage, dass jeder, der Go nutzen oder darüber diskutieren möchte, in der Community willkommen ist. Denn, wie Cox anmerkt, kann sich der Umgangston in einer Gemeinschaft sehr schnell zu deren limitierendem Faktor entwickeln. Als problematisch betrachtet Cox den seiner Ansicht nach insbesondere in der Tech-Community anzutreffenden Hang zu einer offenen, unverblümten und schonungslosen Kommunikation. Vor allem in Online-Diskussion, in denen Mimik und Gestik in der Regel fehlen, kämen manche verkürzten Nachrichten sehr schnell falsch beim Adressaten an, was diesen wiederum dazu veranlassen könne, sich schnell wieder von Go abzuwenden. Ein gut ausgearbeiteter Verhaltenskodex für die alltägliche Interaktion, die Art und Weise, miteinander zu kommunizieren, könne hier hilfreich sein.

Da das Team mit dem Verfassen eines derartigen Schriftstücks bislang jedoch keine Erfahrung hat, wird Cox zufolge höchstwahrscheinlich die modifizierte Version eines bestehenden Code of Conduct zum Einsatz kommen. Als explizites Vorbild und möglichen Kandidaten bezeichnet Cox den des Web-Frameworks Django, da dieser in seiner Ausgestaltung Regeln für die alltägliche Interaktion enthält:

Be friendly and patient. Be welcoming. Be considerate. Be respectful. Be careful in the words that you choose. When we disagree, try to understand why.

Diese Regeln seien genau das, was man für ein für Neulinge einladendes Umfeld brauche. Es sei zwar unwahrscheinlich, den Vorgaben zu jeder Zeit gerecht zu werden, nichtsdestotrotz sei es jedoch ein gutes Ziel, es ständig zu versuchen.

Der Ausschluss von diskriminierendem Verhalten aufgrund von ethnischer Herkunft, Geschlecht, Behinderung oder anderer Charakteristika, sowie Belästigungen und Schikane, wird von Cox zwar nicht explizit thematisiert, soll analog zu anderen Kodizes jedoch definitiv auch Teil des Regelwerks werden – auch wenn sich dies aus den zuvor genanten Richtlinien streng genommen bereits von selbst ergibt. Schlussendlich, so Cox, könne die Go-Community somit zu einer der freundlichsten, einladendsten, rücksichtsvollsten und respektvollsten Tech-Community überhaupt werden. Dies würde, so Cox, nicht nur der Entwicklung der Sprache einen gewaltigen Schub geben, sondern auch zur Ehre aller Mitglieder gereichen.

Aufmacherbild: code of conduct concept von Shutterstock / Urheberrecht: Nenov Brothers Images

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: