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 rpm library as a table

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.

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

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.

Make a developer key

A turntable, headphones and a laptop on a wooden desk