Code of Conduct

Bild: code | Quelle: Jakob Breivik Grimstveit | Lizenz: CC BY-SA 2.0

 

Wer will nochmal, wer hat noch nicht? Es scheint in diesen Tagen so, als gäbe es Verhaltensregeln für Open-Source-Projekte gerade irgendwo im Sonderangebot. Nicht nur für den Kernel, sondern auch für GNU, QT und SQlite sind CoCs in Arbeit oder bereits eingeführt.

»Nobody is entirely happy with it, but we can live with it.« Linus Torvalds zum CoC

Klarstellung in Edinburgh

Zunächst hat zum Wochenbeginn Linus Torvalds den selbst auferlegten Code of Conduct für die Kernel-Gemeinde im Rahmen des Open Source Summit in Edinburgh während des Maintainer Summits erklärt, verteidigt und dann dazu aufgerufen, zunächst keine weiteren Änderungen vorzunehmen, sondern zu reagieren wie es die jeweilige Sachlage erfordert.  Er habe den CoC in aller Eile und nur nach Absprache mit Freunden eingebracht, weil er vorab Kenntnis des Artikels im New Yorker erhalten habe, der gezielt auf seine verbalen Entgleisungen abstellt.

Greg Kroah-Hartman erwähnte, der vorherige Code of Conflict bereits einige Jahre bestanden habe und lediglich drei eher substanzlose Beschwerden gezeitigt habe. Da fragt man sich doch, wozu der ganze Aufwand nun betrieben wurde? Wegen eines Zeitungsartikels, der ja nicht der erste seiner Art war?

Die Kernel-Entwickler kommen aus allen Ecken der Welt und bringen ihr ethnisches Erbe mit. So können Japaner auf direkte Kritik mit einem starken Gefühl der Scham reagieren. Auch ein noch so guter CoC wird nie auf alle Ethnien eingehen können. Dem Japaner hilft es in dem Fall nicht, wenn die Kritik freundlich vorgetragen wird. Vielleicht fühlen sich potenzielle neue Mitglieder der Kernel-Gemeinde aber eher animiert, den Schritt zu wagen.

Lob für RMS

Den Beweis, dass es auch besser geht, trat dieser Tage Richard Stallman an und gab dem GNU-Projekt nun festgeschriebene Verhaltensregeln. Anders als Torvalds, der sich für seinen Code of Conduct das nicht unumstrittene Contributor Covenant zur Vorlage genommen hatte, schrieb Stallman dem GNU-Projekt die GNU Kind Communications Guidelines auf den Leib. Er setzt auf Verständnis und Einfühlungsvermögen anstatt auf Regeln und Sanktionen. Das brachte ihm in der Community und in der Presse großes Lob ein.

Stallman stellte fest, dass sich neue Entwickler oft von der Teilnahme am GNU-Projekt ausgeschlossen fühlen, da ihnen die Kommunikation als unfreundlich, ablehnend oder rüde vorkommt. Daher sollen sich alle Mitwirkenden in den Diskussionen zum GNU-Projekt künftig bewusst darum bemühen, auf eine Weise zu kommunizieren, die dieses nicht wünschenswerte Ergebnis vermeidet.

Qt entwirft noch

Das Qt-Projekt ist noch nicht so weit, sondern steckt noch in der Entwurfsphase zu einem CoC. Dort heißt es unter anderem: »Wir möchten einen Weg aufzeigen, auf dem wir sicher konstruktive Kritik üben und Widerspruch einlegen können bei Ideen, mit denen wir nicht einverstanden sind, ohne respektlos gegenüber unseren Kollegen zu sein. Und wenn es Fälle gibt, in denen jemand aus diesem Bereich heraustritt, möchten wir einen Weg finden, das Problem friedlich zu lösen.« Auch Qt nimmt sich wie Torvalds das Contributor Covenant in Version 1.4 als Vorlage.

Völlig am Ziel vorbei

Was allerdings den Projektleiter von SQLite geritten hatte, als er seinem Projekt einen CoC mit reloigiösen Forderungen verpasste, fragen sich heute auf Twitter und anderswo viele Leser. Wenn andere Projekte in ihren Richtlinien Tugenden wie Freundlichkeit und Nächstenliebe einfordern, die durchaus Anleihen bei den 10 Geboten machen, orientieren sich die Regeln die D. Richard Hipp für das SQLite-Projekt aufgestellt hat, direkt an den fast 1.500 Jahre alten Regeln von St. Benedict von Nursia.

