Coding for Wammu and Gammu

Gammu is written in C and Wammu in Python, so you will need knowledge of one of these languages to contribute code directly to the project. You will probably use some parts of developer documentation to understand the code. If you want to know what is planned to happen in Gammu and Wammu, please check the roadmap.

Version Control System

We currently use Git as a version control system. It allows you create own local branch, develop the code and then submit us patches or merge request for the changes.

The Git repositories are being hosted on Github service, in the Gammu project. You can browse the code on their site or just clone the repository and investigate it locally. To clone Wammu and Gammu sources, use following commands:

# For Wammu sources:
git clone git://github.com/gammu/wammu.git wammu

# For Gammu sources:
git clone git://github.com/gammu/gammu.git gammu

# For Wammu website:
git clone git://github.com/gammu/website.git wammu_web

Alternatively (if your firewall blocks git protocol), you can access repositories over https, just replace git://github.com/ with https://github.com/.

Instructions for building and installing are included in file INSTALL in both Gammu and Wammu. For compiling Gammu you need to have CMake.

Code Snapshots

If you for some reason do not want to use version control system, you can always download fresh snapshots of current code from GitHub.

Patch Submission

We really do not care much about the way you deliver us patches. However the easiest thing is you use git format-patch, which allows us to easily include your changes. If you do not use git, any unified diff will serve it's purpose also very well. You can send patches to mailing lists or to the bug tracker.

Testing

Gammu comes with quite comprehensive testsuite, which is being run continuosly using Travis.