Official add-on repository
Beginning with Dharma, XBMC includes an interface to browse remote repositories where add-ons can be retrieved. The model is similar to the way many current Linux distributions work, whereby there is a "main" repository that is the default, and additional ones may be added by the user. The Official xbmc.org Repository is included with XBMC by default and is maintained by the XBMC team. This page outlines how to submit your addon to the official repository and keep it up to date.
Add-on Requirements
In order to be considered for the official repository, the following guidelines must be met:
- You MUST include a license file. We recommend the CC-BY-SA 3.0 for skins and the GPL v2+ for others, but most copyleft licenses will suffice.
- All files must be free and legal to distribute
- The addon must not violate any known copyright laws or the DMCA.
- All source files must be included. No pre-compiled files or skins will be allowed.
- You acknowledge that you are the maintainer of your addon, but the XBMC team reserves the right to update or remove it at any time as we deem necessary.
- Please follow the Guidelines for Images
The Repositories
XBMC uses git to manage the official repository. See below for the list of git repositories that comprise it.
git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/plugins git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/scrapers git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/screensavers git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/scripts git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/skins git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/visualizations
Branches
At any given time, there will be two active branches for each repository: stable, and stable-pre. At the time of this writing, dharma-pre is the main branch for development. When Dharma final is released, all add-ons that are compatible will be moved to Dharma branch. Developers are asked to maintain compatibility with stable branches first, and bleeding-edge (-pre) as their time and effort allows.
The Mailing List
We ask that all Add-on authors subscribe to the Add-ons Mailing List. This is where all updates and important information will be announced. In addition, all pull requests should be sent to this list.
How to submit your Add-On and subsequent updates
Each pull will require a version bump in the addon.xml. We ask that you also keep a changelog.txt up to date so that users may easily see what has changed. To be sure that all addons are maintainable in the future, the following filetypes are banned from the official repository: .pyo, .pyd, .xbt, .xpr, .so, .dll. Note that .xbt files will be generated automatically for skins.
There are several ways to request that we add or update your addon. Please preface threads using the following conventions:
*[Git Pull] - Submit a request that we pull from your repo. This should include a url, branch/tag/revision, and the addon to pull. HEAD is NOT a revision *[SVN Pull] - See above. *[Zip Pull] - By far the least useful. Submit a link to the addon or update. *[Patch] - Sometimes you may wish to submit a patch to the author for review. Under most circumstances we will not merge this directly, it should go to the upstream maintainer first.
Example e-mail
Subject:
[Git Pull] my cool plugin
Body:
*addon - my.cool.plugin *version - 1.1.0 *url - git://some.where.git *revision - a241345a *branch - master *xbmc version - dharma, eden-pre