Was in dem Regelwerk von Hipp unter Punkt 2 als »The Rule« in 72 Regeln festgelegt wird, hat in Richtlinien für Entwickler nichts zu suchen, denn sie grenzen beispielsweise durch ihre Formulierung Atheisten von der Teilnahme aus. Mittlerweile wurden die Regeln von Hipp aufgrund massiver Kritik in den Hintergrund gedrängt und die Mozilla Community Participation Guidelines als Coc für SQLite bestimmt.

CoC von außen motiviert?

Stellt sich noch die Frage, warum gerade jetzt so viele Projekte sich einen CoC geben wollen. Ich vermute mal, dass der Anstoß meist nicht aus den Projekten selbst kommt, sondern von außen von Unternehmen, die den Code des Projekts nutzen, herangetragen wird. Hier wünschen sich die Rechtsabteilungen einen festgeschriebenen Text, auf den sie sich berufen und dessen Umsetzung einfordern kann.

Beitrag kommentieren

Alle Kommentare
  • chris_blues

    25.10.2018, 17:54 Uhr

    *kopfschüttel*

    Vielen FLOSS-Projekten sind zeitweise potentielle Entwickler abhanden gekommen, weil sie sich ungerecht behandelt gefühlt haben. Früher oder später hat das aber eben jenes Projekt selbst gemerkt und hat entsprechend reagiert. Indem z.Bsp. die betreffenden “respektlosen” Personen angezählt wurden usw. Warum man jetzt überall verschiedene Regelwerke braucht entzieht sich gänzlich meinem Verständnis!
    Jeder Mensch hat ein gewisses Selbstverständnis davon, wie er gerne behandelt werden möchte, also muß er alle anderen ebenso behandeln. Fertig!
    Bei manchen ist der Ton etwas rauher, bei anderen sehr sanft. Alle Menschen sind nun mal auch etwas anders. Aber ich habe es bisher nur sehr selten erlebt, daß sowas nicht in 2-4 Emails z.Bsp auf einer Mailingliste, erledigt worden wär. A la:
    – Hier ist mein neuer Code
    – Dein Code ist Mist!
    – Hey, ich mag deinen Ton nicht, du tust mir weh!
    – oh das tut mir leid, war nicht so gemeint – aber den Code nehmen wir so trotzdem nicht an
    Ende vom Lied!

    Nur hin und wieder gibt es Trolle, die sich mit aller Gewalt verletzt fühlen wollen. Allerdings braucht niemand solche Leute! Die kann man getrost in die Wüste schicken! Die produzieren weder brauchbaren Code, noch bringen sie sich anders sinnvoll ein. Die sind einfach nur laut und hauptberuflich verletzt.

    In der OpenSourcewelt herrscht meistens ein sehr sachlicher, nüchterner Ton, der von solchen Leute gerne als abschätzend oder respektlos markiert wird. Naja – man muß ja auch nicht in jedem Satz jemanden lobhudeln, nur weil sein Code Mist ist…

    Also, um klar zu sein: Leute respektlos zu behandeln ist Mist! Aber Leute, die eigentlich nur rumheulen, um des rumheulens willen, schaffen sich in der Regel selbst ab! Dazu braucht es kein Regelwerk.

    Mein Semf! :o)

  • Aynos

    25.10.2018, 19:55 Uhr

    Auch wenn ich der Kritik am seltsamen Sqlite-CoC grundsätzlich zustimme, dennoch eine kleine Einschränkung zur Kritik: Bevor es unter Punkt 2 mit The Rule losgeht, gibt es dort den Punkt 1.2. Scope of Application: “No one is required to follow The Rule, to know The Rule, or even to think that The Rule is a good idea….” Insofern wird niemand ausgeschlossen dem der Rest am A$ vorbeigeht, auch Atheisten nicht.

  • Naja

    26.10.2018, 08:55 Uhr

    Es wäre vielleicht noch hilfreich gewesen zu erwähnen, dass im SQLite-CoC ausdrücklich steht, dass er nicht verpflichtend ist:

    No one is required to follow The Rule, to know The Rule, or even to think that The Rule is a good idea. The Founder of SQLite believes that anyone who follows The Rule will live a happier and more productive life, but individuals are free to dispute or ignore that advice if they wish.

    • Ferdinand Thommes

      26.10.2018, 08:57 Uhr

      Das stimmt, hab ich übersehen. Dann stellt sich mir allerdings die Frage, warum das zunächst als CoC deklariert war. Sowas ergibt ja m.E. nur Sinn wenn es verbindlich ist.

  • Naja

    26.10.2018, 09:02 Uhr

    Dann stellt sich mir allerdings die Frage, warum das zunächst als CoC deklariert war. Sowas ergibt ja m.E. nur Sinn wenn es verbindlich ist.
    Steht doch auch da:

    1. Overview

    This document was originally called a “Code of Conduct” and was created (in a slightly different format) for the purpose of filling in a box on “supplier registration” forms submitted to the SQLite developers by various minor clients. However, we subsequently learned that “Code of Conduct” has a specific technical meaning within many software development communities, a meaning which was at odds with the intent of this document. Hence, this document is now renamed and replaced by a Code of Conduct that does comply with the specific techical requirements was inserted in the place of the old name.

    This document is still sometimes used as a “Code of Conduct” on supplier registration forms. But it is not a Code of Conduct in the same sense that many communities mean a Code of Conduct. Rather, this document describes the foundational ethical principals upon which SQLite is based. Another way to look at this document is as a succinct description of the SQLite Founder’s idea of what it means to be “virtuous”.

    Readers can also interpret this document as a primer on the world-view of the SQLite Founder, to help them better understand “where he is coming from”.

  • Daniel

    26.10.2018, 09:38 Uhr

    Den SQLite-CoC halte ich für eine Parodie auf die aktuelle CoC-Diskussion. Und sogar eine recht gelungene. Wenn es um ein gelungenes soziales Zusammenleben geht, ist die 1500 Jahre alte Benediktiner-Regel sicher erprobter als jeder andere CoC.

    • Ferdinand Thommes

      26.10.2018, 11:25 Uhr

      Die Idee mit der Parodie kam mir auch, habe ich dann aber verworfen als ich erfuhr, dass der CoC bereits vor acht Monaten veröffentlicht wurde.

  • tux.

    26.10.2018, 11:41 Uhr

    Meine Projekte bekommen einen Code of Merit.
    http://code-of-merit.org/

    Wer Verhaltensregeln haben will und ein festgeschriebenes Recht auf Mimimi, der soll sich gefälligst aus meinem Code raushalten. Da diskutiere ich gar nicht drüber. Ein technisches Projekt wie z.B. ein Programm oder ein Kernel ist keine Selbsthilfegruppe.

  • tuxnix

    27.10.2018, 14:02 Uhr

    Ein paar Assoziationen rund um das Thema:
    Die Regeln in einem Kloster sind von dem Bemühen bestimmt, eine dem Menschen gemäße Lebensweise zu etablieren. Wenn man sehr großzügig einmal davon absieht, dass viele Religionen für sich Alleingültigkeit reklamieren und mehr auf die Gemeinsamkeiten des jeweiligen Reglements achtet, entdeckt man plötzlich Gemeinsamkeiten. Klosterbrüder und gläubige Muslime unterbrechen 5 mal am Tag die Arbeit um innere Einkehr abzuhalten. Gerade ProgramierInnen würden solche Verhaltensregeln sehr zu Gute kommen. Insofern muss es kein Fehler sein, hier und da auch mal auf Benedikt Bezug zu nehmen.

    Um Japanern gerecht zu werden, sollte das Psychospiel auf den Kopf gestellt werden. Zwar handelt es sich in Japan prinzipiell um die gleichen Bedürfnisse, aber die Aufteilung der jeweiligen Aufgaben von Autorität, Gruppendynamik und intrapsychischen Prozessen sind diametral verschieden zu der Praxis in unserem Kulturkreis. Ich wünsche da mal viel Spaß beim Formulieren eines gemeinsamen Regelwerks.

    Vielleicht ist es kein Zufall, dass sich die Projekte gerade jetzt damit auseinandersetzen, denn Computer bestimmen immer mehr unser Leben.
    Wenn dein wichtigster Mensch Alexa heißt und eine KI darüber bestimmt ob das Arbeitsamt dir eine Fortbildung spendiert, muss es kein Fehler sein, menschliche Umgangsformen im Sourcecode zu verankern. Möge die heilige KI das Gebet erhören und gelegentlich Gnade walten lassen.

    Der CoC ist ein Bug.
    Die Chance die sich damit verbindet, gleicht der Hoffnung, dass das Programm an dieser Stelle abstürzt.