A+BLegal

License

You can use, inspect, change and share the code under Apache-2.0. Format spec and schemas: CC BY 4.0. Third-party work is credited below, each license checked against that project's own license file. The repository's NOTICE file at 487fa677d7 still lists some of these licenses wrongly and carries the old project name and owner; it is due to be corrected before the source opens.

Why it matters to a DJ: no lock-in. The code is free to use, change and keep running, even if this project stops. The open-dj library format is published. A tool that implements the format can read it without Open DJ; Open DJ includes a reference reader and writer. Exporting or importing that format is a command-line tool from a source checkout, and the Mac app has no import or export control yet.

ADeck A / The code

Apache License 2.0

Covers the application, the engine and the reference tools. You may use, modify and distribute the code, including commercially, and the license carries an express patent grant from contributors.

When you redistribute it: keep the license and the copyright notices, mark files you changed, and carry the NOTICE file along. It grants no trademark rights and comes with no warranty.

Full text: the canonical copy at apache.org. The repository's own LICENSE file is linked after the public mirror is verified.

Contributions are accepted under the same license; contributors are asked to sign off under the Developer Certificate of Origin (Contributing).

BDeck B / The format

CC BY 4.0

Covers the open-dj format: the spec prose and the JSON schemas in open-dj/spec/ and open-dj/schema/ (open-dj/LICENSE-SPEC.md). Anyone may implement, copy and adapt the format, with attribution.

The format's reference implementation is code, so it is Apache-2.0 like the rest of the repository.

The spec is at v0.2 and expected to change before 1.0.

ADeck A / Dependencies

What it depends on.

A selection of notable third-party pieces, plus the font this site uses, each license checked at its source. Each keeps its own license.

ProjectLicenseHow Open DJ uses it
pyrekordboxMITThe primary access layer for rekordbox 6 and 7: the encrypted master.db, XML, ANLZ analysis files and settings. A runtime dependency that ships in the Mac app's engine.
mutagenGPL-2.0-or-laterAudio tag reading and writing. An optional extra of the Python package, not a default dependency, so that package carries no GPL runtime dependency. The desktop build fails if mutagen ever lands in the app (scripts/build_engine_payload.py, issue #795); a general license scan of every bundled package is still to be built.
Beat This!MIT (code and published weights)Beat detection. Its package and model weights ship in the Mac app's engine, with the MIT notice beside them.
madmomBSD-2-Clause code; CC BY-NC-SA 4.0 pre-trained modelsBeat, onset and key analysis, and an analysis-quality oracle. Installed for analysis; never bundled in the Python package.
Anybody (display face on this site)SIL Open Font License 1.1The wordmark and headings. License text
BDeck B / Thanks

What it learned from.

Open DJ is built against years of open-source work that documented DJ library formats and vendor protocols long before this project existed. Apart from one rekordbox USB-export parser generated from crate-digger's Kaitai spec (apps/sync/usb/pioneer/_vendor/), which upstream licenses under EPL 2.0 with MPL 2.0 or LGPL 3.0 as secondary licenses, while the vendored file's header still says EPL 1.0, no code from the projects in this table is copied into the repository; their specs and implementations are what the readers, writers and test oracles are checked against.

AreaProjectLicense
rekordbox USB exportDeep-Symmetry/crate-diggerEPL 2.0 (secondary: MPL 2.0 or LGPL 3.0)
rekordbox USB exportHolzhaus/rekordcrateMPL 2.0
Pioneer ProDJ LinkDeep-Symmetry/dysenteryEPL 1.0
Pioneer ProDJ Linkflesniak/python-prodj-linkApache-2.0
CDJ network protocolDeep-Symmetry/beat-linkEPL 2.0
Serato crates and tagsHolzhaus/serato-tagsMIT
Serato crates and tagsHolzhaus/triseratopsMPL 2.0
Traktor NMLwolkenarchitekt/traktor-nml-utilsGPL-3.0
Engine DJ (Denon)xsco/libdjinteropLGPL-3.0
djay Pro libraryyapstudios/YapDatabaseBSD
Open-source DJ softwaremixxxdj/mixxx, the established open-source DJ applicationGPL-2.0-or-later

The full annotated list is docs/prior-art-and-communities.md in the repository.

A / Parity
Beyond / B { type: 'crossfader', value: 0.50 }