Aki, someone has to fund opensource, hence the creation of less restrictive(more permissive) open source licenses? Most(many) Open Source devs are employed by the same companies you say aren't open source, and usually come up with a project, or support the project in order when they find a missing need they need to fulfil. People join in the project when they have the same needs.

Other projects come from the educational sector, such as some of the networking stack was developed by some university student when the commercial project trying to achieve the same failed. The firm could not believe that a student outdid a whole funded department. (havent looked up the links, but I had read it a while back)