An earlier blog post made it to Hacker News. I found the comment at http://news.ycombinator.com/item?id=2611728 insightful.
1) The wrapper itself is not encumbered (unless some patent issues applied)
2) Users with a legal copy of Skype on one platform can apply the wrapper themselves (though they cannot redistribute the result)
You can even imagine distributing (via, say, github) a kit consisting of the wrapper and a tool that applies that wrapper to a user-supplied Skype binary. All legal as far as I know (IANAL etc.)
But i have no idea what it IS then
What's required (for purposes of courtroom defense) is a clearly documented procedure in which those who have access to the source being reimplemented (the spec writers and testers) NOT be the coders, and vice versa.
Another example is the SMB/CIFS reimplementation in the case of Samba. Here, because the protocol was an over-the-wire system, analyzing network packets (not covered by source analysis proscriptions) was sufficient to create a Free Software implementation.
Software patents are intentionally vague, so I doubt anybody could write a working client based on a patent alone (even if whole protocol was claimed to be described).
The guys who reverse engineered Exchange Server were acquired by Cisco.
I don't understand why the Skype case is 'evil'. distributing the binaries may violate terms of service, but it isn't illegal in large parts of the world.
Unless your home PC is an IBM PC-AT it's the result of reverse engineering.
This isn't true. Nothing stops you from analyzing and implementing their protocol. This project, however, is only the first part.
Their introduction there can be rewritten as "Open source doesn't just mean the source is open. We claim there are also implications about the means of distribution."
It's as though someone was telling people "free beer" doesn't just mean beer that's free, it also needs to be in glass not cans - free beer in cans needs to be called something else…
I think there's a lot of "open source" software out there that is not "open source(tm)". I'm not sure "the open source movement" are doing themselves any favors by aggressively defending their particular definition of a descriptive phrase that is widely known and easy to assume you understand.
(But I also understand the need for specific technical meanings in the software field, and that phrases like "open source" end up being part of the field's jargon, and have far more specific technical meanings than the "plain english" deconstruction of the words indicate. I just think the "open source" case has backed itself into a corner where people assume a plain english interpretation of the phrase, then have the "open source movement" people need to jump on them and say "no, you're wrong". As displayed upthread.)
I understand the opposing view, which claims it's natural to mean "look but don't touch" by "open". I'll grant that it can be a plain english interpretation. But it's an interpretation that violates the instinct of the observer.
In a couple days I wrote a pretty simple, but functional multiparty video chat web-app. I'm just waiting for Chrome to support multiple PeerConnection objects.
I guess I don't understand the obsession with trying to interop with Skype.
I don't know what sort of audio processing magic Skype is performing but whatever it is it's incredibly good. My group tried lots of alternatives (Ventrilo, Mumble, TeamSpeak, Steam, etc) and Skype is easily the best. All the others have issues with poor quality, speaker feedback, and/or keyboard sounds. Skype has none of that. Crystal clear voice chat even when the mic is directly beside a clickety clackety keyboard.
It'll take a hell of a lot more then a simple web client to dethrone Skype.
I'm sure the browser vendors will catch up, but haven't even seen mention of some of these features yet with regard to WebRTC.
The fact that it doesn't crash every other day is a nice bonus too.
I promise I'm not trying to be abrasive. I'll update with some links when I get a chance to get to a proper computer.
Meanwhile the voice chat built into gmail was one of the absolute worst and was completely unusable. It's a much more complicated problem than people realize.
Mumble's current codec (old version of CELT) is competitive and possibly better.
SILK was open sourced a while ago, and was combined with CELT to make the Opus voice codec, which is best-of-class and is even competitive with codecs like AAC for music compression. I suppose any client who wants to could adopt it, but none have yet.
Massive existing user base?
> Massive existing user base?
Web browsers have even more massive user base though, and (insha'Allah) will include WebRTC as standard before too long.
I'm not saying we shouldn't try to get people to change, only that it will be hard and Skype interoperability is a very legitimate thing to want to achieve.
That was before Google Voice+Video+Hangouts. A significant number of people I contact with has already switched to Google because it is much easier to use.
That's actually an issue with skype on mobile (which I think is fixed now since they use centralized servers for mobile connections).
In that case you're pretty much in the same position as with Skype - just without a download. Account, configuration, potential payments, etc. remain.
Edit: Actually now I see a solution - if only one person had an account, this would still be possible and he could start a call by sending some URL. So for the other person this is "just go to this URL". Unfortunately we still need a third party to handle the traffic unless you require the account holder to ensure their network is capable of acting as a server.
There's literally no effort needed to start using it. In fact, with oAuth you can even tie into existing user bases. Chat with all of your Facebook/Twitter friends by authing those accounts and the backend telling you which friends already have it. You get built in userbases for free almost.
Old habits die hard; that's part of the problem. But also, we're still not there yet, AFAIK, turning browser apps into applications. Sure, I can tweet a link to everyone to video chat with me. But how well will that work if my browser isn't running when they call?
Skype is an always-on native application that doesn't steal a slot in the dock/taskbar when it's not in active use, and also just claims its reasonable slice of memory and doesn't generally go up from there. I keep it running, and people call me or IM occasionally.
So how do I use some browser tab to be always available for calls and IM? If the right browser & tab are open, how will it even notify me when someone's IM'ing me? How annoying will it be to find the right tab, to respond?
The GMail interface is superior to Thunderbird for email, but I still pull two GMail accounts into Thunderbird (along with others hosted elsewhere) because it shows the little envelope in the tray when I have new mail, and I can mouse-over that to see what it is.
Well, and I can still search my entire message history (for 6 diversely-hosted accounts), write emails, etc., while offline, and don't have to provide Google access to my mail server. Etc..
Maybe there are good solutions to all of these problems? But I can't go changing all of my habits every time someone tells me "there's a new way!" -- I have work to do. Generally when I try, I get burned and have to change back.
Addendum -- I'm a technical user. I'm not completely ignorant of the possibilities. So take my reluctance to change, and multiply that by some large factor for everyone who finally got the hang of using Skype to keep in touch with their family overseas....
[immediate edit: I do know that some of these problems are solved; but I need all of them, or something so much better to my general workflow that it's worth the effort to switch and lose whatever I'm losing.]
You're right in that some of the problems are solved (I get native notifications of new email in Gmail via Web Notifications and a Chrome plugin that turns them in inotify (or whatever) notifications, and the indicator on my app'd tab in Chrome changes from zero -> one).
I do appreciate the feedback, these were conditions I hadn't even considered and need to account for.
With a hypothetical "WebRTC video chat" service, in order to chat with "any of my facebook friends", I need to:
- Give all my data on my Facebook friends to the service in question. (Let's assume for the moment that it's a benevolent hypothetical chat service and I don't have to give up a lot)
- Invite one of my friends.
- Hope that my friend accepts the service accessing their information in the same way (A very big hurdle if it's a service they've never heard of)
Or I could just use Skype, that they're already on.
Grandma, open the email I sent you and click the link [or] Grandma, Go to "tinyurl.com/5yp7q".
Grandma, download Skype, find it, run it, walk through the Installer, make an account, login, add my username, then call me. (and even then, this is glossing over a gross number of details that are hard for the unsavvy).
Even if it's already set up, there's no barrier to use of a simple WebRTC-based service assuming it's done correctly.
So it's just ring ring "hello?"
Vs. sending an email to tell her to click this link so that you can call her....
If she knows to wake the computer up (or start it up) during your evening hours, that's enough -- Skype starts when the computer starts, unlike a browser.
Skype is easier than email, generally (and Grandma may not bother with email...). You don't even need typing skills. Just click the "answer" button when it rings, or if you want to call me, click my name then click "call".
Then my father, became computer geek late in his years, and I can't even stop his mouth when comes to applications :) - He's bigger kid than me in that respect...
Granted, I agree with the grandparent here: ultimately, browser-based software would be easier, but you have an entrenched user base who aren't likely to quickly change to new tech.