Some people make great software and try to make money by selling it as compiled (runnable, but not readable) programs. Others make great software, then give it away for free, and even let people both see and reuse their source code as they see fit.
These are the two typical ways of distributing software today. It’s commercial and secretive versus free and open. It’s business versus community. You might even say it’s capitalism versus communism. That’s the simplified, black and white way of seeing it, a way of seeing that misses out on the complexities and nuances of software development and distribution today.