

The problem with XMPP - jjuliano

The problem with XMPP is that it requires several open ports (5222, 5223, 5269, 5298, 8010) on the client, on the technical and practical standpoint the reason why XMPP is unpopular to big players because many businesses won't be bothered to open their ports because they want to stay secure, now if you are a solutions provider creating software using XMPP solutions for those companies, the most viable solution is to use BOSH to direct XMPP traffic to port 80, but there's another big problem, the only available BOSH library is a GPL BOSH library that you would license in order for you to not to ship your software along with it's source-code. Now if you can do the same thing over HTTP 1.1 stream, why bother with XMPP?
======
claudius
For basic XMPP functionality, the client has to be able to connect to exactly
one remote port (5222). This is not the same as an ‘open port’, as the latter
usually implies allowing incoming connections on this port. You can easily run
a XMPP server on any port you like, so it would also be possible to only
require outgoing connection to, say, port 443. Thanks to TLS, this is somewhat
indistinguishable from native HTTPS traffic.

Regarding your problem with BOSH: Simply build your own library and everything
is fine if you don’t like the GPL. Not really the problem of the rest of the
world.

Furthermore, you cannot do ‘the same thing’ using HTTP 1.1 as you can with
XMPP – the former is a somewhat trivial c2s transport protocol, the latter is
a complex, extensible protocol allowing both c2s, s2s, c2c and c2s2s2c
connections. You don’t really compare the vfat module in Linux to the Windows
kernel either.

