I believe it's a cultural necessity given how we make money as software developers. Hardware developers have a buffer in terms of actual production, which requires significant investment. You can reverse engineer any hardware you have in your hands but it's unlikely given 2012 technology that you can mass-produce it and steal revenue from the copied source (patents notwithstanding). I can't imagine a global business environment environment in which open source software is the norm, but I would really to hear some theories - can you imagine how wonderful it would be to be able to explore the source code of say, SpaceX?