Ob GIMP, VLC Media Player oder Linux – freie Software begegnet einem im alltäglichen Computerleben häufiger als man vielleicht erwartet. Doch was ist alles nötig, um solch ein Projekt auf die Beine zu stellen?
Jonah Brüchert, Mitentwickler des offenen Messengers »Kaidan« berichtet von seinen Projekterfahrungen.
Open-Source-Projekte beginnen oft als ein kleines Hobby der Entwickler*innen. Mit der wachsenden Bekanntheit des Projektes wachsen sie häufig darüber hinaus, denn die Nutzenden des Projektes wünschen sich meist neue Funktionen und finden Fehler. Auch die Anzahl der Mitwirkenden steigt oftmals und es wird nötig die Ausrichtung des Projektes festzulegen.
Dieser Artikel soll meine Erfahrungen am Beispiel des Projekts Kaidan schildern, das eine Chat-App mit besseren Datenschutzverhältnissen entwickelt. Kaidan war das erste größer angelegte Vorhaben, an dem ich beteiligt war. Auch anderen Beteiligten ging das ähnlich. So haben wir laufend dazu gelernt und auch einige Fehler gemacht, die sich in künftigen Projekten vermeiden ließen. Hoffentlich ist dieser Artikel dabei hilfreich.
Projektorganisation – von Leiten und Leiden
Zur Führung eines Projekts gibt es verschiedene Ansätze. In einigen Projekten ist der oder die Gründer*in eine Art Chef auf Lebenszeit, und entscheidet über Ziele und deren Umsetzung. Während dies den Vorteil einer oft sehr klaren Entscheidungslage hat, ist es auch eine sehr hohe Belastung für die Leitung des Projekts, die sich um alles Organisatorische kümmern muss. Nicht selten stellen diese Menschen irgendwann fest, dass sie gar keine Zeit mehr haben, das zu tun was ihnen eigentlich Spaß gemacht hat – nämlich die Programmierung. Zusätzlich kann dies auch zu einem Gefühl der Ungerechtigkeit bei den weiteren Team-Mitgliedern führen, die zwar vielleicht viel Code beitragen, aber gar nicht mit entscheiden dürfen.
Oft gibt es deswegen eine Art Kompromisslösung, also eine kleine Zahl von Beitragenden, die entweder durch ihre lange Teilnahme am Projekt oder sehr große Beiträge eine Führungsrolle einnehmen. Während dies deutlich gerechter ist, kommt es hin und wieder zu langwierigen Diskussionen oder Streits über die Zielsetzung des Projekts, die sehr kräftezehrend und manchmal sogar abstoßend auf neue Beitragende wirken können.
Die dritte Variante ist eine Umsetzung weitgehend ohne Führung. Oft reguliert sich solch ein Projekt durch soziale Effekte, wie z. B. dadurch, dass neue Mitwirkende oft bei denen, die lange dabei sind, nach Verbesserungsvorschlägen, Überprüfung von Änderungen oder der Meinung fragen.
Der herausragende Vorteil des dritten Ansatzes ist: Selbst wenn der oder die Gründer*in das Projekt verlässt, stellt dies kein grundsätzliches Problem dar. Denn es gibt meist andere Menschen, die seine oder ihre Arbeit übernehmen können. Dadurch kommt es nicht zu einem „Machtvakuum“. Allerdings entsteht manchmal auch eine Unklarheit über das Ziel, was ebenfalls in langen Diskussionen darüber enden kann, welche Funktionen aufgenommen werden sollten und welche nicht.
Kaidan, das Projekt an dem ich beteiligt bin, stellt am ehesten die zweite Variante dar, also die mit einer Gruppe von Entscheidenden. Allerdings hatten wir anfangs wenig Erfahrung mit der Organisation von Projekten, sodass wir uns nicht sicher waren, wie viele Regelungen nötig sind.
In der Entwicklung stellen sich nämlich oft Fragen zu Abläufen, z. B. ob jede Zeile Code erst durch eine*n andere*n Entwickler*in überprüft werden muss. Im Nachhinein lässt sich sagen, dass es vorteilhaft ist, solche Vorgaben von Anfang an festzulegen. Wenn die Frage dann aufkommt, ist sie auf diese Weise einfach zu beantworten und muss nicht schnell und überstürzt entschieden werden.
Öffentlichkeitsarbeit
Eine andere wichtige Aufgabe für den Erfolg eines Projekts ist die Bewerbung, damit potenziell Interessierte davon erfahren. Je nach Zielsetzung und aktuellem Fortschritt der Entwicklung können unterschiedliche Varianten sinnvoll sein.
Nutzende finden Software oft über eine Internetsuche. Es lohnt sich also eine interessante Website mit einer möglichst generell gehaltenen und verständlichen Beschreibung zu veröffentlichen. Um existierende Benutzer*innen über den Fortschritt der Entwicklung und neue Funktionen zu informieren oder Fragen zu beantworten, sind auch Präsenzen in sozialen Medien sinnvoll.
Es ist vorteilhaft, auf der Webseite oder in sozialen Medien ab und zu Status-Updates zu veröffentlichen, da Menschen dadurch regelmäßig an das Projekt erinnert werden. Im Idealfall verbreiten sie die Artikel sogar und sorgen so für eine größere Reichweite und Nutzerbasis.
Um sich mit anderen Entwickler*innen auszutauschen, ist die Teilnahme an Konferenzen mit inhaltlichem Bezug zum Projekt eine nützliche Sache: Während die Teilnahme oft sehr viel Spaß macht, ist es möglich viel von anderen zu lernen und sie über das eigene Projekt zu informieren.
Nutzerbasis pflegen und Projekt ausbauen
Nach ein bisschen Öffentlichkeitsarbeit werden Softwareprojekte oft schnell in Firmen, Vereinen oder in Privathaushalten eingesetzt. Dann ist es wichtig, dass Community-Pflege und konkrete Weiterentwicklung stattfindet. Deswegen sollte sichergestellt werden, dass nicht nur eine einzelne Person Schreibzugriff auf den Quellcode und die Infrastruktur besitzt. In den harmlosen Fällen hat die Gründer*in sich vielleicht ein neues Projekt oder ein neues Hobby gesucht und hat deswegen keine Zeit mehr, sich darum zu kümmern. Aber auch in Fällen von Krankheit kann dies wichtig werden.
Obwohl Open-Source-Projekte in der Regel über das Internet entwickelt werden, ist es ein großer Vorteil, ab und zu Treffen mit den Beteiligten zu organisieren. Diese Zusammenkünfte werden oft „Sprints“ oder „Hackathons“ genannt. Dort können dann technische Probleme besprochen werden, die Pläne für die Zukunft festgelegt und zusammen neue Funktionen programmiert werden. Natürlich ist es für das Team auch einfach schön, sich mal persönlich zu sehen.
Ein Projekt benötigt Engagement und Geld
Oft stellen Firmen oder andere Institutionen (wie auch z. B. der DBJR im Rahmen von jugend.beteiligen.jetzt), Räumlichkeiten für Sprints zur Verfügung. In einigen Fällen werden die Reisekosten zu solchen Veranstaltungen zum Problem, wenn Entwickler*innen weiter entfernt leben. Glücklicherweise existieren Zusammenschlüsse aus mehreren Projekten, die oft Möglichkeiten gefunden haben, in solchen Fällen zu helfen. Eines davon ist KDE: Es kann Open-Source-Projekten neben anderen Vorteilen auch mit Reisekosten helfen.
Um Entwickler*innen zu ermöglichen, mehr Zeit in das Projekt zu investieren, sammeln viele Projekte Spenden oder beantragen Förderung. Auch für Kaidan haben wir solche Angebote bereits genutzt.
Obwohl die primäre Motivation hinter Open-Source-Projekten häufig der Spaß am Programmieren ist, müssen Entwickler*innen auch Organisationsprobleme lösen und sich um die Benutzer*innen kümmern. Mit den passenden Regelungen kann das aber gut funktionieren und sehr viel Freude bereiten. Bei Treffen außerhalb des Internets kann man dabei auch noch Gleichgesinnte kennenlernen und seine Ideen verwirklichen.
In den letzten Monaten kamen viele Gruppen und Träger unter einen unerwarteten Digitalisierungsdruck. Gerade wenn man sich bisher vor allem auf Präsenztreffen verlegt hatte, sind die Umstiegshürden nicht von heute auf morgen zu bewältigen. Im Folgenden beschreiben wir geeignete Formate, vergleichen die Systeme, geben Tipps zur Umsetzung und bei technische Hürden.
Formate
Je nach Anwendungsbedarf bieten sich unterschiedliche Formate an, die mit digitalen Werkzeugen abgebildet werden können. Nicht immer ist die bloße Videokonferenz der richtige Ansatz.
Audio-Konferenz / Telefonkonferenz: Am längsten etabliert, aber hinsichtlich der Aufmerksamkeit der Teilnehmenden am schwierigsten.
Videokonferenz: Alle Teilnehmenden können sich hören und sehen. Freies Sprechen ist gut möglich, aber ab einer bestimmten Teilnehmendenzahl werden wie in einem Präsenztreffen Regeln zu Wortmeldungen nötig. Durch die versetzte Platzierung von Kameras und Bildschirmen ist direkter Augenkontakt nicht möglich. Meist steht ein textbasierter Chat zur Verfügung, der aber im Idealfall kein separater inhaltlicher Kanal sein sollte – das „teilt“ die Aufmerksamkeit und verwirrt.
Arbeitsgruppen / Gremien: Neben der Ton- und Videoübertragung sind hier Programmvisualisierung und Live-Protokolle gefragt. Auch könnten Bedarfe für die Durchführung von Abstimmungen (offen/geheim) bestehen.
Online-Seminar: Ein interaktives Live-Treffen mit Ton- und Videoübertragung. Funktionen für Präsentationen, gemeinsame Whiteboards, Mitschriften, Brainstormings werden hier gebraucht.
Online-Kurs: Als länger verfügbarer Kurs könnten die Teilnehmenden auch zeitversetzt auf Videoaufzeichnungen und hinterlegte Materialien zugreifen. Funktionen zur Lernzielkontrolle.
Online-Veranstaltung mit Publikum: Hier wird zusätzlich eine Moderation oder Ko-Moderation benötigt, die inhaltliche und organisatorische Fragen aus dem Publikum entgegennimmt oder Wortmeldungen freischaltet.
Wichtigste Regeln zu Videokonferenzen
Aktuell bleiben: Noch bevor man sich in eine Videokonferenz einwählen möchte, ist es sinnvoll das eigene System zu checken. Gerade die zum Einsatz kommenden Browser sollten immer auf dem neuest möglichen Stand sein. (Weiteres unter „Technik“)
Weniger Geräte, weniger Fehlermöglichkeiten: Der Einsatz von Headsets (Kopfhörern + Mikrofonen) und externen Lautsprechern wird oft als Standard empfohlen. Tatsächlich ist die sichere Lösung genau umgekehrt: Teilnehmende sollten so minimalistisch starten wie möglich. Sehr häufig sind die eingebauten Mikrofone und Lautsprecher in Notebooks vollkommen ausreichend und steuern Rückkopplungseffekte besser aus als bei zusätzlichen Geräten. Nur wenn hier Probleme auftreten (laute Lüfter oder Nebengeräusche bzw. leise Gesprächspartner), lohnen sich Kopfhörer und Mikros.
Nicht aktiv? Nicht aktiv! Gerade nicht sprechende Teilnehmende sollten im Konferenzsystem grundsätzlich ihr Mikrofon deaktivieren, um Störgeräusche zu verringern. Tastatur-Klappern nahe des Notebook-Mikrofons kann für andere Teilnehmende insbesondere mit Kopfhörern sehr unangenehm sein.
Verhaltensregeln klären: Am Anfang eines Treffens sollte geklärt werden, welche Regeln es gibt. Wortmeldungen können je nach System über einen Button möglich sein; möglicherweise meldet man sich durch einen Hinweis im Chatfenster oder aktiviert sozusagen als Wartende*r bereits das eigene Video.
Aufmerksamkeit fördern: Wenn man sich nicht in die Augen sehen kann, braucht es Hilfsmittel um konzentriert bei der Sache bleiben zu können – vor allem für diejenigen, die überwiegend zuhören. Es bietet sich daher an, das aktuelle Programm zu visualisieren oder ein Live-Protokoll zu führen, das entweder über einen geteilten Bildschirm oder über eine separate Plattform (z.B. Etherpad, Online-Office) verfolgt werden kann.
Pausen müssen länger ausfallen: Catering ist nicht vorhanden, die Verpflegung muss also selbst organisiert werden. Möglicherweise müssen weitere Personen im Haushalt berücksichtigt werden – auch das Badezimmer kann belegt sein.
Bildschirme sind endlich: Teilnehmende verfügen nicht alle über die gleiche Infrastruktur-Ausstattung. Insbesondere Bildschirme sind ein limitierender Faktor, wenn Präsentation mitverfolgt werden sollen. Oft kann abgebildeter Text kaum noch entziffert werden oder parallel sind die Reaktionen von Teilnehmenden nicht mehr zu sehen. Wenn jemand mehrere Bildschirme nutzt, führt das dazu, dass man häufig sucht wo denn gerade der Mauszeiger ist.
Gleichzeitige Videos beschränken: Bei Nutzung über einen Browser sollten nicht mehr als 10-15 Personen gleichzeitig ihr Video übertragen. Endgeräte müssen diese Streams einzeln verarbeiten und könnten sich daher verlangsamen. Ein lauter PC-Lüfter gibt Hinweis auf gesteigerte Last. Online-Treffen über eigene Apps/Software-Anwendungen haben hier einen Vorteil gegenüber einem Browser, weil sie die Verbindungen anders managen können – hier wird dann ggf. nur ein gesamter Stream übertragen.
Informelle Austauschmöglichkeit: Bei größeren Online-Veranstaltungen kann es hilfreich sein, in Pausen eine Art „Plaudereck“ für informellen Austausch zu ermöglichen. Insbesondere wenn die Teilnehmenden während der Veranstaltung sich nicht alle sehen/sprechen können, bietet sich hierzu ein separater, offener Videokonferenz- und Chatraum an.
Videoaufzeichnungen ankündigen: Falls geplant ist die Veranstaltung aufzuzeichnen, muss dies den Teilnehmenden vorher mitgeteilt werden. Alle müssen die Chance haben, rechtzeitig ihr Video abzuschalten und ggf. auch den Anzeigenamen zu ändern.
Extra-Kanal für Organisator*innen: Es kann immer etwas schiefgehen. Kurzfristige Absprachen im Team sind bei räumlich verteilten Organisator*innen schlicht nicht möglich. Daher sollte man zuvor bereits eine eigene Chatgruppe oder virtuellen Ort vereinbart haben, um sich absprechen zu können. E-Mail kann ein Notbehelf sein, ist für schnelle Absprachen aber eher zu träge.
Nützliche Begriffe für Online-Veranstaltungen
Webinar: markenrechtlich geschützt, daher besser „Online-Seminar“ oder „Online-Kurs“ verwenden, vor allem in Ankündigungen oder bei Bezahlformaten.
Breakout-Rooms: Unterarbeitsgruppen innerhalb eines Online-Seminars. Die Zuteilung kann automatisch oder per Vorlieben geschehen. Die Rückkehr in den „Hauptraum“ erfolgt meist automatisch, so dass die Teilnehmenden technisch nicht verloren gehen.
Zoom-Bombing: Unbekannte Teilnehmende wählen sich in eine Online-Veranstaltung ein und stiften Unruhe. Bekannt vor allem aus Zoom. Abhilfe schaffen Zugangsbeschränkungen (Passwort, persönlicher Login, einzelnes Einlassen durch Veranstalter)
Stream: Der „Fluss“ einer einzelnen Audio- und/oder Videoübertragung. Alle Teilnehmenden senden einen eigenen Stream.
Browser: Zugangsprogramme fürs Web, mittlerweile auch für Audio- und Videokonferenzen. Z.B. Mozilla Firefox, Microsoft Edge, Google Chrome, Opera, Vivaldi, Apple Safari, früher: Internet Explorer (nicht mehr verwenden!)
Chromium-basierte Browser: Viele Browser setzen auf dieselbe „Engine“ auf, nämlich das Open-Source-Projekt „Chromium“ (z.B. Google Chrome, Opera, Vivaldi und seit 2020 auch der Microsoft Edge).
WebRTC: Standard, um Audio- und Videokonferenzen in einem Browser oder einer Software-Anwendung zu übertragen.
STUN- & TURN-Server: Damit Videokonferenzen zwischen Teilnehmenden über Firewall-Grenzen hinweg aufgebaut werden können, wird weitere Technik benötigt. Während STUN lediglich für den Verbindungsaufbau zuständig ist, leitet der TURN-Server den gesamten Videostream durch. Selbst betriebene Videokonferenz-Server verzichten daher oft auf das aufwändige TURN-Verfahren und sind entsprechend hinter Firmen-Firewalls nur durch Ausnahme-Einträge zu nutzen.
Barrierefreiheit und Inklusion
Die Bedienungsmöglichkeit über Tastaturkürzel hilft bei motorischen Einschränkungen, kann aber auch für alle anderen Teilnehmenden einen Komfortvorteil bieten. Es lohnt sich also, die wichtigsten Bedienmöglichkeiten vorher zu klären (z.B. die Leertaste oder die M-Taste sind oft zum Ein-/Ausschalten von Mikrofonen nützlich).
Für nicht-hörende Teilnehmende sollte eine Live-Untertitelung zur Verfügung gestellt werden. Manche Konferenzlösungen bieten hierfür eine automatische Spracherkennung an, meist über externe Anbieter wie Google. Das bringt natürlich Fragen von Vertraulichkeit und Datenschutz mit. Im Minimalfall könnte auch eine Live-Untertitelung per Hand in einem Chatfenster stattfinden.
Methodik
Bei Online-Treffen befinden sich die Teilnehmenden physisch zwar häufig in vertrauten Umgebungen (Home Office), aber die Teilnahme über einen Bildschirm ist zugleich körperlich sehr ermüdend. Umso wichtiger ist es, die in Präsenztreffen praktizierte methodische Abwechslung auch in Digitaltreffen einzubauen. Allerdings sollte man vermeiden, zu viele unterschiedliche Tools einzusetzen. Der Wechsel zwischen den Plattformen birgt immer auch die Gefahr, unterwegs die Teilnehmenden zu verlieren.
Wichtig sind also vor allem interaktive Momente und Bewegungspausen.
Kartenabfragen und Brainstormings sind beispielsweise bereits über vorhandene Chat-Funktionen, ein einfaches Etherpad [yopad.eu] oder extra dafür vorgesehene Werkzeuge wie Padlet [padlet.com] und Pinnet [pinnet.eu] möglich. Komplexere Tools wie z.B. Tricider [tricider.com] erlauben zwar auch Entscheidungsfindungen, aber die Gefahr, dass sich Teilnehmende aus der eigentlichen Videokonferenz verabschieden, ist dabei größer. Interne Tools wie sie z.B. bei einer eigenen Nextcloud bestehen, sind aus Datenschutzgründen möglicherweise vorzuziehen.
Fürs morgendliche Aufwärmen oder Kennenlernen bieten sich kleine Bewegungsmomente an, wie z.B. dass alle Teilnehmenden aufgefordert werden einen Gegenstand in einer bestimmten Farbe hochzuhalten, ihren Lieblingsgegenstand im Home Office vorzustellen oder eine kurze persönliche „Tanzbewegung“ zur Vorstellung zu machen.
Auch ein auf Reaktionsgeschwindigkeit setzendes Quiz mittels Kahoot [kahoot.it] lockert die Stimmung unter den Teilnehmenden deutlich auf.
Darüber hinaus gilt: Digitaltreffen können analog unterstützt werden – warum nicht als Veranstalter zuvor ein kleines Postpaket schnüren, das neben Dokumenten auch etwas Nervennahrung und Pappschildchen mit Daumen hoch/runter oder „Ich brauch Pause!“ für die Teilnehmenden bereit hält?
Plattformen
Für Online-Treffen gibt es Plattformen, die man bei einem Anbieter mietet, und solche die man selbst betreiben kann. Einige dieser Produkte bieten auch beide Varianten an: mieten und selbst betreiben.
Vor- und Nachteile gemieteter Lösungen
Sofortige Verfügbarkeit und Wechselmöglichkeit
Angewiesen sein: Lizenzmodelle können sich ändern, die verfügbaren Funktionen plötzlich anders ausfallen
Frage des Vertrauens: Keine Kontrolle darüber, ob der Betreiber mithört oder Aufzeichnungen macht.
Vor- und Nachteile des Selbstbetreibens
Volle Kontrolle/Datensouveränität über Inhalte
Anpassungsmöglichkeiten
Funktionen und Lizenzmodelle können sich nicht überraschend verändern
Aufwand der Wartung und Einspielen neuer Versionen
Aufwand der Infrastruktur-Skalierung bei starker Nutzung
Vertraulichkeit: Heutzutage sind alle Lösungen transportverschlüsselt, d.h. vom Endgerät zum Server und vom Server zum nächsten Endgerät sind die Inhalte so verschlüsselt, dass niemand Einblick erhält. Auf dem Server selbst sind fast immer die Inhalte unverschlüsselt und können vom Betreiber theoretisch mitgehört werden.
Nur Ende-zu-Ende-verschlüsselte Angebote wären wirklich vertraulich. Jitsi Meet bietet diese Funktion mittlerweile experimentell an.
Bekannte Plattformen
Die Plattformen werden laufend weiter entwickelt. Daher würde eine ausführliche Funktionsbeschreibung oder ein -vergleich sehr schnell veralten. Die folgende Aufzählung ist daher eher als grobe Richtschnur zu verstehen. Rückmeldungen sind hierzu ausdrücklich willkommen:
Zoom: Der Platzhirsch für Videokonferenzen. Populär, weil die Software-App viele Teilnehmenden-Vidoes problemlos gleichzeitig anzeigt. Im Browser nur sehr eingeschränkt nutzbar. Moderation verpflichtend. Wegen Sicherheitsmängeln, Falschangaben über Verschlüsselung und intransparenten Datenweitergaben in der Kritik. Offene Frage nach DSGVO-Konformität. Je nach Kostenmodell unterschiedliche Funktionalität.
Jitsi Meet: Sehr intuitiv bedienbares Videokonferenzsystem, das sehr aktiv weiter entwickelt wird. OpenSource und kostenfrei einsetzbar. Funktionsumfang hängt stark von der Installation ab. Freie Server sind z.B. meet.dbjr.org (DBJR), meet.ffmuc.net (Freifunk München), meet.jit.si (Jitsi-Entwicklerteam). Browserbasiert. Für Mobilgeräte (Android und iOS) kostenlose Jitsi-Meet-App, die sich mit beliebigen Servern verbinden kann. Je nach Server haben Nutzende hinter Firmen-Firewalls ein Problem.
BigBlueButton: Umfangreiches Webinar-System. OpenSource und kostenfrei einsetzbar. Browserbasiert. Lernkurve berücksichtigen. Kann in andere Systeme eingebettet werden, z.B. Moodle, Nextcloud. Freie Server z.B. blue.dbjr.org (DBJR, experimentell) und demo.bigbluebutton.org (Entwicklerteam). Je nach Server haben Nutzende hinter Firmen-Firewalls ein Problem.
Whereby.com (früher appear.in): Videokonferenzsystem der skandinavischen Telenor. Bis 4 Personen kostenfrei. Browserbasiert und mit Mobil-Apps nutzbar.
Cisco WebEx: Modulares System, kann sowohl gemietet wie auch selbst betrieben werden.
Microsoft Teams: Gut in Microsoft-Umgebungen integriert, aber tw. umständlich. Versucht Teilnehmende zu einem Microsoft-Account zu überreden und grenzt bei Nutzung über die Software-App andere E-Mail-Adressen aus nicht intuitiven Gründen aus. Manche Browser werden aktiv ausgeschlossen, die technisch aber in der Lage sind (und dann über Tricks wieder nutzbar werden).
GoToMeeting und GoToWebinar: Kommerzielles System. Bis 250 Teilnehmende.
Nextcloud Talk: OpenSource und kostenfrei, muss aber selbst innerhalb einer Nextcloud betrieben werden, sehr gut integriert in die Groupware. Dank Mobil-Apps auch als dauerhafter Chat-Messenger nutzbar. Aufwändige Server-Installation für Videokonferenzen mit mehr als 5-10 Nutzer*innen.
Weitere kommerzielle Lösungen: Adobe Connect, Skype, Google Meet, …
Weitere freie Lösungen: Apache OpenMeetings
Technisches
Der verfügbare Internetanschluss der Teilnehmenden hat große Auswirkungen auf die Qualität des Treffens. Dabei muss unterschieden werden zwischen der eigentlichen Internetverbindung („Hausanschluss“ ins Internet) und der Verbindung des genutzten Endgeräts bis zum Hausanschluss (WLAN/LAN).
Hausanschluss: Die meisten Internetanschlüsse sind darauf ausgelegt, dass man sehr viele Daten empfängt, aber wenig sendet. Bei Audio- und Videokonferenzen benötigt man aber auch in Senderichtung eine gute Leistung. Ein DSL16000-Anschluss bietet im Download zwar 16 Mbit/sek, aber in Senderichtung meist nur 1 Mbit/sek – das reicht gerade so für eine Videokonferenz. Zwei Personen parallel im Home Office bemerken hier schon deutliche Qualitätseinschränkungen.
Funkverbindungen über Mobilfunknetze (UMTS, LTE, 5G) und auch Internetanschlüsse über das Fernsehkabel sind sog. „shared media“, d.h. wenn in der Nachbarschaft viele Personen aktiv sind, verlangsamt sich die eigene Verbindung. Bei DSL und Glasfaser-Anschlüssen ist das selten ein Problem.
Endgeräte: Die Verbindung des Endgeräts bis zum Hausanschluss sollte im besten Fall kabelgebunden (LAN) sein, denn Funkverbindungen über WLAN sind störanfällig: Abstand zum Access Point, mehrere Benutzer*innen im selben WLAN, Betonwände, Wasserleitungen und auch Mikrowellen beeinträchtigen die Verbindungsqualität.
Firewalls und Router: Das eigene Endgerät ist normalerweise nicht direkt im Internet, sondern wird durch einen Router („NAT“, z.B. eine Fritz!Box) oder via eine Firmen-Firewall mit dem Internet verbunden. Dieser Schutzmechanismus hat jedoch Auswirkungen auf Audio- und Videoverbindungen. Oft sind bestimmte Verbindungstypen / Ports geblockt, z.B. um ein Abhören der Endgeräte zu verhindern oder weil die Internetlast nicht zu groß ausfallen soll. Hier hilft nur mit dem Administrationsteam der Firewall Kontakt aufzunehmen oder beim heimischen Router ggf. die Einstellungen zu kontrollieren.
Software auf dem Endgerät: In den ersten Monaten 2020 hat die Technik für digitale Treffen einen großen Sprung nach vorne gemacht. Daher ist es derzeit umso wichtiger, möglichst aktuelle Software einzusetzen. Am besten sind Chromium-basierte Browser oder ein Firefox ab Version 76 (Mai 2020). Beim Microsoft Edge ist die Neuentwicklung seit Anfang 2020 zu bevorzugen (Edge ab Version 79), die seit Juni automatisch auf Windows 10 verteilt wird (und auch für Windows 7 noch zur Verfügung stehen soll). Komplett veraltet ist der Microsoft Internet Explorer, der seit fünf Jahren nicht mehr weiterentwickelt wird und daher auch gar nicht mehr genutzt werden sollte.
Welche Erfahrungen habt ihr mit digitalen Treffen gemacht? Habt ihr weitere Hinweise und Anregungen?
Während derzeit Seminare und Konferenzen als Präsenzveranstaltungen nur reduziert stattfinden können, ist die Nachfrage nach Online-Treffen groß. Dieser Bedarf an „Online-Tagungshäusern“ wird nicht nur in der Jugendarbeit formuliert. Eine mögliche Lösung bietet sich durch die Verknüpfung der Open-Source-Plattformen BigBlueButton und Nextcloud an. Daher unterstützen wir derzeit die Entwicklung einer Integrationslösung der beiden Tools.
Was ist BigBlueButton, was ist Nextcloud?
BigBlueButton ist eine Open-Source-Software für Videkonferenzen mit Seminarcharakter. Sie bietet also nicht nur nur Audio- und Videounterhaltungen, sondern auch unterstützende Werkzeuge für die Zusammenarbeit: gemeinsame „Whiteboards“ (Tafeln, auf denen man sich gemeinsam kreativ austoben kann), „Breakout-Rooms“ (Aufteilen in Unterarbeitsgruppen), automatisch integrierte Notizbereiche und hinterlegbare Präsentationen und Videoaufzeichnungen. „BBB“ ist kostenfrei und kann auch auf einem eigenen Server installiert werden. Die Erfahrung hat gezeigt, dass Sessions mit 80-100 Teilnehmenden ohne Weiteres auf einem eigenen Server durchgeführt werden können.
Nextcloud wiederum ermöglicht Teamwork in allen Facetten – gemeinsam texten, Vorhaben planen, Budgets gemeinsam bespielen, Formulare erstellen und Umfragen durchführen, Termine finden, Adressen und Termine verwalten. Und ganz „nebenbei“ natürlich die Kernfunktion: Dateien gemeinsam ablegen, organisieren, kommentieren und teilen. Nextcloud ist dabei nicht als Einbahnstraße konzipiert: Offene Standards werden für Import und Export unterstützt, aber auch für den Live-Betrieb wird nicht immer das Rad neu erfunden. Ebenso wie BigBlueButton kann Nextcloud frei installiert und genutzt werden, funktioniert dabei aber schon auf einfachen Webhosting-Paketen mit PHP und MySQL/MariaDB. Kleinere Organisationen können daher Nextcloud parallel zu einer bestehenden Website einrichten und ohne weitere Kosten recht schnell loslegen. Zudem gibt es eine zunehmende Anzahl von Providern, über die mehr oder weniger fertig eingerichtete Nextclouds kostengünstig gemietet werden können.
Das Beste aus zwei Welten zusammenbringen
Während BBB im Bereich des »Web-Conferencing« (Eigenbeschreibung) sehr gut aufgestellt ist, fehlen der Plattform für verschiedene Bedarfe in Kursen und Tagungen ein paar Funktionen: Für das Hinterlegen von Dokumenten, Einrichten von Umfragen und für die Evaluierung muss man sich andere Werkzeuge suchen. Allerdings ist BBB sehr offen konzipiert, so dass es gut in andere Plattformen integriert werden kann. Die fehlenden Aspekte werden durch Nextcloud hervorragend ergänzt: Da die Stärke der eigenen Cloud genau in diesen Groupware-Funktionalitäten liegt, ist Teamwork über längere Zeiträume hinweg gut abbildbar.
Seminare, Fortbildungen und Konferenzen stehen häufig nicht für sich allein, sondern sind in Arbeitsprozesse eingebettet oder als Module konzipiert. Das Ziel ist also, BBB für den Live-Austausch zu nutzen und Nextcloud für die informativen und kooperativen Elemente in den Zwischenphasen.
Wie kann ich die BBB-Integration in Nextcloud selbst einsetzen?
Voraussetzung ist die eigene Nextcloud, gemietet oder selbst betrieben, und die Erlaubnis auf einen BigBlueButton-Server per externer Schnittstelle zuzugreifen. Am besten ist es natürlich, wenn man den Server selbst betreibt. Im Admin-Zugang der Nextcloud kann die BBB-Erweiterung direkt aus dem offiziellen Nextcloud-AppStore heruntergeladen und in wenigen Sekunden aktiviert werden. Kosten entstehen hierbei keine.
Sobald die BBB-App in der eigenen Nextcloud aktiviert und mit den Zugangsdaten des BBB-Servers verbunden ist, stehen den Nutzer*innen folgende Funktionen zur Verfügung:
Seminarraum mit Einstellungen erstellen
Gastzugänge einrichten
Räume mit anderen Nutzer*innen, Gruppen und Kreisen teilen
Die Federführung der BigBlueButton-Integration in Nextcloud hat der Open-Source-Entwickler Klaus Herberth übernommen. Er hat schon mehrere Erweiterungen für Nextcloud geschrieben oder war daran beteiligt (z.B. die Chat-App JSXC). Über das Projekt jugend.beteiligen.jetzt war es uns möglich wichtige Grundlagen für die Integration zu finanzieren. Derzeit ist die Erweiterung in Version 0.5.1 verfügbar. Sobald weitere Unterstützer*innen gefunden werden, wird die Entwicklung weiter vorangetrieben. [Update 30.09.2020: Mittlerweile sind vier Verbesserungsrunden umgesetzt und die Erweiterung trägt offiziell die Version 1.1)
Über den aktuellen Entwicklungsstand kann man sich jederzeit auf GitHub informieren. Dort könnt ihr auch Fehlerberichte schreiben oder Vorschläge für neue Funktionen machen: https://github.com/sualko/cloud_bbb/releases
Fazit: Große Fortschritte, aber noch Einiges zu tun
Klar ist: Dank Open-Source-Software wie BigBlueButton und Nextcloud ist es möglich in Eigenregie ein kleines Online-Seminarhaus aufzubauen. Das Konzept und die Umsetzung sind noch nicht ganz rund, und erfordern noch ein wenig Weiterdenken und Entwicklungsarbeit. Zusätzliche Nextcloud-Module wie die Termine-App oder die Formulare-App (für Anmeldungen) sollten hier auf jeden Fall mitgedacht werden.
Die Tools, die wir im Projekt jugend.beteiligen.jetzt (mit)entwickeln, stehen alle unter einer Open-Source-Lizenz. Das bedeutet, dass der gesamte Programmiercode eingesehen und verändert werden kann. Schon während der Entwicklung könnt ihr euch einklinken, kommentieren, Fragen und Vorschläge einbringen oder selbst mit Programmcode beitragen. Auch (möglichst konkrete) Fehlerbeschreibungen helfen uns weiter.
Wie die Tools entwickelt werden
Die Entwicklung der Tools wird dabei über eine Versionsverwaltung organisiert. Diese hilft dabei, dass mehrere Personen Funktionen und Code beitragen können, ohne die Arbeit der Anderen aus Versehen zu überschreiben oder zu zerstören. Die populärste Versionverwaltung ist das freie »Git«. Die Entwicklung eines Projekts erfolgt dabei in einem sogenannten »Repository«, also einem digitalen Programm-Depot. Diese Repositorys kann man selbst verwalten, oder man nutzt eine der großen Plattformen hierfür. Bekannt sind Github, Gitlab oder auch Sourceforge. Diese Plattformen bieten neben der reinen Code-Verwaltung noch Zusatzfunktionen wie Wiki-Seiten, einen Issue-Tracker (Probleme und Ideen diskutieren) oder automatisches Analysieren von einigen Sicherheitsmängeln im Programmcode. Nicht alles muss für die Öffentlichkeit bestimmt sein: Projekte können zudem in geschützten Bereichen entwickelt werden.
Wer sich eher mit Fremdsprachen als mit Programmiersprachen auskennt, ist ebenso herzlich willkommen. Wir wollen unsere Tools in weiteren Sprachen zur Verfügung stellen – und bei den bereits bestehenden Übersetzungen kommen durch neue Funktionen ja auch immer neue Beschriftungen und Texte hinzu.
Auch die Übersetzungsdateien finden sich in den Repositorys. Je nach Tool unterscheiden sich jedoch die Arten, wie Übersetzungen am besten bearbeitet (oder bei zusätzlichen Sprachen: angelegt) werden. Wir helfen gerne beim Einstieg – meldet euch einfach!
Der Deutsche Bundesjugendring sucht zum nächstmöglichen Termin eine*n Mitarbeiter*in zur Unterstützung der Digitalisierung im DBJR mit einem Beschäftigungsumfang von 50% der betrieblichen Arbeitszeit. Die Stelle ist zunächst befristet bis 31. Dezember 2020. Eine Weiterbeschäftigung wird angestrebt. Bewerbungsfrist ist der 6. Januar 2020.
Die Kolleg*innen in unserem Partnerprojekt bei IJAB haben einen Online-Kurs zu Rechtsfragen rund um digitale Partizipation aufgesetzt. Dieser MOOC (Massive Open Online Course) ist für Teilnehmende kostenfrei und beginnt am 14. Oktober. Später einsteigen ist natürlich ebenfalls möglich.
Um was geht’s?
Der MOOC vermittelt Grundlagenwissen zu rechtlichen Fragen, die relevant werden, wenn Jugendliche digital beteiligt werden. Für die Umsetzung gibt es Hilfestellungen, gute Beispiele und Tipps von Expert*innen aus der Praxis. Interaktive Elemente runden den Kurs ab.
Die Teilnahme am Kurs ist auf vier Wochen angelegt. Ungefähr zwei Stunden Arbeitsaufwand pro Woche solltet ihr einplanen. Am Ende erhalten die Teilnehmenden ein Weiterbildungszertifikat.
Wer hat den Kurs entwickelt?
Das Projekt jugend.beteiligen.jetzt ist Initiator und Mitgestalter des Online-Kurses zum Thema digitale Beteiligung (kurz: jbjMOOC). Gemeinsam mit Kristin Narr, Medienpädagogin, und Verena Ketter, Professorin für Medien in der Sozialen Arbeit an der Hochschule Esslingen, wurde das Konzept für den jbjMOOCrecht erarbeitet. Der jbjMOOCrecht setzte bereits in der Konzeptions- und Planungsphase auf die Beteiligung und die Mitgestaltung junger Menschen. Studierende der Hochschule Esslingen produzierten partizipativ in einem Seminar innerhalb des Sommersemesters 2019 die Videos und stellen ihre Erfahrungen mit den Anwendungen als Videotutorials zur Verfügung.
Der Deutsche Bundesjugendring sucht zum nächstmöglichen Termin eine*n Mitarbeiter*in zur Unterstützung der Digitalisierung im DBJR mit einem Beschäftigungsumfang von 50% der betrieblichen Arbeitszeit. Die Stelle ist zunächst befristet bis 31. Dezember 2020. Eine Weiterbeschäftigung wird angestrebt. Bewerbungsfrist ist der 18. August 2019.
Mit unserer Workshop-Reihe wollen wir Digitale Jugendarbeit in Theorie und Praxis voranbringen. Der Workshop #2 findet am 11. September 2019 von 10 bis 16 Uhr in Berlin statt.
Unsere Ziele für die Workshop-Reihe sind: Praktische und konkrete Herausforderungen der Digitalen Jugendarbeit meistern, kollegialen Austausch fördern und eine DBJR-Strategie zu Digitaler Jugendarbeit entwickeln. Der Theorieteil am Vormittag richtet sich vor allem an Aktive in Jugendverbänden, ist aber offen für Interessierte. Der Praxisteil am Nachmittag ist insbesondere für Menschen aus der Jugendarbeit gedacht, die schon mit Fragen und ihrer Suche nach Lösungen zum Workshop kommen und diese Erfahrungen in die Diskussion einbringen möchten.
Im Praxisteil werden wir uns diesmal besonders Aspekten von Wissensmanagement, Qualifizierung und dem Einsatz von Mixed Reality (Virtual Reality, Augmented Reality usw.) zuwenden.
Die ANMELDUNG ist bis 2. September möglich. Die Teilnahme ist kostenlos. Reisekosten werden nicht erstattet. Bei Fragen meldet euch einfach bei per E-Mail bei digital@dbjr.de.
Mit einer Workshopreihe wollen wir Digitale Jugendarbeit in Theorie und Praxis voranbringen. Unsere Ziele: Expert*innen vernetzen, praktische und konkrete Herausforderungen der digitalen Jugendarbeit meistern, kollegialen Austausch fördern und eine DBJR-Strategie zu Digitaler Jugendarbeit entwickeln.
Der Workshop #1 am 26. Juni 2019 (von 10 bis 16 Uhr) beschäftigt sich mit Potenzialen und Bedarfen Digitaler Jugendarbeit (Theorie) sowie mit Cloud und OpenSource-Angeboten in der Jugendarbeit (Praxis). Termine für die weiteren Workshops sind #2 am 11. September 2019 und #3 am 6. November 2019. Anmeldungen bitte bis 17. Juni 2019 unter https://dbjr.de/formulare/ws-d1/.
Die Teilnahme ist kostenlos. Reisekosten werden nicht erstattet.
Bei Fragen meldet euch einfach bei per E-Mail bei digital@dbjr.de.
Wenn dieser Fehler auftaucht, ist guter Rat teuer … oder?
Mittlerweile stehen viele hochwertige Open-Source-Anwendungen für eure Onlineauftritte oder Onlinezusammenarbeit zur Verfügung. Auch wenn sich Entwickler*innen große Mühe geben eine tolle Software zu schreiben, so schleichen sich doch immer wieder Fehler ein. Ebenso können sich im Zusammenspiel zwischen Anwendung und eigenem Server Probleme auftun, die einer Lösung bedürfen. Vor der Lösung steht jedoch die Fehlersuche: Oft lässt sich nicht per Augenschein erkennen, woran es hakt. Im Folgenden geben wir ein paar Tipps, wie ihr euch dem Problem nähert.
Die Log-Datei ist dein Freund!
Glücklicherweise werdet ihr bei der Fehlersuche von der Software
aktiv unterstützt. Die meisten Anwendungen und auch die Server
selbst legen verschiedene Protokoll-Dateien an. In diesen wird
aufgezeichnet, welche Aktionen stattgefunden haben bzw. bei welchen
Aktionen unvorhergesehene Ereignisse auftraten. Aus unserer Erfahrung
lohnt es sich bei Problemen im ersten Schritt die Log-Dateien der
betroffenen Anwendung anzusehen. Die meisten Fehler lassen sich
hierüber bereits eingrenzen.
Log-Dateien werden
fast immer als Dateien mit der Endung .log angelegt. Es handelt sich
dabei aber in der Regel um Textdateien, die sich mit jedem beliebigen
Editor öffnen lassen (Notepad, Wordpad, usw.).
In den Logs der
Anwendungen wird in der Regel protokolliert, wenn einzelne Funktionen
oder Programmbibliotheken eine Aufgabe nicht ausführen konnten. Das
könnte z.B. daran liegen, dass Zugriffsrechte nicht korrekt gesetzt
waren, benötigte Dateien nicht gefunden wurden, ein Datenbankserver
nicht oder nicht schnell genug geantwortet hat, oder Funktionen
schlichtweg Fehler hatten (Beispiel: Versuch durch 0 zu teilen).
Dennoch können sich die Inhalte der Log-Dateien bisweilen sehr
unterscheiden – die Entwickler*innen können sich dafür
entscheiden, nicht nur fatale Fehler zu vermerken, sondern auch
bereits Warnmeldungen oder auch erfolgreich durchgeführte
Aktivitäten. Letzteres kann zwar von Interesse für die
Entwickler*innen sein, allerdings im Dauerbetrieb auch mit
Datenschutzerfordernissen kollidieren. Daher lassen sich Anwendungen
häufig darauf konfigurieren, ob sie sich im Betriebsmodus für
„Entwicklung“ (development, debug modus) oder für „Produktion“
befinden.
Anhand von vier Anwendungen möchten wir euch beispielhaft aufzeigen, wo Log-Dateien zu finden sind:
Antragsgrün:
Die Software zur demokratischen Texterstellung führt eine Log-Datei
unter /runtime/logs/app.log. Die Einträge sind dabei sehr
ausführlich gehalten.
ePartool: Das
DBJR-Konsultationswerkzeug führt eine Log-Datei unter
/runtime/logs/application.log. Die neuesten Einträge finden sich
ganz unten.
Nextcloud:
Die populäre Open-Source-Plattform für Dateiaustausch und
Zusammenarbeit führt zwei unterschiedliche Log-Dateien. Während die
Datei /data/updater.log nur über Installationsvorgänge Buch führt,
ist die Datei /data/nextcloud.log für den täglichen Betrieb
gedacht. Nextcloud beinhaltet zudem eine Zugriffsmöglichkeit auf
diese Log-Datei über das Admin-Backend. Hier kann man auch
einstellen, welche Art von Fehlern oder Problemhinweisen
protokolliert werden sollen.
WordPress: In
der Standardinstallation führt das CMS keine Log-Datei. Durch zwei
Einträge in der Datei wp-config.php kann das Loggen aber aktiviert
werden:
Wenn man Log-Dateien
über das administrative Backend betrachten und auswerten möchte,
muss zudem ein Plugin installiert werden, z.B. der »Error Log
Monitor« [https://de.wordpress.org/plugins/error-log-monitor/]
Weitere Log-Dateien
Gelegentlich helfen
die Log-Dateien der Anwendungen aber nicht weiter. Das kann daran
liegen, dass die Anwendung auf Probleme stößt, die außerhalb ihrer
eigenen Analysemöglichkeit liegen. Im Extremfall wäre das bei einem
Hardware-Defekt der Fall: Ob alle Kabel richtig stecken oder ob der
Servercomputer selbst richtig rechnet, kann eine Anwendung kaum
erkennen. Auf Log-Dateien der Betriebssystem-Ebene hat man jedoch in
der Regel als Mieter*in eines Webhostings keinen Zugriff.
Professionelle Provider stellen durch Überwachungsprogramme sicher,
dass diese Art von Fehlern von ihnen selbst zeitnah entdeckt werden.
Zwischen dem
Betriebssystem und Anwendungen wie den vier oben genannten liegt
allerdings noch die installierte Web-Server-Software. Ein Web-Server
ist meist als Sammelbegriff mehrerer Programme zu verstehen und
beinhaltet neben dem eigentlichen Web-Server-Programmen wie Apache
oder Nginx auch die PHP-Programmiersprache oder eine Datenbank).
Diese alle führen ebenfalls Log-Dateien.
Welche Log-Datei
hilft wann:
Web-Server:
Hier werden der Zeitpunkt und die Herkunft der Zugriffe
(IP-Adressen), Größe der abgerufenen Dateien und Statusmeldungen zu
den einzelnen Verbindung geloggt. So lässt sich schnell
herausfinden, ob es zeitgleich übermäßig viele Zugriffe gab (und
daher der Server sehr langsam wurde) oder ob bestimmte Dateien nicht
gefunden wurden (die bekannte Statusmeldung 404). Probleme im
internen Programmablauf, die nicht die Zugriffe betreffen, werden
meistens in einer separaten Log-Datei protokolliert.
PHP: Programmierfehler sind häufig kleine Tippfehler, wie eine vergessene Klammer zum Abschluss einer Funktion oder ein Buchstabendreher. Wenn der PHP-Interpreter nicht versteht, was er zu tun hat, können diese Fehler entweder geloggt oder direkt angezeigt werden. Letzteres hilft zwar, Fehler schnell zu finden, verrät aber Externen auch viel über mögliche Angriffspunkte. Bei PHP-Skripten kann man auch ohne viel Programmiererfahrung das Anzeigen von Fehlern aktivieren, indem man in die ersten Zeilen (nach dem Startkennzeichen <?php) folgende Befehle ergänzt:
Voraussetzung dafür, dass nun konkrete Fehlermeldungen angezeigt werden, ist, dass der Server grundsätzlich dazu konfiguriert ist. Bei den meisten Providern lässt sich das im Administrationsmenü aktivieren und wieder deaktivieren. Bei direktem Server-Zugang und Schreibrechten auf die php.ini-Einstellungsdatei lässt sich dies durch display_errors = on aktivieren.
Datenbank: Da
es verschiedene weit verbreitete Datenbanken gibt, fällt die
Erkenntnismöglichkeit hier sehr unterschiedlich aus. General lässt
sich über die Log-Datei herausfinden, ob der Service korrekt
gestartet wurde, ob es gescheiterte Zugriffsversuche gab (z.B. wenn
die Zugangspasswörter in der zugreifenden Anwendung falsch
abgespeichert waren). Möglicherweise kann man über die
Statusmitteilungen auch herausfinden, ob Datenbank-Anfragen
ineffizient gestellt wurden und daher sehr lange zur Beantwortung
brauchten oder gar komplett scheiterten. Dies könnte z.B. der Fall
sein, wenn Suchindizes nach größeren Datenveränderungen nicht neu
angelegt wurden oder durch zu viele parallel Schreibvorgänge
versucht wurden. Auch der Ursprung von fehlerhafte Zeichenausgabe
(Umlaute oder falsche Symbole) könnte hier liegen: Die Kette der
Zeichenkodierung muss von der Datenbankablage über die Verbindung
und Verarbeitung bei der Anwendung bis hin zum Browser bei den
Nutzer*innen durchgehend richtig sein.
Der Einfluss von Fehler-Logs auf die Rechenzeit
Das Erstellen von
Log-Dateien benötigt immer etwas Rechenzeit. Diese fällt umso
größer aus, wenn man sich auf einem höheren Software-Level
befindet (System → Server-Software → Anwendung). Daher lohnt es
sich bei viel frequentierten Internet-Angeboten, im stabilen Betrieb
das Logging durch die Anwendungen soweit wie möglich zu reduzieren.