# BigBlueButton

BigBlueButton (kurz auch BBB) ist ein Open-Source-Webkonferenzsystem. Zusätzlich zu verschiedenen Webkonferenzdiensten verfügt es über Integrationen für viele der wichtigsten Lern- und Inhaltsverwaltungssysteme.

## Funktionen

BigBlueButton verbindet freigegebene Audio- und Videosignale der Teilnehmer, unterstützt Präsentationen mit erweiterten Whiteboard-Funktionen – wie Zeiger, Zoomen und Zeichnen –, bietet für alle Teilnehmer sichtbare oder private Chats, hat die Funktion geteilter Notizen auf Basis von Etherpad, Desktop-Sharing, erlaubt durch das integrierte VoIP mit FreeSWITCH eine Telefoneinwahl und erlaubt das Hochladen und optionale Downloaden von Folien im PDF-, Microsoft-Office- sowie LibreOffice-Dokumenten-Format. Es können untergeordnete Online-Konferenzräume (sog. Breakout-Räume) eingerichtet oder Abstimmungen durchgeführt werden.
Benutzer können in vier Rollen an der Konferenz teilnehmen: nur als Zuhörer/-seher, als aktiver Teilnehmer, als Presenter oder als Moderator. Alle können die Hand heben und mit anderen chatten. Moderatoren können andere stumm schalten oder die Stummschaltung aufheben, einen beliebigen Benutzer aus der Sitzung ausschließen und einen beliebigen Benutzer zum aktuellen Präsentator oder auch zum Moderator machen. Der Moderator kann Folien hochladen und Präsentator-Recht vergeben. Jeweils eine Person kann als Präsentator die Präsentation oder das Screen- bzw. Desktopsharing steuern und Umfragen durchführen.

## Architektur

Ähnlich wie bei Apache OpenMeetings verwendete BigBlueButton ursprünglich red5, eine Open-Source-Implementierung von Adobe Media Server, um die Zusammenarbeit in Echtzeit zu unterstützen. Die Clients waren vormals auf Adobe Flash basierende Komponenten, die in der heutigen Version noch aus Gründen der Abwärtskompatibilität angeboten werden.
Heute verwendet BigBlueButton HTML5 und WebRTC für Audio, Video und Screen-Sharing, welche in den meisten Browsern integriert sind. Die Installation von Browser-Plugins ist nicht mehr notwendig. Für mobile Endgeräte gibt es keine Apps, BigBlueButton funktioniert dort ab Android 6.0 mit Google Chrome und bei Apple-Geräten ab iOS 12.2 mit dem Safari Browser. In beiden Fällen ist die Screen-Sharing Funktion nicht nutzbar, da sie von diesen mobilen Browsern nicht unterstützt wird.
Sitzungen, Teilnehmer und andere relevante Informationen werden intern als Schlüssel-Werte-Daten in einer redis-Datenbank verwaltet. Die einzelnen Komponenten kommunizieren über PubSub.
In einer BigBlueButton-Sitzung können je nach der Anzahl der aktivierten Kameras bis 100 oder auf leistungsstarker Hardware auch bis zu 300 Nutzer teilnehmen. Um mehrere Konferenzen gleichzeitig anbieten zu können, ist ein Lastverteiler erforderlich.

## Verbreitung

BigBlueButton wird in Deutschland von den Bildungsministerien mehrerer Bundesländer auf eigenen Servern gehostet und für ihre Schulen genutzt, so z. B. in Baden-Württemberg. Mehrere Universitäten und Hochschulen nutzen die Software für ihre Lehrveranstaltungen, insbesondere durch die einfache Integration in Lernplattformen wie IServ, Moodle, ILIAS, Chamilo, Stud.IP, HPI Schulcloud, Nextcloud oder OpenOLAT. Auch in Österreich setzen etwa die Universität Graz, die Universität Klagenfurt und die Universität Innsbruck auf BigBlueButton als Webkonferenzsystem für Distance Learning und virtuelle Besprechungsräume.
Die ARD.ZDF medienakademie benutzt auf ihrer Lernplattform BigBlueButton. Auch in Myanmar und in weiteren Staaten wird sie für Bildungszwecke eingesetzt.

## Betreiber- und Entwickler-Community

Entwickler von BigBlueButton koordinieren ihre Aktivitäten in GitHub issues und einer Google-Gruppe. Die BBB World Konferenz fand zum ersten Mal im Sommer 2021 statt und gab einen Einblick in die globale Verbreitung und die zukünftigen Entwicklungen von BigBlueButton. Auf Initiative einiger deutschsprachiger Betreiber formierte sich im April 2021 die European BigBlueButton Association eBBBa, welche einen Erfahrungsaustausch ermöglicht.
Unter dem Namen Senfcall betreiben Studierende der Technischen Universität Darmstadt und des Karlsruher Institut für Technologie ehrenamtlich eine freie und ohne Anmeldung zugängliche Version von BBB mit verbesserter Datensparsamkeit.
Die fairkom Gesellschaft bietet unter der Bezeichnung fairteaching eine Nutzung von BBB auf Spendenbasis sowie als fairblue eine Funktionserweiterung von BBB für Live Dolmetsch an.

## Datenschutz

Das Video- und Webkonferenz-System kann auf eigenen Servern betrieben werden, sodass die Einhaltung des Datenschutzes nachprüfbar möglich ist. Die Datenübertragung erfolgt verschlüsselt (SRTP). Konferenzen werden standardmäßig aufgezeichnet, ohne dass dies für die Teilnehmer ersichtlich ist. Der Recording-Button dient lediglich dazu, sogenannte „Marken“ zu setzen. Diese Recording-Funktion kann jedoch global durch den Administrator deaktiviert werden. Der Berliner Datenschutzbeauftragte, der Landesbeauftragte für den Datenschutz und Informationsfreiheit Baden-Württemberg und das Landesmedienzentrum Baden-Württemberg äußerten sich zu BBB und empfahlen die Software als datenschutzkonform nutzbar.

## Sicherheit

Wenn wie bei BBB auf den Einsatz von proprietärer Software gänzlich verzichtet wird und Komponenten ausschließlich auf Open-Source-Frameworks basieren, kann aufgrund der Transparenz des Codes ein hohes Sicherheitsniveau vermutet werden. BigBlueButton ist somit z. B. dauerhaft sicher vor Manipulationen Dritter oder Backdoors eines kommerziellen Anbieters (vgl. NSAKEY).
Im Oktober 2020 veröffentlichte golem.de einen Artikel, in dem auf verschiedene Sicherheitsprobleme von BigBlueButton hingewiesen wurde, welche erst nach Monaten behoben wurden. Kritikpunkte waren die unsichere Einbindung von LibreOffice, das Setzen von Cookies ohne secure-Flag (beide behoben mit Version 2.2.27) und die Verwendung von Ubuntu 16.04 (Unterstützung bis April 2021) und alten Node.js-Versionen. BBB 2.3 läuft mittlerweile mit Ubuntu 18.04 und Node 12 LTS. Für BBB 2.5 wird Ubuntu 20.04 empfohlen.
Seit Dezember 2020 sind keine Sicherheitsprobleme durch Programmierfehler bekannt.