Shipping commercial software is generally more complicated than just compiling some class files and delivering them. Making software available to the public means that you want customers to use the cool new features, but you don’t want them to know how these features were implemented. Code obfuscation is unavoidable if you want to make it [...]