There's an SDK available to write your own (https://developer.rebble.io/sdk/), which is also provided via GitHub CodeSpaces if you don't want to run it locally.
Programming is done either in C (for full access to all watch features) or in JavaScript (for watchfaces, with limited access to watch features): https://developer.rebble.io/tutorials/js-watchface-tutorial/part1/
Lastly, the watch's operating system, PebbleOS, is open source, too: https://github.com/coredevices/pebbleos
