Fire
“The only IM client you need!” A Multi-Protocol IM Client For OS X

Becoming A Fire Developer

There have been literally dozens of developers contribute to the fire project since its inception. If you are familiar with C, C++, and Objective-C, we welcome your help!

This page should give you all the information you need get started.

The Fire-Development Mailing List

We ask that all developers join the fire-development (Subscribe/Unsubscribe) mailing list. This is where you can get your questions answered about source-level development of Fire. This is also the place to let others know about things you are planning on working on.

Building Fire

For such a complex piece of software, compiling Fire is surprisingly easy. These instructions will take you step-by-step through the process of compiling Fire for the first time. Note: Fire can only be built on Mac OS 10.4 and later with Xcode 2.1 and later.

  1. Installing the OS X Developer Tools
    Fire requires Xcode to be installed including its example projects. (If these are already installed on your computer, skip ahead to step II. Newer Macs have the developer tools installer at /Applications/Installers/Developer Tools/Developer.mpkg, and a Developer Tools CD is included with boxed copies of Mac OS X.)

    If you do not have access to the Developer Tools, you can download them from Apple:
    1. Go to http://connect.apple.com and log in. (If you don't already have an account, you can create one for free.)
    2. Click “Download Software” on the left, then “Developer Tools” in the menu that appears beneath it and download “Xcode Tools v2.1” (or newer); (Be warned, the file is over 300 MB.)
    3. Double-click the downloaded archive, then double-click the .mpkg file to install the tools.

  2. Getting the Source Code
    1. Install Subversion
    2. Open up Terminal and type:

      svn checkout http://trac.fireim.org/svn/trunk/fire fire

      This will create a subdirectory named “fire” in the current directory which contains all of the source code.
  3. Building Fire
    1. In the “fire” directory, double-click the “Fire.xcodeproj” file (Or from the command line type open Fire.xcodeproj). Make sure to open this project in Xcode and not Project Builder.
    2. When the project opens, choose “Build” from the Build menu.

    The completed Fire application will be found in the “fire/build” directory.

Monitor SVN Changes

You can monitor changes to the SVN code at http://cia.navi.cx/stats/project/fire.

More detailed information on changes can be found at http://trac.fireim.org/dev/timeline.

Learning Objective C

If you aren't already familiar with Objective C programming, Apple provides an excellent tutorial on using this language and the Cocoa Framework here.

Learning SVN Version Control

The Fire team currently uses Subversion (SVN) as the version control system. If you wish to learn more about SVN, there is an excellent manual available in many formats here.

Making Changes of your Own

Once you are familiar with how to build Fire, and want to start making your own changes to submit to the project, here's how to go about it.

  1. Pick something to work on.

    Start with something small as your first contribution, so you can get your feet wet without being overwhelmed. Pick something you are interested in seeing within Fire as a new feature or bug fix.

    If you are having trouble deciding what you want to add, you can pick something from our list of Requested Features.

  2. Let the other Developers know.

    We want to make sure that two people aren't working on the same item, so send an email to the fire-development email list to inform others of your desire to work on a particular area.

  3. Make your changes.

    Change the code as needed, but try to follow the same style used in the source code you are modifying. If there is a particulary difficult to understand portion of your code, try to make it simple and use comments to explain.

  4. Prepare a patch.

    As a new developer, you won't have direct access to make changes to the SVN repository. We like to have people go through an apprenticeship program to make sure that they are familiar with the code and are able to contribute good code that is bug-free before we allow direct access to make changes to the code in SVN. You can contribute your changes and a member of the core development team will review them and add them to the source tree as appropriate.

    Make a Patch File - Once your changes are complete, and you have tested them yourself, you will need to create a patch file for submission. This is done by running the following command in the root directory of the fire source code.

    svn diff > patch.diff

    This will get all changes you have made to existing files, and you should also make a tar file of any new files you have added in this patch.

  5. Submit the Patch to the Tracker.

    On the sourceforge project page for fire there are a number of resources used by the development team to manage the development process. You should upload your patch file (and optional tar file) to the Patch Tracker.

    Your patch will be reviewed by the core fire development team, and if it is ready to go, it will be added to the SVN tree for inclusion in the next build. Occasionally, patches will not be accepted. Sometimes it is because they do not meet the direction we are setting for fire, or because there is an incompatible change already in progress. These types of problems can be avoided by using the fire-development mailing list to communicate before you do your development. If your patch isn't accepted, don't despair. Ask for feedback about why, and learn from the experience and keep on helping. Also remember that we are all volunteers on this project, so it can sometimes take a while before your patch is reviewed. Please be patient.

Becoming part of the Core Team

After a number of your patches have been accepted, and you have shown your ability to be a trusted part of the team, you may be invited to join the core development team. At this point, you will be given direct access to be able to make changes to SVN, and help guide the future direction of the product.

SourceForge.net Logo