Stackapella Open the app

Open source

Stackapella is open source

The server, the web app and the native apps, under the Attribution Assurance License: use it, change it, run it, even sell it, as long as the credit stays.

What's open, and what isn't

All of the code

The Laravel server and the Vue web app, with their tests and the API contract the apps use.

The songs and the course, shared too

The course, the song arrangements, the singing guides and help are under CC BY-SA 4.0: use and adapt them, credited "Stackapella (https://stackapella.com)", and share what you make the same way.

Not the voices or the name

The singers' recorded voices (the guide voices and the course clips) and the Stackapella name and logo stay ours, under their own terms and the trademark policy.

Content licence (CC BY-SA 4.0) The trademark policy

How it works, in the code

The parts that make harmony line up, if you want to read them.

web/engine/engine.js

Every part is scheduled on the AudioContext clock, never with timers, so the voices land on the same sample.

web/js/dsp.js

The timing check plays chirps and finds them again by cross-correlation, to measure your device's delay.

web/js/pitchtrack.js

Pitch is heard on your device, in a worker, so your singing isn't sent anywhere to be scored.

Quiet by design

  • No third-party analytics or tracking, and no licence check. Your install sends nothing to us.
  • A fresh install calls out to no one on its own: even the check of Cloudflare's addresses runs only behind Cloudflare. Its pages load Vue (and lamejs, for an MP3 export) from jsDelivr, pinned to exact versions with integrity hashes, and the Figtree and Noto Music fonts from Google Fonts.
  • Check any of this yourself: it's all in the code.

Every library, font, sound and sample set we use, credited

No npm

  • No package.json and no build step. Libraries load from a CDN, pinned with a subresource integrity hash.
  • Tailwind runs as its standalone binary, and Vue compiles its templates in the browser.
  • The cost is a little speed on first load; the gain is a web app anyone can read, change and serve as files.

The licence in plain words

  • The Attribution Assurance License is approved by the Open Source Initiative.
  • It asks one thing: keep the credit, Stackapella by Hillel Coren with stackapella.com, where people can see it. Our footer carries it, and a self-hosted install keeps it.
  • It doesn't let you use the Stackapella name to promote your own version.

Read the licence

Get involved

Report a bug or ask for something on GitHub, and read the contributing guide before a pull request: what you send is under the same licence, and the songs, the course and the guides take no pull requests. Found a security problem? Write to us privately, as the security policy says.

Issues on GitHub How to contribute The security policy Self-hosting terms