IRC / Echtzeit-Nachrichtendienste

Viele Projekte bieten Chat-Foren über Internet Relay Chat (IRC) an, in denen Nutzer und Entwickler einander Fragen stellen können und sofort Antworten erhalten können. Auch wenn Sie einen IRC-Server über Ihre eigene Webseite betreiben können, ist es im allgemeinen den Aufwand nicht wert. Machen Sie statt dessen was alle anderen auch machen: Betreiben Sie Ihre IRC-Kanäle auf Freenode (http://freenode.net/). Freenode bietet Ihnen die nötige Kontrolle um die IRC-Kanäle für Ihr Projekt zu verwalten[32], da Sie Ihnen die nicht unwesentliche Mühe ersparen, einen eigenen IRC-Server zu betreiben.

Das erste was Sie tun müssen, ist einen Namen für den Kanal auszusuchen. Die offensichtlichste Wahl ist der Namen Ihres Projekts – wenn dieser bei Freenode verfügbar ist, nehmen Sie ihn. Wenn nicht, wählen Sie etwas möglichst ähnliches und leicht zu merkendes. Bewerben Sie den Kanal auf Ihrer Webseite, damit Besucher mit kurzen Fragen hat ihn gleich finden. Folgender Hinweis erscheint z.B. markant in einem Kasten oben auf der Hauptseite von Subversion:

Wenn Sie Subversion nutzen, empfehlen wir Ihnen die users@subversion.tigris.org Mailingliste zu abonnieren und das Subversion-Buch sowie die FAQ zu lesen. Sie können auch Fragen im IRC stellen auf irc.freenode.net im Kanal #svn.

Manche Projekte haben mehrere Kanäle, einen für jedes Unterthema. Einen z.B. für Probleme bei der Installation, einen weiteren für Fragen der Nutzer, noch einen für Diskussionen der Entwickler, usw. („Handhabung von Wachstum“ im Kapitel Kapitel 6, Kommunikation behandelt wie man die verschieden Kanäle aufteilt). Wenn Ihr Projekt noch jung ist, sollte es nur einen Kanal geben, indem alle zusammen miteinander reden. Später, sobald das Verhältnis von Nutzer zu Entwickler zunimmt, kann es nötig werden separate Kanäle zu haben.

Wie sollen Leute von allen Kanälen wissen und woher sollen sie gar wissen in welchen sie reden sollen? Und wenn sie reden, woher sollen sie die hiesigen Konventionen kennen?

Die Antwort ist, es ihnen zu sagen, indem man den channel topic entsprechend setzt.[33] Der Topic des Kanals ist eine kurze Nachricht, die jeder Nutzer beim betreten des Kanals sieht. Es gibt Neulinge eine kurze Anleitung und Hinweise wie sie an weitere Informationen kommen wie z.B.:


Sie sind jetzt in #svn

Topic: #svn ist ein Forum für Fragen von Subversion-Benutzern, siehe 
auch http://subversion.tigris.org/. || Entwickler-Diskussionen finden 
in #svn-dev statt. || Fügen Sie hier bitte keine langen Protokolle ein,
nutzen Sie hierzu eine Pastebin-Seite wie http://pastebin.ca/. || 
Neuigkeiten: Freigabe von Subversion 1.1.0, weiteres dazu auf
http://svn110.notlong.com/.

Das ist zwar knapp, aber es sagt Neueinsteigern, was sie wissen müssen. Es sagt genau wofür der Channel ist, enthält den Link zur Webseite des Projekts (falls jemand an dem Channel vorbei kommt, ohne vorher darauf gewesen zu sein), erwähnt einen verwandten Channel, und gibt ein wenig Anleitung dazu, wie umfangreiche Einfügungen zu handhaben sind.

Bots

Viele IRC-Kanäle mit einem technischen Thema haben einen nicht-menschlichen Teilnehmer, einen sogenannten Bot, der in der Lage ist, auf bestimmte Befehle zu reagieren, indem er Informationen speichert und wiedergibt. Typischerweise wird der Bot genau wie jeder andere im Kanal angesprochen, d.h. die Befehle werden übermittelt, indem man den Bot "anspricht". Z.B.:

<kfogel> ayita: learn diff-cmd = http://subversion.tigris.org/faq.html#diff-cmd
<ayita>  Thanks!

Dem Bot (mit dem Namen ayita im Kanal angemeldet) wurde dadurch gesagt, dass er sich eine bestimmte URL merken soll und bei einer Anfrage nach "diff-cmd" wiedergeben soll. Jetzt können wir ayita ansprechen und bitten einem anderen Nutzer etwas über das diff-cmd zu erzählen:


<kfogel> ayita: tell hmustermann about diff-cmd
<ayita>  hmustermann: http://subversion.tigris.org/faq.html#diff-cmd

Dafür gibt es auch ein Kürzel:


<kfogel> !a hmustermann diff-cmd
<ayita>  hmustermann: http://subversion.tigris.org/faq.html#diff-cmd

Der genaue Befehl und das Verhalten unterscheidet sich bei jedem Bot. Das obige Beispiel benutzt ayita (http://hix.nu/svn-public/alexis/trunk/), wovon üblicherweise in #svn eine Instanz läuft. Andere Bots sind unter anderem (http://dancer.sourceforge.net/) und Supybot (http://supybot.com/). Beachten Sie, dass man keine besonderen Rechte auf den Server haben muss um einen Bot zu betreiben. Ein Bot kann auf einem beliebigen Rechner betrieben werden; jeder kann einen Einrichten und anweisen einen bestimmten Server/Kanal zu betreten.

Wenn Sie in Ihrem Kanal bemerken, dass immer wieder die gleichen Fragen gestellt werden, empfehlen ich Ihnen dringend, einen Bot einzurichten. Nur wenige Nutzer im Kanal werden herausfinden wie der Bot zu bedienen ist, diese Personen werden aber umso mehr Fragen beantworten können, wenn der Bot es Ihnen ermöglicht, um so vieles effektiver zu antworten.

IRC-Archivierung

Auch wenn es möglich ist, alles in einem Kanal zu archivieren, wird das nicht unbedingt erwartet. Unterhaltungen im IRC sind im Grunde genommen öffentlich, aber viele betrachten es sie als informelle, halbwegs private Unterhaltungen. Nutzer neigen dazu nicht so sehr auf ihre Grammatik zu achten und äußern Meinungen (zum Beispiel über andere Entwickler im Projekt) die sie nicht unbedingt archiviert haben möchten.

Es wird natürlich manchmal Auszüge geben, die erhalten werden sollte und das ist auch in Ordnung. Die meisten IRC-Anwendungen können, wenn der Nutzer das möchte, Unterhaltungen mitschneiden oder wenn das nicht geht, kann die Unterhaltung immer noch aus dem Fenster der Anwendung heraus kopiert und in ein beständigeres Forum (meistens der Bugtracker) einfügt werden. Alles mitzuschneiden kann aber manche Nutzer unruhig machen. Wenn sie doch alles archivieren, stellen Sie sicher, dass es klar im Topic erklärt wird und geben Sie die URL des Archivs an.



[32] Es gibt keine Voraussetzung oder Erwartung, dass Sie an Freenode spenden, wenn Ihr Projekt es sich aber leisten kann, sollten Sie es in Erwägung ziehen. Sie sind eine von Steuern befreite gemeinnützige Einrichtung in den USA und sie betreiben einen wertvollen Dienst.

[33] Um den Topic in einem Kanal zu setzen, benutzen Sie den /topic Befehl. Alle Befehle im IRC fangen mit einem "/" an. Siehe http://www.irchelp.org/ wenn Sie nicht mit der Nutzung und Administration von IRC vertraut sind; insbesondere ist http://www.irchelp.org/irchelp/irctutorial.html eine hervorragende Anleitung.