Yet another person (cl)aims to reverse-engineer yet another proprietary protocol:This time it is Skype.
Especially, after Microsoft bought Skype
, this is - generally speaking - good news. Generally speaking. The dominance of Skype could have been easily prevented, in my opinion, if a few more people were interested in good - GOOD! - free VoIP solutions.
There is Ekiga
. There is Twinkle
. There is Jingle.
They all use SIP-like protocols, which is the first fail, a fail that comes from the arrogance of software programmers. While the programmer does not have any problems with router reconfiguration, but has problems with a quarter of a second of additional latency which he would have to accept when allowing TCP connections, the usual user will accept a little higher latency, as long as he does not have to reconfigure everything.
Meanwhile, with the rise of Skype, most NATs support STUN
and several other p2p-handshake-protocols well. This was not always the case.
Now put yourself in the users' perspective: You have your Windows-Box, which may still have NetMeeting, but in a very hidden place, and only working sometimes - with rather complicated configuration (direct IP adresses, etc.). And then you have Skype, which just works vitally everywhere - without further configuration.
This is not a coincidence. This is not just marketing. Skype was just better. Because Skype wanted to actually spread, while the awful pathetic hackeries of the free software community appeared to be mainly experiments to communicate with other hackers, after negotiating the actual connection parameters via phone.
And now, everyone uses Skype, except a few paranoid people who fear that it might spy their
This seems to be a common disease of the free software and open source community. There are at least three
(!!!) reimplementations of what could have become a flash player, but not a single free implementation of a usable Java Applet Plugin or SVG player. Reverse engineering must be great fun.
Hopefully, there will be more success with Skype.