Getting the Adium Source
1. Adium Source Code
You can find a list of source code bundles on the previous releases page, but if you wish to submit patches it's easiest to use our Mercurial repository as dictated below. See these pages for compile-related requirements.
Getting the Newest Adium Source has instructions for how to get the latest Adium source code and build it.
Getting the Release Adium Source has instructions for how to get the Adium source code corresponding to the current release and build it. Note that the newest source code (above) should be used for development of patches and bug fixes; patches against the current release may not be accepted.
Adium is written primarily in Objective-C.
2. Libpurple Source Code
Libpurple is the protocol core for all messaging protocols except Bonjour. It is written in C.
You don't need to get the libpurple source code to build Adium; a fully-built libpurple framework is included in the source distribution, so that you can simply Build and Go. That said, if you'd like to hack on libpurple itself, GettingLibpurpleSource has instructions for how to get the libpurple source and build it.
3. Source Code of Supporting Frameworks
a) LibOTR.framework Source Code
libotr provides instant messaging encryption services. LibOTR.framework is a packaging of libotr with its dependencies. A built LibOTR.framework binary is included in the source distribution. GettingLibOTRSource has instructions for how to get the LibOTR.framework source and build it.
b) PSMTabBarControl Source Code
PSMTabBarControl, which powers the message window tabs implementation, is part of the maccode repository. Its source and documentation may be found there. A binary is included in Adium's source distribution.
c) Sparkle Source Code
Sparkle, which powers Adium's updating engine, has its primary home here, where you can find source and documentation. Adium up until version 1.4 actually uses SparklePlus, which adds anonymous usage reporting to Sparkle. A SparklePlus binary is included in Adium's source distribution; its source and documentation are available in the sparkleplus repository. As of Adium 1.4, Adium uses the official Sparkle release.
d) Growl Framework Source Code
Adium uses the Growl notification system and bundles the Growl-WithInstaller framework to allow no-download installation of Growl for new users. More information and source can be found at the Growl site.
e) LibLMX Framework Source Code
Adium uses liblmx, the backwards XML parser, to read its XML logs backwards for in-window message history. GettingLibLMXSource has instructions for getting its source.