The goal of the BigBlueButton open source project is to enable remote students to have a high-quality learning experience.
Given this goal, it shouldn’t surprise you that BigBlueButton started at a university (though it may surprise you which one). BigBlueButton was created by a group of very determined developers who believe strongly in the project’s social benefits and entrepreneurial opportunities. Starting an open source project is easy: it takes about five minutes to create a GitHub account. In contrast, building a successful open source project that solves the complex challenges of real-time group collaboration takes a bit longer.
We’ve been working on BigBlueButton since 2007, fixing issues, adding new features, refactoring code, and all the while focused on making sure the platform is solid and usable for our target market.
Having a focus is important to the success of any open source project. If you are an institution (educational or commercial) that wants to offer remote students a high quality learning experience, we are building BigBlueButton for you.
Like most open source projects, BigBlueButton began with an itch.
It started in 2007 at Carleton University when Dr. Tony Bailetti, director of the Technology and Innovation Management (TIM) program, wanted to expand TIM to reach a global student audience. Travel is expensive. The goal was to allow remote students to attend classes without travel. The TIM program started using a commercial web conferencing system to reach remote students, but that too was expensive.
The story might have ended there, but Dr. Bailetti had an advantage: the TIM program was designed to teach engineers to be entrepreneurs. Richard Alam, a TIM thesis student, was analyzing open source business models under the supervision of Dr. Bailetti. His thesis was that open source-based business are highly disruptive because they leverage a community of developers, users, and companies to create a solution that goes far beyond the capabilities of a single entity. Good examples of such success were operating systems (such as RedHat), databases (such as mysql), and development tools (such as Eclipse).
Dr. Tony Bailetti challenged Richard to write an open source web conferencing system for the TIM program, one that could replace their commercial product and enable the program to reach global students. Working with Denis Zgonjanin (then an undergrad student in Systems and Computer Engineering at Carleton), Richard built an early version of BigBlueButton using red5 and other open source components. In the fall of 2007, the TIM program started using BigBlueButton for its remote students.
Around the same time Fred Dixon, a software developer and serial entrepreneur, learned about the BigBlueButton project and met with Richard. They began discussing ways to grow the project into something bigger.
Richard graduated from the TIM program and the students had moved onto other projects.
The TIM program continued to use BigBlueButton and was looking for improvements to the software. Fred Dixon began working full-time on the project. The plan was to follow the ideas in Richard’s thesis about leveraging open source projects to create a company that could offer commercial support to the BigBlueButton community. Carleton University received funding from the Talent First program and hired some of the graduates to pick up where they had left off.
The above is a picture taken from one of the early chalkboard sessions in which Richard described the architecture of BigBlueButton to the students. (You can tell this work was done at a University because there were no whiteboards in the student lab.)
Given the plan to offer services to the BigBlueButton community, the first challenge was to build the community, and that meant focusing on improving BigBlueButton. In June 2008, Richard, Fred, and Denis became the core developers and started the bigbluebutton-dev mailing list. After a summer of refactoring and reworking the code, they uploaded to Google Code the BigBlueButton code and invited others to participate.
They announced the first version, BigBlueButton 0.32, and invited others to install and setup their own server.
At that point, with the code now available, the BigBlueButton project became a true open source project, in name. The installation process was long, but it got easier as other joined.
Other developers started installing the software and giving feedback. In December 2008, the bigbluebutton-dev mailing list had a total of five (5) posts.
With a growing BigBlueButton community, in early 2009 Fred, Richard, and Denis formed Blindside Networks, a company pursuing the traditional open source business model of providing commercial support for BigBlueButton. Going forward, if a University or College wanted commercial support, there was now (at least one) company that could provide it.
“Looking back, about seventy-five percent of our effort went into building the software and community,” says Fred Dixon. “It was (and still is) a volunteer effort without end. We were constantly coding, documenting, testing, and releasing updates to the project, then we would post updates to the mailing list and help others get their BigBlueButton servers going. The best part was when we got feedback very quickly on the parts that needed improvement.”
The core developers created a demonstration web site at demo.bigbluebutton.org to enable anyone to try out the product. Interest in the project increased.
In the summer of 2009, the core developers added desktop sharing and built-in VoIP (previously users to setup dail-in numbers to the asterisk voice conference server). To make it easier to setup a BigBlueButton, the developers created Ubuntu packages and a downloadable BigBlueButton VM. The mailing list now had over a hundred members, and more were joining each week.
One member who joined was Jeremy Thomerson, an experienced open source developer. Jeremy worked at Generic Conferencing, a company wanting to expand its’ voice conferencing into web conferencing. Jeremy wrote a proposal to add an application programming interface (API) to BigBlueButton for integration with 3rd party applications. In the fall of 2009, the API was in place, and Generic Conferencing became the first external company to incorporate BigBlueButton within their product. Jeremy also became the first external developer to join the BigBlueButton core team. A short time later, Tiago Jacobs, a committer to the red5 project also joined the BigBlueButton core team.
By the fall of 2009, the pieces of BigBlueButton ecosystem were taking root. The project now had wikis, mailing lists, code repository, and a growing community. The bigbluebutton-dev mailing list was averaging about 200 messages. There were developers, users, and commercial companies, but the overall size of the project was still considered relatively small.
The project needed a boost, and it was about to get a really big one.
In early 2010, BigBlueButton was accepted into the 2010 Google Summer of Code (GSOC).
During Feburary 2010, traffic in bigbluebutton-dev mailing list had over 700 messages; the next month over 900. Google offered to pay for two students to work on the project, and 79 applications came in for the two positions. The developers picked Marcos Calderon and Neeraj Kumar to work on the project.
The number of external developers interested in contributing to BigBlueButton was also starting to increase. Xie Yan Qing and Chen Guangtao, two developers in China, added patches to localize BigBlueButton’s strings. Thanks to Jeremy’s API, a growing number of open source projects began offering native plugins to make it easier to use BigBlueButton from within their projects.
To make it easier for other developers to fork and contribute to the code, the BigBlueButton source code moved to GitHub. The core development team released BigBlueButton 0.7 with built-in whiteboard.
Other open source projects began to adopt BigBlueButton for integrated real-time collaboration. Adrian Fish, a developer in the Sakai project, had built a web conferencing system called Agor. On February 2, 2010 he made the following post to the Sakai developers mailing list.
I’m currently playing with BigBlueButton (http://bigbluebutton.org/) which seems promising. Agora hasn’t got a great deal of room for development seeing how the JMF got more or less dumped by Sun years ago. If JMF had more codecs in it and Agora got updated maybe it would be viable – I still love the Agora interface for example – but I just don’t see it as feasible. I was actually thinking of investigating Red5 for an update of Agora but it seems crazy when BBB is around and open source.
Compared with commercial web conferencing systems, BigBlueButton did not have a lot of features, and some universities and colleges like the simplicity. For usability, the most pressing problem was the audio: there was a two second delay between the transmission and receiving of the audio. For most of the summer and fall of 2010, Richard worked on analyzing the audio, the flow of packets, and optimization of the code, looking for ways to improve the built-in audio.
Marcos Calderon, one of the students in the Google Summer of Code, joined the core development team full-time. To further accelerate the growth of the project, the core developers signaled to the community that their intent was to create an independent not-for-profit BigBlueButton foundation to oversee and support future development. This was the vision, but there was still a lot of work ahead.
- Pressing the BigBlueButton, Free Software and Open Source Symposium 2010
- BigBlueButton day at Carleton University: part1, part2, part3, part4, and part5
In January 2011, the project released BigBlueButton 0.71a, the ninth release to date. At this point, the most requested feature from the community was record and playback. Richard had prototyped adding record and playback in an earlier version, but it was not yet completed. The reason: adding the record and playback was going to require reworking the architecture to both capture events and process them for playback.
The shift to GitHub was making it possible for more open source projects started to build on BigBlueButton. The GT-Mconf team working in the Laboratory of Prav (located in the Institute of Informatics, Federal University of Rio Grande do Sul, Brazil), announced they would be working on an Android client for BigBlueButton. Their client is available from the Android marketplace. Felipe Cecagno from the MConf team joined the BigBlueButton developers.
In summer 2011, the Mozilla Foundation used BigBlueButton to broadcast and record live classes. By September 2011, the team had released BigBlueButton 0.8-beta-1.
In the fall, Mozilla corporation started an accelerator program called WebFWD to support open innovation on the web. The BigBlueButton project was invited to join WebFWD in December.
- FLOSS Weekly 147 Interview by TWIT
- Lecture capture and broadcast with BigBlueButton, Software Developers Haven 2011
- Lessons from an Open Source Business, Fred Dixon, Open Source Business Review
- WebFWD Presentation, Fred Dixon
Thanks to a large community of users and developers, there was now a lot of external testing of BigBlueButton. Based on increasing interest from the Spanish, the bigbluebutton-espanol mailing list was started.
At the time of this writing, the project had reached a number of milestones
- Subscribes to the bigbluebutton-dev mailing list: 1203
- Twitter followers: +1000
- Watchers on GitHub: +600
- Forks on GitHub: +500
- Weekly downloads of BigBlueButton VM: 700 (average)
The developers released Bigbluebutton 0.8 on June 18, 2012. See the Road Map to 1.0, for future plans.
If you want to read more about the history of the BigBlueButton project, take a look at the blog posts from the past few years.
- TightWad Tech 95 interview