It's an era of work-from-home remotees, digital nomads, and global officespaces. This is only possible because we're all able to stay connected through some amazing technology. If you've been a working adult for more than a decade, you probably remember the high cost and complexity of doing audio- and video conferences. Conference calls were arranged through third-party vendors, and video conferences required dedicated rooms with expensive equipment at every endpoint.
That all started changing by the mid-2000s, as webcams became mainstream computer equipment and Skype and related services hit the market. The cost and complexity of video conferencing decreased rapidly, as nearly anyone with a webcam, a speedy internet connection, and inexpensive software could communicate with colleagues, friends, family members, even complete strangers, right from their home or office PC. Nowadays, your smartphone's video camera puts web conferencing in the palm of your hand anywhere you have a robust cellular or WiFi connection and the right software. But much of that software is proprietary.
Fortunately, there are a some excellent open source video-conferencing solutions that can replicate the features of Skype, Zoom, Google Hangouts, and similar applications.
Jitsi's web conferencing solution stands out for its extreme ease of use: It runs directly in the browser with no download necessary, and no registration required. To set up a video-conferencing session, you just point your browser to Jitsi Meet, enter a user name (or select the random one that's offered), and click Go. Once you give Jitsi permission to use your webcam and microphone (sessions are DTLS/SRTP-encrypted), it generates a web link and a dial-in number others can use to join your session, and you can even add a conference password for an added layer of security.
While in a video-conferencing session, you can share your screen, a document, a slide deck, or collaboratively edit documents with Etherpad. Android and iOS apps allow you to make and take Jitsi video conferences on the go, and you can host your own multi-user video-conference service by installing Jitsi Videobridge on your server.
Jitsi is written in Java and is compatible with WebRTC standards, and the service touts its low-latency due to passing audio and video directly to participants (rather than mixing them, as other solutions do). Jitsi was acquired by Atlassian in 2015, but it remains an open source project under an Apache 2.0 license. You can check out its source code on GitHub, connect with its community, or see some of the other projects built on the technology.
Developed by the audio engineers who created Skype, Wire features secure screen sharing, file sharing, and group chat, administrator management, and the ability to switch between accounts and profiles (work and personal, for example) at will from within the app.
Wire is open source under the GPL 3.0 license and is free to use if you compile it from source on your own server. A paid option is available starting at $5 per user per month (with large enterprise plans also available).
Jami (formerly Ring)
An official GNU package, Jami is licensed under the GPLv3, and takes its commitments to security and free and open source software very seriously. Communications are secured by end-to-end encryption with authentication using RSA/AES/DTLS/SRTP technologies and X.509 certificates.
Audio and video calls are made through the Jami app, available for GNU/Linux, Windows, and MacOS desktops and Android and iOS mobile devices. You can communicate using either a unique user ID (which the Jami app randomly generates the first time it's launched) or over SIP. You can use your ID and SIP in parallel, switching between protocols as needed, but you must register your ID on the blockchain before it can be used to make or receive communications.
Jami's features include teleconferencing, media sharing, and text messaging. For more information about Jami, access its source code repository, and its FAQ answers many questions about using the system.
Riot is not just a video-conferencing solution—it's team-management software with integrated group video/voice chat communications. Communication (including voice and video conferencing, file sharing, notifications, and project reminders) happens in dedicated "rooms" that can be organized by topic, team, event, etc. Anything shared in a room is persistently stored with access governed by that room's confidentially settings. A cool feature is that you can use Riot to communicate with people using other collaboration tools—including IRC, Slack, Twitter, SMS, and Gitter.
You can use Riot in your browser (Chrome and Firefox) or via its apps for MacOS, Windows, and Linux desktops and iOS and Android devices. In terms of infrastructure, Riot can be installed on your server, or you can run it on Riot's servers. It is based on the Matrix React SDK, so all files and data transferred over Riot are secured with Matrix's end-to-end encryption.
For mobile devices running Android or iOS, the open source Signal app offers end-to-end encrypted voice, video, text, and photos, and it's been endorsed by security and cryptography experts including Edward Snowden and Bruce Schneier and the Electronic Frontier Foundation. Registration is simple: you're identified by your phone number, so all you have to do to register is to use the app. There's a desktop client available, but only for text chat, so it's clear that Whisper Systems, the nonprofit that maintains Signal, intends for this to be a mobile application. It's a perfect marriage between the two clients: you can use the desktop client as you work for brief messages and questions, and pick up your mobile (as you do) when you need to do a quick voice or video consultation.
Linphone is a VoIP (voice over internet protocol) communications service that operates over the session initiation protocol (SIP). This means you need a SIP number to use the service and Linphone limits you to contacting only other SIP numbers—not cellphones or landlines. It's easy to get a SIP number—many internet service providers include them with regular service and Linphone also offers a free SIP service you can use.
With Linphone, you can make audio and HD video calls, do web conferencing, communicate with instant messenger, and share files and photos, but there are no other screen-sharing nor collaboration features. It's available for Linux, Windows, macOS desktops, and Android and iOS mobiles.
Linphone is dual-licensed; there's an open source GPLv2 version as well as a closed version which can be embedded in other proprietary projects. You can get its source code from its downloads page; other resources on Linphone's website include a user guide and technical documentation.
The Nextcloud project provides you with you own private cloud space with plenty of tools geared toward collaboration. After installing Nextcloud on a server, or opening a hosted account, you can add users who can log in and use the Nextcloud interface as a shared workspace. Users can store and share documents and files using either the web interface, or just by dropping them into a Nextcloud directory on their desktop, which gets synchronized automatically with the Nextcloud desktop client. The web interface also features a chat application called Talk, which features the ability to make voice and video calls.
Nextcloud is a shared work space, so once it's installed and configured for your organization, it can probably be the primary virtual office space for your team. It doesn't necessarily have every tool your team needs, but it's an ideal space to share and manage the data your team works on, and to coordinate remote work.
The open source landscape is perpetually changing, so chances are some of you are using other open source video- and audio-conferencing solutions. If you have a favorite not listed here, please share it in the comments.
Editor's note: This article was originally published in 2018 and has been updated with new information.