# Pidgin (software)

Pidgin (precedentemente noto come Gaim) è un client di messaggistica istantanea open source multipiattaforma multiprotocollo.
Originariamente scritto da Mark Spencer per i sistemi operativi Unix-like, è compatibile con GNU/Linux, macOS, Microsoft Windows, SkyOS e con il sistema PDA di Trolltech, Qtopia.
Gli sviluppatori di Pidgin hanno separato il codice del nucleo ("core", il quale si occupa di cose come la connessione al network e ai messaggi) dal codice per GUI, il quale controlla come presentare queste azioni all'utente. Ora è dunque possibile scrivere client usando librerie GUI a scelta dello sviluppatore. Il nucleo della libreria prodotta dalla separazione è chiamata libpurple (precedentemente nota come libgaim); questa libreria è già in uso nei client Adium e Proteus, come nel client testuale Finch.

## Protocolli supportati

* AOL Instant Messenger (attraverso i protocolli OSCAR o TOC)
* Bonjour
* Facebook chat (usando il protocollo XMPP)
* Gadu-Gadu
* Google Talk (usando il protocollo XMPP, e dalla versione 2.6.0 solo su Linux, supporta il VoIP grazie all'estensione Jingle)
* GroupWise
* ICQ (attraverso il protocollo OSCAR)
* IRC
* XMPP
* MSN
* MySpaceIM
* OpenNAP
* QQ (disponibile tramite il plugin libqq-pidgin)
* Sametime
* SILC
* Yahoo! Messenger
* Zephyr

## La controversia sul nome

In nome originario veniva scritto come "GAIM" (tutto maiuscolo) o "gAIM" (solo la prima lettera minuscola), ma successivamente la sua scrittura ufficiale diventò "Gaim" o "gaim". Il suo precedente nome non veniva considerato un acronimo, per chiarire di non aver alcuna affiliazione con AOL, anche se in effetti si era visto che il nome originario del progetto era "GTK+ AOL Instant Messenger". Per problemi legali proprio con AOL è stato cambiato in gaim. Infine (dopo una lunga trattativa segreta) il 6 aprile 2007 il progetto ha cambiato nome nell'attuale Pidgin. Il termine "instant messenger" e l'acronimo "AIM" sono service mark di AOL Time Warner, e per questo motivo non fu permesso utilizzarli. Il suo nome deriva dalla parola pidgin, che indica le lingue che permettono di far comunicare due persone che parlano linguaggi differenti.

## Funzioni

* Le finestre dei messaggi usano la navigazione a schede per facilitare il passaggio da una conversazione all'altra
* Le opzioni di account permettono all'utente di entrare con diversi account alla volta
* Supporto della trasparenza mediante plugin per le finestre di conversazione e della lista dei contatti
* Aliasing dei nickname dal nome reale dell'utente, in questo modo un utente connesso su vari protocolli verrà raggruppato in un solo nome
* Registrazione delle conversazioni e dei messaggi
* La funzione di notifica (Buddy Pounce), effettua avvisi con finestre "pop-up" o con emissione di suono quando un utente o si collega/scollega o cambia stato
* A partire dalla versione 2.6 supporto audio e video, attualmente solo per il protocollo XMPP

## Plugin

Pidgin, sul suo sito, ospita un elenco di plugin di terze parti.
Pidgin, pur avendo due plugin per la cifratura dei messaggi (tra cui OTR), non supporta GPG.
PhoneGaim è un software basato su Pidgin (e perciò disponibile sotto la GPL) che usa il protocollo SIP per sfruttare la comunicazione voce su internet attraverso il VoIP.
Attualmente è in fase di sviluppo un plugin che permette di configurare un account Skype ma al momento non sembra essere stabile e ha bisogno che Skype sia aperto per poter funzionare.
È disponibile un plugin per gestire da Pidgin anche i contatti Telegram (software libero di messaggistica per smartphone).

## Criticità

* Le password vengono memorizzate in un file di testo in chiaro. Questo file è leggibile da chiunque abbia accesso fisico al computer, accesso agli account utente o amministrativo, o (potenzialmente) a chiunque sia in grado di sfruttare vulnerabilità di sicurezza su tale computer. Gli sviluppatori riconoscono questo come un problema di sicurezza, ma credono che i requisiti di Pidgin (e la natura della messaggistica istantanea) rendono non praticabile crittografare il file delle password in quanto ciò darebbe una falsa percezione di sicurezza, anche se hanno dichiarato di accogliere di buon grado soluzioni per integrare Pidgin con soluzioni di sicurezza a livello di applicazione. Le alternative per ovviare a tale problema possono essere: a) non salvare le password; b) criptare il proprio filesystem; c) salvare le password di Pidgin in modo sicuro utilizzando il pacchetto Debian pidgin-gnome-keyring
* Pidgin attualmente non permette di ripristinare trasferimenti di file incompleti o messi in pausa, in nessuno dei protocolli supportati.
* Pidgin non permette di disabilitare l'ordinamento del gruppo nella lista dei contatti.