I am a student at a wonderful school with a technology lab. Most of the software we use companies use too, even the average person would use it. We go to school and have to buy all the software we need. We use that software for educational purposes, this software should be free so we don't have to have raise money by having a bad bake sale. They could come out with a free version for schools, you might have to fill out a verification contract, but it would be worth while. In some cases I do have to agree with the no side. When it comes to complicated programs that took years to complete, it shouldn't be free because they spent money to make it, to sell it, and to get it out there!
Yes, software should be free to download. We live in a world of ever changing technology. When I buy a spreadsheet software package, I can expect within a couple months, that software will be outdated. This will force me to buy yet another newer version of the software. If we are going to be forced to live in a world ran by technology and those advances in technology, it seems we could offer that free of charge to those who will be utilizing the technology.
I don't believe there is a universal answer to this question. It should be up to the developer of the software as to whether or not they would like to give away their work. The open source movement has its benefits and its disadvantages. I think it has helped to lower the price of software that isn't free and that much of the software for sale is at a more reasonable price than ever.
I do not think that you should be able to download software for free. It cost to make that software and people have to make their money back some how. If we start making software free then there will be less reasons for people to develop software. You should have to pay for it.