You can both add and remove programs using the GL imagebuilder. If you need to compile some program that is not in the GL package list, then yes you would have to compile it using the OpenWrt compile tools.