Ring is free software which allows its users to communicate in multiple ways.
- A telephone: a simple tool to connect, communicate and share.
- A teleconferencing tool: easily join calls to create conferences with multiple participants.
- A media sharing tool: Ring supports a variety of video input options, including mutliple cameras and image and video files, and the selection of audio inputs and outputs; all this is supported by multiple high quality audio and video codecs.
- A messenger: send text messeges during calls or out of calls (as long as your peer is connected).
- A building block for your IoT project: re-use the universal communications technology of Ring with its portable library on your system of choice.
Created and developped by a small team at Savoir-faire Linux and a growing community of contributors.
Ring evolved from SFLPhone when the technology of DHT was added to it in 2014. Since then Ring has had a growing number of features and users.
Beyond the code, Ring is an engine for research and development by creating partenrships between local universities in the offices of Montreal, Quebec.
With the help of Google Summer of Code and student inters, Ring is participating in improving the technologies which make up the Internet.
Ring has several goals that serve as guidelines for it's development:
- Make it simple to use complex technologies: everyone should be able to use modern communication technologies without being an expert. Ring makes these technologies accessible while maintaining the possibility for experts to adjust it to their needs. Ring provides a turnkey configuration which "just works" for the eager user. Meanwhile expert users will be statisfied with the support for multiple accounts and configurations.
- Stay free: Ring is proud to be and use only free and open source programs (the GPLv3 license applies to all Ring code). This founding principle helps attract the maximum amount of contributions from people of all backgrounds, and to verify that all the code executed, will follow a healthy model of community development. Ring will not fall to patented technologies that would hinder the freedoms of users and contributors.
- Propose ways to protect privacy and personal information: freedom and security come with the protection of privacy. Ring offers a digital identity via the "Ring" account and it's "RingID", which does not ask you to put your personal identity on the network if you do not want to. Your communications will be encrypted without any exception with the most advanced current techniques (see our page dedicated to security). Ring stores your secrets (private key for encryption and identity) only on the machine that runs it. Ring is based on the DHT, distributed network technology, avoiding the use of servers which would make you dependent on a third party and facilitate mass surveillance.
- Using industry standards: the use of well defined protocols (SIP, DHT Kademlia, TLS, etc.), methods (continuous integration, code reviews, etc.), portable languages (C/C ++ 11) which have all been proven and recognized by industry experts allows Ring to maintain long-term development and respond to the needs of professionals as much as those of individuals.
- Compliance with the system's user interfaces: Ring seeks to follow the rules and guidelines established by the platform on which it runs as closely as possible. Ring does not force the user onto just one interface. Every supported platform has a unique client and Ring supports many platforms: GNU/Linux (Debian/Ubuntu, Fedora, Arch, etc.), Windows, Mac OSX, Android and, soon, iOS. The concepts and use are very similar, but the user's choice of platform is respected.
- Connectivity first: the purpose of a communication software is ... to communicate! Ring uses protocols such as ICE, STUN/TURN, UPnP and NAT-PMP which allow you to join your peers even in difficult network configurations such as multiple firewalls and NAT.
- Improve technology and expertise: the Ring team at Savoir-faire Linux is active in the development of techniques such as uniting SIP and DHT. Ring involves local universities and supports programs for maintaining free software development.