Whatever it is written for, you actually don't get the free copy of Linux and change the code cause simply you will spend ages doing this. Many companies that enhance the Linux, like Redhat, distribute the OS for free, but without manuals, support or anything. This is mainly the terms and conditions of Linux, if you are going to enhance it, then you must make it distributable for free. These companies profit from giving support to clients, documentations, making other programs from scratch that run only under Linux platforms and so on.