MQ Telemetry Transport is a machine to machine publish/subscribe protocol that is designed to be lightweight to implement so that it can be used on very low spec and low power hardware.
MQTT requires a server node. Most Linux distributions package the Mosquitto server. It runs without any problem in Ubuntu 12.10 and on a Raspberry Pi. To install on Debian and derivatives:
sudo apt-get install mosquitto
Several client libraries exist for different languages:
Both the Java and Python APIs are very easy to use. Others should be similarly easy.
MQTT is a transport protocol and allows publishers and subscribers to exchange payloads that can have any format. It does not define any particular format, which is one of the reasons why it can be used on very low spec devices. As a result, the payload format needs to be specified in order for nodes to be able to talk to each other. For high end devices, JSON is a suitable lightweight format but an even simpler format may be required for devices such as the [PICAXE].