Un protocollo di comunicazione, in informatica, è un insieme di regole formalmente descritte che definiscono le modalità di comunicazione tra due o più entità.
Similmente, nella messaggistica istantanea, un protocollo definisce le regole tramite le quali i software (Mobile o Desktop) possano comunicare per scambiarsi dei messaggi.
Essendo XMPP un protocollo “aperto”, le regole di comunicazione in esso stabilite sono
pubbliche, quindi note a tutti, a differenza dei sistemi di messaggistica oggigiorno più diffusi (Whatsapp, Telegram, ecc..).
Chiunque può creare quindi un software (una app) per XMPP, che possa comunicare sulla rete insieme a tutti le altre; su XMPP esiste infatti una miriade di client, realizzati da persone differenti, in grado di comunicare fra di loro grazie alla natura del protocollo aperto.
Per aiutare i programmatori a creare suddetti programmi e quindi permettergli di seguire le regole del protocollo, è necessaria un'attenzione molto importante al produrre buona documentazione capace di descrivere nel dettaglio il dato protocollo (in questo caso XMPP).
Tutte le regole (le specifiche) di XMPP sono state chiamate "XEP" e sono mantenute, ampliate e modificate dalla comunità nominata XSF (XMPP Standards Foundation), una organizzazione indipendente no-profit.
Per permettere di capire meglio, facciamo ora alcuni esempi di altri protocolli di comunicazione aperti molto famosi: “HTTP” (il protocollo del web) oppure quelli di posta, chiamati “POP3” o “IMAP” per la ricezione e “SMTP” per la spedizione dei messaggi.
I protocolli aperti sono una grande conquista, in quanto consentono il diffondersi delle tecnologie e non permettono ad una unica o poche aziende/multinazionali di trarne profitto.