ricochet-im / ricochet

Anonymous peer-to-peer instant messaging
https://ricochet.im/
Other
3.69k stars 401 forks source link

Integration of Tox.im core lib #116

Closed HulaHoopWhonix closed 9 years ago

HulaHoopWhonix commented 9 years ago

What if instead of building IM features from scratch, you could use a very advanced IM library like Tox core for all the expected functions like voip, file transfer, groupchat and mobile platform support (which would take care of https://github.com/ricochet-im/ricochet/issues/115)?

More information about Tox.im is summarized here: https://www.whonix.org/wiki/VoIP#Tox

ricochet-im would be all about Tor-centric integration of these features by integrating hidden services authentication layer.

What do you think?

rodneyrod commented 9 years ago

Ricochet and Tox have very different use cases and goals, and Tox is currently GPLv3, I believe that Ricochet is intended to be released under a more permissive license.

HulaHoopWhonix commented 9 years ago

Ricohet's license already deals with many differently licensed components: https://github.com/ricochet-im/ricochet/blob/master/LICENSE

Ricochet and Tox have very different use cases and goals

How's so? They are both encrypted communications platforms except the former aims for exclusive use within the Tor network. I think making use of the advanced toxcore lib is a more sustainable solution than reinventing the wheel that will also benefit users by giving them all currently missing functionality and platform support.

rodneyrod commented 9 years ago

In regards to licensing, Ricochet only makes use of permissively licensed components, except for Qt however since it's dynamically linked and LGPL the copyleft provisions don't effect Ricochet's license. Using GPLv3 components like Tox would cause the entire project to become copyleft, something that the lead developer doesn't want.

In regards to the different use cases and goals, the Tox developers have made it clear that they will only be developing their software with direct connections in mind, as they want no latency for A/V communication, which is understandable. This also means that friends must know each other's IP addresses when they communicate, the lead Tox developer irungentoo has stated this, and also stated that any attempt at supporting these sorts of anonimity networks will be entirely unsupported. Tox would also need substantial modifications to support the Tor binary and hidden service addresses, and these changes would probably not be accepted upstream for the aforementioned reasons. Ricochet has been designed with anonymity and IP masking from the start.

special commented 9 years ago

Tox has a different philosophy and a different set of goals. I think it's also premature to call it a "a very advanced IM library", with the implication that it's ready for production use.

I haven't looked closely at Tox; much of Ricochet's code actually existed before Tox did. I don't think they have protocol work that we'd be interested in adopting, for example. My impression is that they haven't yet solved any of the hard cryptography or denial of service issues that we'd be interested in sharing.

Ricochet already exists and is moving towards audited, production-level functionality every day. I'm not interested in scrapping what we have.

hyiltiz commented 8 years ago

But a BSD licence send so much against the idea of enforcing entice world into a privacy guaranteed state. But I will stop here since I am well aware of the BSD vs. GPL war.