# BigBlueButton: a self-hosted virtual classroom, not a Zoom clone

> An open source web conferencing system built for teaching, with recording, whiteboards, breakout rooms and a learning analytics dashboard. The operational cost is the real story.

**bigbluebutton/bigbluebutton** — A complete web conferencing system for virtual classes and more!

- Repository: https://github.com/bigbluebutton/bigbluebutton
- Website: https://bigbluebutton.org
- Stars: 9,239 · Forks: 5,975
- Language: JavaScript
- License: LGPL-3.0
- Published: 2026-10-06 · Updated: 2026-10-06 · Language: en
- Canonical page: https://hysenlabs.com/projects/bigbluebutton-bigbluebutton

## Built for a classroom, and the feature list shows it

The README opens by describing an open source virtual classroom designed to help teachers teach and learners learn, and then names what it does: real-time sharing of audio, video, slides with whiteboard annotations, chat, and the screen. Presentation features are polling, emojis, multi-user whiteboards, shared notes and breakout rooms.

Then it says something most conferencing projects do not: during the session, BigBlueButton generates analytics visible to moderators in the Learning Analytics Dashboard. For a general purpose meeting tool that would be an odd thing to lead with. For a classroom tool it is the product.

Recording and playback for later sharing is called out separately, and the README connects it to the flipped classroom pattern, where you record the session content ahead of your session. The listed educational use cases are online tutoring one to one, flipped classrooms, group collaboration many to many, and online classes one to many.

So the honest summary is that this is a teaching platform with conferencing inside it. That framing predicts most of what you will and will not like about it, including the analytics and the fact that there is no native mobile app in the repository.

## A media stack you install with one script

Installation is a single script on Ubuntu 22.04, and the README makes a claim about it that is worth repeating literally: install within 30 minutes, or your money back. The script lives in its own repository, `bigbluebutton/bbb-install`, so what you are running is a provisioning tool rather than a checkout of this repository.

What that script installs is visible in the tree, and it is a lot. `akka-bbb-apps/` and `akka-bbb-fsesl/` are the Erlang and Scala components, `bbb-voice-conference/` handles the audio bridge, `bbb-livekit/` is the newer media plane, `bigbluebutton-html5/` is the browser client, `bigbluebutton-web/` is the legacy web application, and `record-and-playback/` and `bbb-recording-imex/` do the recording. There are also placeholder scripts for Etherpad, shared notes, presentation video, transcription, webhooks and the WebRTC recorder, which is how this project composes open source components it does not maintain itself.

Cloning and running locally is a normal checkout for development:

```bash
git clone https://github.com/bigbluebutton/bbb-install
cd bigbluebutton
```

A `labs/` directory at the root suggests there is experimental work in the repository, and the `docs/` directory is the entry point to the technical documentation that the README points at for architecture, features, API and GreenLight, the default front end.

## The default front end is a separate piece of software

One thing that catches integrators out is that GreenLight, described in the README as the default front end, is not part of this repository. A BigBlueButton server needs something in front of it to create meetings, issue join URLs and present the interface to users, and GreenLight is that layer.

This has a practical consequence for anyone evaluating the system. BigBlueButton does not include the thing most users actually see when they click a join link. If you want a branded portal with course enrolment, or a Moodle or Canvas integration, or an API wrapper around meeting creation, you are assembling it yourself or adopting a third party front end. The related searches people type into Google, with Moodle and Canvas among them, reflect exactly this: most interest is in the integration layer rather than the media server.

The API documentation lives on docs.bigbluebutton.org rather than in the README, which is where you will find the meeting creation and join URL calls that a front end has to make. Nothing about those calls is described in this repository, so treat any integration plan as depending on external documentation you will have to read in full.

## Two release trains, and the security cadence is the story

The repository is not archived and the last push was on 2026-09-18. Two lines are moving at once: a 3.0.x line that the project recommends for production, and a 4.0 line that is at release candidate stage.

The 3.0.37 release on 2026-09-10 contains security fixes only, and the project explicitly encourages administrators to update. It also drops support for SIP.JS audio on the `/ws` path, with a note for anyone using custom installers to make sure `sip.nginx` is not reintroduced. The advisories listed include cross-meeting audio access via an unvalidated voice bridge, cross-meeting presentation injection from an unbound upload token, a cross-meeting page IDOR, GetJoinUrl parameter injection and checksum pollution, and improper enforcement of plugin role restrictions on custom chat messages.

The v4.0.0-rc.2 release the same day is also security fixes only, with a very similar advisory list, and the pattern continues. Two security-only releases on one day across two release trains is what responsible maintenance of internet-facing media software looks like, and it is also an argument for keeping up rather than letting a deployment drift.

