a significant contribution is due to android companies not allowing bootloader to be unlocked and then not providing kernel sources, making any development very hard, and many times impossible.