OSMC encourages everyone to get involved with the project’s development. Working on open source projects can be very rewarding and encouraging.
Supported development platforms
You will need a 64-bit computer to work on OSMC. You will need to be running either Ubuntu or Debian. The current supported versions for development are:
- Ubuntu LTS
- Debian stable recommended
If you are not running either of these Linux distributions on your computer, you could look at setting up a virtual machine and running one of these distributions. We recommend VirtualBox, a free, fast virtual machine package. We recommend you run Debian (latest version) if you are able to.
Getting the code
OSMC is licensed under the General Public License V2. OSMC uses Git as its version control system. All code is available on GitHub.
The primary GitHub repository is located here.
You can obtain a copy of the soure code by ‘cloning’ the main OSMC GitHub repository. This can be done by running the following command:
git clone https://github.com/osmc/osmc
There are also GitHub clients which may reduce the initial learning curve of Git, however we recommend that you use the Git command line interface if you can.
Getting the build dependencies
OSMC is mostly self-contained, meaning that it will resolve necessary dependencies at build time with no configuration from the user.
You will only need some basic packages to clone the OSMC repository and to ‘make’ build targets. You can install the necessary packages with the following commands:
sudo apt-get update sudo apt-get install build-essential git
Making changes to code
If you plan to submit your own changes back to the OSMC project, you will need to create your own version of the project. This is known as ‘forking’. A fork is a copy of a repository and allows you to make your own changes. These changes would then be submitted for review to the official OSMC repository.
You can learn how to fork the OSMC GitHub repository here.
We cover contributing (sending back changes) to the OSMC repository later in ‘Contributing to OSMC’.