Rumors indicate that Skype might be sold to Microsoft. This only raises the urgency to develop a simple free competator. So, a good starting point is to list the very basic requirements:
- Peer-to-peer sound and video streams
- Global, distributed contact book
- Encrypted media-streams
- Potential support for conference calls (with one peer acting as server?)
So, how does one meet these requirements?
- GStreamer can solve the peer-to-peer sound and video streams
- Conference calls are not limited by gstreamer
- Encryption can be solved by gstreamer (put an encryption / decryption element in the pipe)
- The global, distributed contact book, is needed but can hopefully be supported by XMPP (Jabber).
The benefit of choosing XMPP is secure and flexible base to build a protocol on. There encryption keys and such can be exchanged, as well as synchronizing the setup and connection of peer streams. Using this protocol we could also support speech.
Another benefit, or risk, depending on how you look at it, is that this solution would be close to Google Talk.
Well, enough talking, I’ll do some prototyping later on and see what I end up with :-)
Yes! I would *love* to finally see a serious, viable alternative to Skype. I may be able to contribute, so I’ll definitely keep an eye on any such project.
Erm – the task is not to provide something with video and so on, but to provide something which works not matter what firewall you are behind.
There is indeed a solution for that task – libjingle. And no, SIP isn’t a solution.
Look at this: http://jitsi.org/
If you realy gonna do something like that, have a look at http://mumble.sourceforge.net
They have superb sound quality, encryption and whatever you may need.
And they build upon qt and are available for linux mac and windows
I think you could share a lot of code with them
Regards
You’re right that a free alternative to Skype is interesting, but what do you think about callingallgeeks.org/gnu-offers-open-source-alternative-of-skype-as-gnu-free-call/ and planet.gnu.org/gnutelephony/?p=14 ? Maybe joining efforts would be good here?
Perhaps something like GNU Free Call?
http://planet.gnu.org/gnutelephony/?p=14
Awesome initiative! Even though people have been wanting it since quite some time, there has been a lack of proper initiative. Carry on the good work. And i would be most enthusiastic to chip in and write code for the project to materialize the idea.
Well it already has been sold to Microsoft for $8.5 million. That would be nice a free version of Skype. Though I have no idea how you call home phones with it. Please make it with Qt not GTK :D
This reminds me of something I came across previously (voice only – so far):
http://www.gnu.org/software/sipwitch
XMPP is the best solution for now. Yet it has some problems:
1. NAT traversal. There is STUN but still enough problems (sending files works in 50% cases)
2. Codecs. No compability – two jingle enabled clients may not communicate because they cannot select common codec.
3. Client support. When guy say “skype” they mean ability to make voice calls. Jingle, in opposite, not in core XMPP or even in compiliance XEPs (http://xmpp.org/extensions/xep-0242.html, http://xmpp.org/extensions/xep-0270.html). There is enough clients that doesn’t support jingle.
However, there are enough advantages:
1. Open standards.
2. Decentralization.
3. Great user base.
So my option is XMPP.
As long as such an alternative has no strong partner behind it such as Facebook, Google or something similar in wight, it will definitely not reach the critical mass of users. And its the amount of users which decides about its success.
Thats how it has always been, and thats how it will be in the near future.
Skype has _always_ been closed source. I don’t see why it’s Microsoft is rising its need.
We should be concerned on closed source software, not Microsoft, although they almost always produce closed source technologies.
by the way, XMPP does support voice and video calls, doesn’t it?
It does! So everything else would be reinventing the wheel.
The extension is called “Jingle” and has been developed by Google (and used for Google Talk): http://en.wikipedia.org/wiki/Jingle_%28protocol%29
Support for Kopete has been on the feature list for several KDE versions, but afaik didn’t made it to mainline yet.
For me, the way has been, for years, Jabber/XMPP.
Sure, it still has some problems, but everybody can work together on fixing them and improving the situation, instead of creating yet another independent program with its own system (even if it’s free software).
“peer to peer” isn’t a basic requirement, it’s an implementation detail.
Empathy has almost all the features you ask for, including video call interoperability with Google Talk.
The only thing missing is encryption, and that’s being worked on for this year’s Summer of Code.