Kobo's firmware is very open, although it's technical enough that your average (non-developer) end-user would have trouble modifying. You upload a `KoboRoot.tgz` file to a hidden folder when it's plugged into USB, which is extracted to the root directory of the device (which is linux + busybox, with a QT gui 'nickel'). Newer FW versions also have a development telnet server which can be enabled in settings.
The MobileRead forums are where most of the unofficial discussion/development happens: https://www.mobileread.com/forums/forumdisplay.php?f=223