You can view the source code in Mira's Bazaar repository (hosted by Launchpad) using our web-based Bazaar browsing system, powered by loggerhead.
If you wish to build Mira from its source code and perhaps work on it, you will need to set up your programming environment accordingly. Please see our instructions on which software and libraries to install for either Linux, Mac OS X or Windows.
To download the latest version of Mira you will need to use a program called Bazaar (bzr). If this program is not already installed and the instructions below fail for you, please see our guide on installing Bazaar.
If you are using Linux or a UNIX-based Operating System, run the following commands from a terminal window:
mkdir ~/mira cd ~/mira bzr branch lp:mira/trunk
If you don't want to check out the whole revision history (and make the checkout much faster) you can use the following bzr command instead:
bzr co --lightweight lp:mira/trunk
The build process can get quite messy because it creates a lot of files, so we recommend creating separate build directories outside the Mira branch, such as the following:
mkdir ~/mira/build-client/ mkdir ~/mira/build-server/
Then copy the respective files to each directory:
cp -R ~/mira/trunk/mira-client/* ~/mira/build-client/ cp -R ~/mira/trunk/mira-server/* ~/mira/build-server/
Now, to build and run the latest version of the Mira Client, you should run:
cd ~/mira/build-client/ cmake ./ make ./bin/mira_client
Or, to build the latest version of the Mira Server:
cd ~/mira/build-server/ cmake ./ make mira make sudo cp bin/libmira.so bin/libFiles-utility.so /usr/local/lib/ sudo ldconfig
You can now create the Mira Server running directory, change its permissions and then run Mira Server:
sudo mkdir /opt/mira sudo chown yourUserName:yourUserGroup /opt/mira ./bin/mira_server
Please read our testing process instructions for information on how Mira's developers conduct tests on the project's code.
To check the current list of bugs, please see our bug tracker. To submit a bug report, please first check that the bug you wish to submit is not already known and, if it is not, then we would appreciate it if you could report it in as much detail as possible.
Once you are invited to become a member of the Mira Core Development Team on Launchpad, you will be granted commit access to Mira's Bazaar branches and be able to check in patches and features. Before you can push your changes to Mira's trunk branch (or any other), you should configure Bazaar and your Launchpad account appropriately.
If you haven't already done so, visit Launchpad and create an account. Once you have done that, you will need to create an SSH key pair (see instructions for Linux and Windows, or for Mac OS X) to use with Launchpad - this will be used to secure your Bazaar connection to the Launchpad server.
Finally, make sure Bazaar knows who you are by running the following commands (make sure to replace the details with your own):
bzr whoami 'Your Name <your.name@example.com>' bzr launchpad-login yourLaunchpadUsername
You are now ready to commit your changes to Mira's repository. Please try to follow our Development Workflow.
For more information, please read the Using Bazaar with Launchpad tutorial and the Useful Bazaar Techniques for Developers page.
Mira's developers follow a selection of coding guidelines in order to maintain consistency throughout the source code. If you wish to contribute to Mira - and would like us to merge your contributions with the project's code as soon as possible - it is thoroughly advisable to follow our coding standards.
Mira has registered the #mira channel on the FreeNode.net network. To connect to the network, use an IRC client such as xChat (Linux), mIRC (Windows) or Colloquy (Mac OS X).
If you would like to discuss some code which you have written, or perhaps an aspect of Mira's development or a feature which you would like to see implemented in Mira then please do not hesistate to join our IRC channel!
We have scheduled IRC sessions to discuss certain development topics. These sessions are all archived for future reference.
Another discussion medium which some prefer to the forum is Mira's development mailing list, and you'll probably find that most of the active discussions are conducted on the mailing list but the final decisions are announced on the discussion forums.
To subscribe to Mira's development mailing list, please visit this website and follow the instructions: Mira-Development mailing list
You can find a complete, interactive archive of Mira's development mailing list on Gmane.org: gmane.comp.groupware.mira.devel mailing list archive
If, on the other hand, you would just like to hear announcements when a new version of Mira is announced or a milestone is achieved, please subscribe to Mira's Notification List instead.
Our developers also use the proprietary Voice over IP and Instant Messaging client Skype from time to time to have conference calls to discuss features which all of the developers must be absolutely clear about, or just to have a casual chat whether the topic of focus is Mira or not.
We also archive our notes from the conferences for future reference.
Discussion