The "Progress Clause" in the United States Constitution guarantees to authors and inventors for limited times the exclusive right to their respective writings and discoveries. A computer programmer is both an author and an inventor - the task of programming itself is the very essence of the two professions (writing and inventing) combined.
Therefore, the computer programmer is entitled to an exclusive right to his writings and discoveries under the Constitution. It would not be "un-american" to try to ammend the constitution to "hack" the Progress Clause (hack - to get a system to do things that it was never designed to do) so that it has a special exception for computer code. But I don't see a problem with proprietary code that is dire enough to justify a Constitutional ammendment.
So, any claim that free software is traditional does not hold up. "All software is free as in speech" may the tradition of early computer companies and of the original programmers from MIT but it is not in line with our national traditions historically before the age of computers. From a Constitutional scholar's viewpoint, insisting on exclusive rights to copy software is perfectly acceptable because software is written.
However, just because claiming exclusive rights is our tradition does not mean that claiming exclusive rights makes sense. From an unbiased computer geek's viewpoint, keeping the source code to a popular program "in-house" is completely insane behavior, and from an informed consumer's or a privacy advocate's standpoint, it is very very threatening.
It is threatening because with most if not all closed-source software, the end-user has no idea what the programmers might be telling his or her machine to do behind his or her back.
How could the world of computers have turned into a place where you spend money to get a machine, and then you spend more money to get code (software) to run on that machine which you aren't allowed to look at, and then the code that you paid for running on the machine that you paid gets to do things behind the scenes that you aren't allowed to know about!?
It's rather like buying a car from a manufacturer who has locked the hood shut so that you and your mechanic don't get to look at the engine, and tells you that only the manufacturer is allowed to unlock the hood, work on the car or to see the engine because the engine design is a trade secret. When it comes time to change the oil, your neighbor tells you, "Ha-ha! You should have bought a free car!"
There are things Congress could do to ensure that computer programmers would be paid for their creative work AND that all source code would become free after a short period of time. I may be against rejecting our tradition as it is written in the Consitution, but I'm all for rejecting the traditions adopted by Congress to do with copyrights.
Originally, copyrights lasted for 14 years in the United States. Then there was an option to renew once to double the term and then there were extensions for new works and then in the early twentieth century, Congress started the unconstitutional practice of going back in time and extending copyrights from the past. It is unconstitutional because the Progress Clause limits the power of Congress and so if Congress has the power to extend existing copyrights and there is no limit to that power, a power of Congress that was limited by the Constitution as it is written becomes effectively unlimited. The Supreme Court, of course, which has gotten into a regular practice of completely ignoring the Constitution, did not see it this way.
Nowadays, the world moves faster - or at least the world of computers does. Yet copyrights move much much slower. Computer code is copyrighted for 97 years!!!
Certainly there's some huge huge problems with code being THAT proprietary. I don't think the fundamental problem is that code is proprietary - the problem is that the code being written today STAYS proprietary for longer than computers have existed on this Earth thus far!
I think computer code should be governed by copyright law in such a way that all source code becomes public domain after 10 years. This is because all computer code that is 10 years old or more has outlived it's commercial life. Re-releasing updated versions of programs to run on modern computers would have the updates - not the original programs - protected for another 10 years. Competitors would be free to release better updates or "unofficial 10th anniversary editions". This provides incentive to innovate.
In the meantime, while I don't think the completely free GPL liscense makes sense for software, the complete tyranny of the EULA is ... complete tyranny.
What the world needs, I believe, is something in-between.
What if all software was open-source? What if you were allowed to look at the source code and to modify any software you have paid for but are only allowed to redistribute your modifications to others who have also paid for the software?
An online system to keep track of who owns all these liscenses (and thus, who follow-on creators are allowed to redistribute to) and allow file-sharing of modifications between people who have purchased a liscense would be needed to keep the lawyers away. It would function kind of like a cross between the Pirate Bay and eBay (LOL) in that it would enable "Free-as-in-speech" filesharing for a small fee in a competitive marketplace.
A system like that, combined with a shorter copyright term for software of about 10 years, (after which all software would enter the public domain) with perhaps some more adjustments for things I might not have considered yet would, I believe, probably be enough to protect computer users from the evils that the free software advocates point out in the current system.