The v4.0.0-rc.3 release on 2026-09-11 is described as a stabilization release ahead of 4.0.0, with one new feature: configurable mouse wheel behaviour on the whiteboard, letting administrators restore the pre-4.0 direct wheel-zoom. Most of the work is fixes, including an in-depth pass over LiveKit reconnection and recovery. The notes again recommend the latest 3.0.x release for production use. Licence is LGPL-3.0, and the README notes that BigBlueButton and its logo are trademarks of BigBlueButton Inc, which matters if you intend to rebrand a deployment.

## What a virtual class costs to run

The README does not give hardware requirements or a capacity figure, so this section is about what the architecture implies rather than a published number.

A BigBlueButton server runs an Erlang application cluster, a Scala web tier, an audio bridge for voice, a video SFU, a TURN server for clients that need it, a recording pipeline with its own post-processing, a shared documents server, a presentation conversion path through LibreOffice, and a database. Every one of those is a separate process that has to be alive for a session to work properly, and several of them have their own placeholder script in the tree because they are maintained elsewhere.

The practical failure mode is partial availability. A meeting where audio works and video does not, or where recording silently fails because the post-processing queue backed up, is worse than a server that is plainly down, because moderators will try to teach through it. Anyone running this needs to watch the pieces, not just the port.

The licence reinforces the point. LGPL-3.0 covers the code, and you can inspect and modify it freely, but the service is the hard part. There is no hosted tier here that removes the operational burden; the trade you are making is infrastructure cost against data control, and the infrastructure cost is not small.

## Where it beats a commercial meeting service

The comparison that matters is not feature count, because any commercial product will out-ship BigBlueButton on polish. It is the three requirements that a hosted service cannot satisfy.

First, where the sessions live. A classroom on a school network, a medical training programme with confidentiality obligations, or a course in a jurisdiction with data residency rules will all be easier to run inside infrastructure you control. Second, integration with existing systems: the LMS is where enrolment, attendance and recordings already live, and BigBlueButton exposes an API precisely so it can be driven from there. Third, the recording as an artefact. Flipped classroom content is teaching material, not a meeting log, and owning the file means it can live in whatever course repository you already run.

The counter-arguments are equally concrete. There is no native mobile client in this repository, so mobile participants use a browser. The operational burden is real, as described above. And the security surface is large and actively exploited, since the advisory lists show cross-meeting access bugs, which is a class of bug that only exists when meetings are the attack target rather than a side effect.

## Conclusion

BigBlueButton earns its place when the requirement is that the sessions stay inside your infrastructure and the participants are students, which is the case the software is actually shaped around. It is a poor substitute for a commercial meeting product if you want a polished mobile client or a small operational footprint, because the server is a full media stack and the security advisories come thick enough that patching is part of operating it. Install through bbb-install.sh on a supported Ubuntu release and stay on the 3.0.x line for production until 4.0 ships, which the release candidates themselves advise. The last push was 2026-09-18, and v3.0.37 and v4.0.0-rc.2 were both security-only releases on 2026-09-10.

## FAQ

### Is BigBlueButton like Zoom?

It handles the same core functions, real-time audio, video, screen and slide sharing plus chat, but it is built as a virtual classroom rather than a meeting product. Classroom features include polling, multi-user whiteboards, shared notes, breakout rooms, recording for flipped classrooms, and analytics shown to moderators in the Learning Analytics Dashboard.

### Is BigBlueButton free to use?

The code is open source under LGPL-3.0, and the README notes the project and its logo are trademarks of BigBlueButton Inc. There is no hosted offering in this repository that removes the cost of running the server yourself, which is an Erlang, Scala, audio, video and recording stack that you host.

### How much does BigBlueButton cost?

The repository does not publish a cost figure beyond stating that installing on Ubuntu 22.04 with bbb-install.sh takes 30 minutes or your money back. The real cost is infrastructure: you run the server, the media components, the recording pipeline and the front end. GreenLight, the default front end, is a separate project, and you also carry the patching cost, since 3.0.37 and 4.0.0-rc.2 were both security-only releases on 2026-09-10.

### How do I access the BigBlueButton?

You install it on a supported Ubuntu release using the bbb-install script in the bigbluebutton/bbb-install repository, then put a front end in front of it, since GreenLight is not part of this repository. The API for creating meetings and issuing join URLs is documented on docs.bigbluebutton.org.

## Sources

- [bigbluebutton/bigbluebutton on GitHub](https://github.com/bigbluebutton/bigbluebutton)
- [License: LGPL-3.0](https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-develop/LICENSE)
- [Project website](https://bigbluebutton.org)
- [README](https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-develop/README.md)
- [Releases](https://github.com/bigbluebutton/bigbluebutton/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/bigbluebutton-bigbluebutton
