What is Open Peer?
- Open – Anyone is free to implement the protocol specification, download and utilize the reference clients or implement them into their own projects using the SDKs.
- Peer Communication – Find your peers by social (eg. Facebook, LinkedIn, Twitter, Github) or legacy Identity (eg. Phone number, Email) or by unique ID (your own ID perhaps) on the Open Peer network. Connect and exchange media including real-time communications such as audio, video or messaging.
- Identity Federation – Identities (Social or Legacy Identities) hosted in one domain can talk to the identities of another domain without peering agreements while providing strong identity validation.
- Strong security/privacy – Encrypted communications, signalling/media bypasses server infrastructure, even the support servers involved do not know the encryption keying materials.
- Scalability – Open Peer is architected to be highly scalable.
- WebRTC enabling protocol – Open Peer is the glue that holds WebRTC together. WebRTC embeds a real-time communication stack into browsers but does not include signalling. Open Peer provides developers with Open Peer features in WebRTC projects allowing web applications to communicate and federate across domain infrastructure and thus removing the tendency to build web communication silos.
Open Peer Specific
- github.com/openpeer/rolodex – Rolodex for Open Peer
- github.com/openpeer/op – Open Peer C++ core library
- github.com/openpeer/opios – Open Peer SDK for iOS
- github.com/openpeer/opandroid – Open Peer SDK for Android
- github.com/openpeer/opbb10 – Open Peer SDK for BlackBerry 10
- github.com/openpeer/op-docs – Open Peer Documentation
The holy grail of communication on the Internet has been to allow peer-to-peer communication without the requirement of any centralized servers or services. A peer-to-peer approach offers some key advantages over a centralized server approach:
- Greater network resilience – peers can continue to function independent of servers and can operate even if servers are down
- Increased privacy and security – peers communicate directly thus the data is not centralized in one location where it can be spied upon by corporations, governments, 3rd parties or hackers.
- Decreased cost – without the need of servers, the cost to host, administer, store and relay data is reduced substantially
- Scalability – a peer to peer network doesn’t require servers to scale as the peers can operate amongst themselves.
Unfortunately, the goal of peer-to-peer and the reality of peer-to-peer do not match. Centralization of data into the Internet cloud is prolific and firewalls frequently impede direct peer-to-peer communication making peer-to-peer connection extremely difficult to setup and challenging to architect.
WebRTC & Standards
What further reduces the proliferation of peer-to-peer is a lack of standardization, openness and ubiquity of the technology. The standards bodies have been working for years on firewall traversal techniques and standardization of the approaches and a new joint effort called WebRTC between the W3C and IETF on how browsers can directly communication between browsers to move media. This joint effort does not specify how signalling happens between peers so it’s not a complete solutions on its own.