Imagine a free software for multimedia communication so instantly easy to use that it requires no special configuration, no online account, and no password. Imagine that it is built with the latest peer-to-peer (P2P) technologies, secured with the best encryption standards, and that you can use it for free, without licence fee, to exchange voice and video communications with one or more callers. Well, this software is born. It is called Ring and is still in its early alpha stage.
I have asked Guillaume Roguez, a senior Free Software Consultant at Savoir-faire Linux and Director of the Ring project, to share some technical details:
Tell us how Ring is born and what are its basic characteristics?
Ring is the evolution of a former project — SFLphone — which has matured over the last ten years and was based on the old concept of centralized data. The change in technology and the world in general has been the guiding framework of the new software. We have completely rewritten the deeper layers and decided to incorporate so new and revolutionary features in it that we had to change the name.
The essential concept is decentralization. Ring implements the DHT — a technology to identify and retrieve IP addresses of any client connected to a distributed network system. So, it is no longer necessary to go through a centralized server as SIP or AIX2 to locate and call someone.
With Ring, each account is identified on the network by a personal digital footprint commonly called “hash” ― a unique code of 40 letters and numbers linked to an identification certificate and a pair of asymmetric keys for encryped communications. It registers itself by distributing its identity not to one but multiple equivalent “servers” ― each machine acting in fact as an identity server for others. These machines can appear, disappear and be replaced by others at any time. The table of hashes containing all the identities of connected users and their IP addresses at a given time is distributed to all their machines.
To use a simple analogy is, things happens almost like in a street of a residential area. You know your neighbors, but not the neighbors of your neighbors’ neighbors. Yet it will be easy to find them by querying a first neighbor who will ask another and so on. A substantial difference is that digital networks are much faster and much more effective than word of mouth. (laughs)
Can we really speak of complete privacy?
Yes, to the extent that this issue is returned to brought back to where it resided earlier ― at the human level. When you communicate with someone, you do it with confidence to that person. Ring ensures that confidence is maintained and reliable.
Technologically, encryption is based on the well known system of asymmetric keys ― public key and private key. Ring uses the latter to encrypt outgoing communications. The private key is stored only on your machine and never comes out: only you possess the copy. Even if some entity intercepted data packets on the fly, you can be certain that they will not get any benefit.
Another very important aspect of security is the fact that Ring is a free software licensed under GPLv3. Its source code resides on the public servers of Savoir-faire Linux, and the codes of its software dependencies are available on the public servers of their respective communities. In short, everything is free, accessible, and transparent!
Advanced users can also help to correct problems: we welcome contributions. We expect people to tell us what needs to be corrected, but they can also do it and submit their patches. This is the way it worked with SFLphone and it works pretty well.
What operating systems does Ring support and what is the roadmap?
At the end of April, we have opened our first alpha version, still in its infancy, for 64-bit Linux systems based on Ubuntu and Fedora as well as Mac OSX. Of course, we have already tested internally and with a bunch of geeks our there, but we have to check if it works well on a large distributed network. It is expected that we receive a lot of feedback and correct some problems. This is precisely the aim of this first step.
Subsequently, we’ll start the beta phase, adding more advanced features, and with two main objectives:
- First, frequency. We want to be very close to the needs and feedback of the community. So we will offer frequent updates.
- Secondly, interoperability. We will work on mobile platforms such as Android and simultaneously on a Windows port, which is already well advanced.
Making our tools available to as many people as possible is in the very logic and moral values of free software. So we develop Ring constantly keeping in mind the fact that he had to be portable across many architectures ― office systems and mobile platforms, of course, but also (and perhaps, especially) embedded systems. With the Internet of Things, embedded systems will become highly sensitive platforms in the coming years.
» Interview by ring:6a8da1380eb39e06d76634944384022ca92da937