Pidgin

Pidgin（前稱Gaim）是一個跨平台的即時通訊用戶端，使用GNU通用公共許可證發佈。這款軟體支援多個現時常用的即時通訊協定，讓使用者可以用同一個軟體登入不同的即時通訊服務。

截至2007年，Pidgin約有三百萬名使用者。

功能 

Pidgin支援多個作業系統，包括Windows和其他類Unix系統，例如Linux、BSD和AmigaOS。軟體本身支援NSS，為支援客戶端和伺服器之間加密通信的協定提供基礎。除此之外，使用者可以安裝外掛程式來得到更多功能。

Pidgin包含了一般即時通信軟體的功能，例如分頁聊天窗口、聯絡人名單、文件傳輸、聊天記錄的功能。

使用者可以選擇是否開啟分頁聊天窗口功能，聊天窗口也提供按鈕給使用者修改訊息的格式，例如變成粗體或者把文字改變為橙色。

使用者可以在「Buddy List」添加聯絡人（在Pidgin裏叫「Buddy」）或者其他IRC頻道。使用多個協定的聯絡人可以被歸入同一個聯絡人處理，使用者更可以為他們設定暱稱。

使用者可以通過「Buddy Pounces」，使Pidgin在某些特定的條件進行預先設定好的操作，例如「在朋友Chris Wong上線時向他發送『你好！』。

Pidgin也支援文件傳輸，各種功能包括暫停、續傳、取消。所有的傳輸皆可在同一個視窗管理。然而，使用MSN協定傳輸文件的時候，所有資料都經MSN的伺服器轉發，並非點對點傳輸，結果傳輸速度十分慢。一個Google Summer of Code專案希望在2007年解決這一個問題。

其他功能包括可自定的表情圖示、拼字檢查等。.

協定支援

官方開發 

 .NET Messenger Service
 Bonjour（蘋果公司的）
 
 Internet Relay Chat
 XMPP ( Facebook Chat, ...)
 
 
 （AIM、ICQ、.Mac）
 Sametime
 
 Session Initiation Protocol（SIP）
 Yahoo! Messenger
 Zephyr

第三方開發 
 Internet CB (ICB) Network
 Napster
 NateOn
 QQ
 SNPP
 Skype
 Tlen
 WinMX
 Xfire
 飞信

加密傳輸 
Pidgin可以透過安裝不留记录组件（OTR）和Pidgin-Encryption來實作加密傳輸功能。

歷史 

這個應用程式本來由Mark Spencer，一名奧本大學的二年級學生，所編寫。程式雛型為一款以Linux上的GTK+工具開發的AOL即時通訊客戶端。那時候，它的名字是GAIM（GTK+ AOL即時通訊）。這項工作並不是由逆向工程來完成，而是透過AOL在網站上發佈的技術文件來開發。而事實上，一些AOL的員工也曾經協助GAIM的開發工作。在此之後，GAIM陸續加入對其他即時通訊協定的支援。

Pidgin的開發者然後開始分離核心代碼；將負責通訊部份與圖形使用者介面部份分開。完成分離後，開發者將有可能以自己的圖形程式庫編寫自己的客戶端介面。分離後的核心程式庫將被稱為「libpurple」（原稱「libgaim」）；這個程式庫已被Adium與Proteus這些客戶端使用。

而新版也解決了以往登入Yahoo! Messenger時，中文顯示亂碼的問題（需修改帳號設定中的編碼為UTF-8）。

名字爭議 
由於AOL的抗議，開發團隊把名字中的「AIM」改為小寫－Gaim。但隨着AOL即時通訊日漸受歡迎，AOL把「AIM」一詞注冊作為商標，之後，AOL和Gaim開發人員之間展開一段長時間的法律訴訟。

在2007年4月6日，開發團隊宣佈他們和AOL的最終協議：Gaim 改名為Pidgin，libgaim 改名為libpurple，而gaim-text 變為finch。開發團隊之所以選取「Pidgin」是因為這個字能夠表達不同語言的使用者能共同溝通的概念。另一方面「Pigeon」是一種受歡迎的獵鳥和傳信鴿。至於「purple」取自「IM protocol plugin」（即時通訊協定外掛程式）。

由於法律問題，2.0版本一直被凍結在beta開發階段。在事件得圓滿的解決後，團隊宣佈正式版Pidgin 2.0.0大約會在2007年4月8日起的兩星期內發佈。然而，Pidgin 2.0.0最後未能如期推出。4月22日開發團隊解釋問題在於未能處理好用作存放用戶資料的資料夾－「.gaim」的名稱問題。

第一次以「Pidgin」來命名的版本2.0.0最終在2007年5月3日正式發佈，並以全新的圖形設計示人。

批評 
 由於部份專利通訊協定是使用逆向工程來開發，Pidgin和有關官方客戶端在功能上會有所出入。

 密碼是儲存在一個未經加密的純文字檔案中。任何人-{只}-要有權限打開有關檔案，即可得知密碼。開發者認為因為Pidgin是一個開源的軟件，任何人都可以得知加密的密碼用的鑰匙，所以加密有關檔案是沒有意義的。）一個Google Summer of Code 2008專案正嘗試透過libpurple經由第三方的密碼庫讀取密碼（例如GNOME Keyring、Kwallet，或 Apple钥匙串访问）

 2.6之前的Pidgin版本並不支援任何形式的視訊或者語音對話。開發人員正考慮加入有關功能。曾經有人打算同步開發gaim-vv函式庫，但最後開發者宣佈放棄2.6及之后的Pidgin虽然支持语音/视频聊天但只能在Linux/Mac OS X上使用，并不支持Windows。

 在更換佈景主題的時候，隨Pidgin安裝的GTK+有時會和GIMP發生衝突。不過後來發現與GIMP的錯誤有關，而非設定檔的問題。

 Pidgin未有自己的佈景主題系統，但是它的姊妹計劃「Adium」卻有。另一方面，GTK+ 有時會提供一個「Theme Selector」給使用者使用。

 MSN協定不支援讀取或設定官方版本擁有的「個人訊息」功能，使用者須要安裝第三方外掛程式來達成有關功能。在2007年7月13日，其中一名開發人員約翰在他的網誌上表示，經過開發團隊多年的努力，2.5.0版本將採用MSNP15，屆時Pidgin就能夠支援「離線訊息」、「個人訊息」等官方版本已經擁有的功能。

 2.4版本之後，使用者再無法自行改變文字輸入欄位的高度，而是根據已輸入資料的多少來自動調節，最多至視窗大小的一半。部份使用者認為這是一個煩人的功能。

相關產品 
 Adium和Proteus都是使用libpurple為基礎的Mac OS X多協定即時訊息客戶端。
 ScatterChat是一個基於Pidgin的加密即時訊息客戶端。
 Meebo使用libpurple開發網頁式即時訊息服務客戶端。
 OpenWengo是以SIP為基礎的VoIP客戶端，支援即時訊息。
 PhoneGaim是以SIP為基礎的VoIP客戶端，同樣以GPL發佈。
 Carrier是一個以開發官方版本缺乏的功能為目標的分支。

参考文献

外部連結 

 Pidgin官方網站** Planet Pidgin（官方開發團隊的網誌）
 Pidgin計劃（SourceForge上的專案頁）

参见 

 Empathy——可视作Pidgin的继任
 即時通訊软件列表、即時通訊软件比較
 即時通訊協定比較
 XMPP協議的客戶端軟體列表

SourceForge專案
IRC客戶端
自由的即时通讯软件
Jabber客户端
自由軟體
跨平台軟體
自由跨平台軟體