Software source codes should be freely accessible because they are a formulation of science; it is like a scientific formula that anybody can use. Imagine if we are charged for every use of the Pythagorean theorem and that is what Microsoft is doing now for every use of Windows.
It is granted that a theorem is much simpler than an operating system, but that does not entitle an entity as the sole owner of an OS and therefore able to charge people from using it. We can argue that a theorem is also the result of a deep and costly research; That way, the person or the university conducting the research can charge people from using it. However, we do not pay C.A.R Hoare to use quick sort; we do not pay Newton, Joule, Avogadro, or any great scientists or their government to use their laws (although their research may require thick budget); and in a similar sense, we do not pay Linus Torvalds to use the Linux kernel. Instead, those people have got their own reward from the society other than money.
Should corporations then open source all of their source codes, and turn their income on services? Yes, but the situations made that impossible in the hands of human. Stock owners probably would not like the idea of giving up a market monopoly. Employees probably would not like it either. And the government probably would not like their “technical advantage” become accesible to everybody on earth, including other governments.
See that humans are stealing from each other instead of working together for a better future. We ought to remember that (once) we are the very same Homo sapiens, a socializing species; not mindless, individual robots dictated by the economic and political system. Should we wait for the ascent of a common enemy (likely, aliens thirsting for the nature of Earth) in order to rejoice?