Become an OpenShot Developer

If you are a programmer (or wanting to become a programmer), and are interested in developing new features, fixing bugs, improving the user interface, or developing new themes for OpenShot, the following sections will explain the steps and processes you will need to follow.

The Big Picture

OpenShot is a Python program made up of many different Python files (.py), images (.svg, .png),  XML files (.xml), GTK+ XML files (.ui), and Blender project files (.blend).  Python is an interpreted language, which means there are no files that need compiling or building to run OpenShot.  If you change any of the source files, you just need to close and relaunch OpenShot to see the changes.

Getting the Latest Source Code

OpenShot hosts the latest version of source code on LaunchPad.net, using the Bazaar version control system.

  1. Install the Bazaar version control system.  In Debian (or Ubuntu), you can type

    $ sudo apt-get install bzr

  2. Tell Bazaar to create a local branch for your computer.  This will create an /openshot/ folder in your home folder and download the latest source code into that folder.  For example: /home/USER/openshot/

    $ bzr branch lp:openshot

  3. If you already have an /openshot/ folder, just change your current directory to it, and run the following command to get the lastest version:

    $ cd /home/USER/openshot/

    $ bzr pull lp:openshot

  4. Now you should have the latest source code for OpenShot.  To launch OpenShot from this folder, you must run the following commands.  Remember, you must already have the dependencies for OpenShot installed, which is covered in the next topic.

    $ cd /home/USER/openshot/bin/

    $ ./openshot  or  python openshot

  5. If you have made some changes to the OpenShot source code, and want to see everything you have changed, run this command:

    $ cd /home/USER/openshot/

    $ bzr status

  6. If you are unhappy with your local changes, and want to revert your changes, run this command:

    $ cd /home/USER/openshot/

    $ bzr revert

Setting Up Your Environment

Once you have gotten the latest source code, the next step is to install all of the required dependencies.  I would recommend installing OpenShot from your favorite package manager (such as Synaptic).  This will install a version of OpenShot and all the required dependencies.  This will not conflict with your local version of OpenShot source code.  The only trick is to remember that the $ openshot command will launch the official version of OpenShot, and not your local version.  So, you must remember to launch OpenShot with the following commands:

$ cd /home/USER/openshot/bin/

$ ./openshot  or  python openshot

Now that you have the latest source code and all of the dependencies, you can either use a text editor (such as gedit), or a full Python IDE, such as Eclipse or Aptana (with Pydev) to modify the source code.  The advantage of using a full Python IDE is the enhanced debugging capabilities.  It is beyond the scope of this document to teach you how to debug Python with Eclipse or Aptana, but there are lots of good tutorials online.

Fixing Your First Bug

Now that you have a local version of OpenShot running, fixing bugs and adding new features is easy.  Just modify the files, and re-launch OpenShot to see your changes.  Of course, I can't tell you exactly how to fix a bug, that is up to you.  So, good luck!

Sharing Your Changes with the OpenShot Team

Once you have fixed your first bug or added a great new feature, the next step is to share it with the OpenShot Team, so we can be sure your changes get into the official version of OpenShot.  The easiest way to share your changes is to create a patch (or diff).  Use the following command to create a patch:

$ cd /home/USER/openshot/

$ bzr diff > mychanges.patch

This will create a file called mychanges.patch, which should have all of the changes for all the files you have modified.  Of course, if you have created new files, you will need to compress those up into a ZIP or TAR file, and include them with your mychanges.patch file.

Next, create a new bug report on LaunchPad (or find an existing bug report), and upload your patch and related files to the bug report.  That's it!  The OpenShot team will be notified by email that a patch has been submitted.  Now you can subscribe to the bug report, and follow along to see if there are any questions or comments about your patch.

Join the OpenShot Developers Team on LaunchPad

If you are fixing bugs or adding new features to OpenShot, please consider joining our team on LaunchPad.  We have a mailing list that will keep you up to date on the newest bug reports and plans related to OpenShot.