rpm is open source.
The code of the rpm apps is on GitHub. Anyone can read it, request features, report bugs and send changes.

the repositories.
One repository for each group of apps, and one for what they share. You only need the repository of the app you want to change.
rpm
Start here. Discussions for all apps, the text of every app in five languages, and the Chromecast receiver.
rpm-desktop
The desktop app for Mac and Windows, and the libraries for playback, fingerprinting and the track list. C#, .NET and Uno Platform.
rpm-apple
The iPhone and Apple TV apps. Swift and SwiftUI.
rpm-android
The Android TV and Android phone apps. Kotlin and Jetpack Compose.
why.
With the code public, you can check what rpm does with your music and your data. If the project ever stopped, the code to read your library would still be available.
It also lets the people who use rpm take part in it: by asking for features, reporting bugs and contributing code.
- Licence
- Mozilla Public License 2.0
- Open
- The apps for Mac, Windows, iPhone, Apple TV and Android, and the libraries they are built on: playback, fingerprinting, casting, the track list
- Not open
- The cloud service: accounts, storage, streaming and the catalogue, which supporters pay to run
- Where
- github.com/rpmrpmrpm
how to contribute.
Not every contribution is code.
Request a feature
Post the idea in GitHub Discussions, where others can comment on it. Discussions
Report a bug
Open an issue in the repository of the app that has the bug. The template asks for the details we need to reproduce it. Repositories
Send a fix or a feature
Open a pull request. A maintainer reviews it; accepted changes go into rpm with you as the author. Contributing guide
Translate
All of rpm's text is in one file, in five languages. Correct a translation or add a language. strings.json
First issues
Issues labelled "good first issue" are small and well described. First issues
Support it
Supporters pay for the cloud and for the time spent reviewing and building. Supporters
How it works
licence and rules.
- The licence. The Mozilla Public License 2.0 lets you read, change and share the code. Changes to rpm's files must stay under the same licence; your own files in the same program can use another licence.
- Signing off. Each commit you send carries a sign-off line saying you have the right to contribute it. There is no contributor agreement to sign.
- Authorship. An accepted pull request goes into rpm with you as the author.
- Security problems. Report them privately on GitHub, in the Security tab of the repository, not in a public issue.
- The name. "rpm", the logo and the icon belong to the project. A separately published fork needs a different name.
- The cloud. Official builds and contributors' development builds use rpm's cloud. A separately published version needs permission to use it, because supporters pay for it.
Build it yourself
The apps read the catalogue, artwork and your cloud library from the rpm API, which needs a key. The code holds none. Sign in with your rpm account and make a developer key for your own build.
Without a key the apps still build and run: your own files, playback and casting work, and the pages that need the API stay empty.

Skip to content