How can it be good if it's free?
Open source and libre software can provide money to fund their developers. Companies like SGI, IBM and Sun all stand to gain by making software a cheap commodity product. You see, software is a complementary product to computer hardware. If software costs more, you will buy less of the hardware. So, hardware makers have strong incentive to pay for the development of free-to-the-user software. That's why those three companies, and many others, have been funding the development of libre software. All three have GPL'd some of their formerly proprietary programs (XFS, JFS, Staroffice, respectively), and all three are paying developers for things they need.
Why choose a libre license?
No company, not even Microsoft, can hire all the developers in the world. Even mighty MS can't even hire all of the best. However rich your organization, the majority of the developers in the world will be elsewhere, and among those outsiders will be some of the best. The only way you can harness the efforts of those outsiders to work on your program is to make the program you want them to work on libre. That assures them that any work they do will always remain open to them, and that they will be able to profit by it on an equal footing with you.
That's why companies like SGI, IBM, and Sun have chosen to release code under the GPL. The code has no value, no sales potential, as long as they keep it in house. I suspect that they avoided the BSD licenses exactly because they allow third parties to make changes and take them private, which is specifically forbidden by the GPL.
The fact that no manager can assign someone to do some dirty work is often seen as a disadvantage to libre development. In fact, that is a major source of invention and innovation. People who love their work can play with whatever they want to, even if it doesn't seem important to someone else. Instead of being assigned to work on the markting department's latest bad idea, developers can work on what they care about. Even if it is something that management would rather not have.
Just as with everything else in the world, 90%+ of these inventions and innovations are crap, but that ``wasted effort'' is the price we pay for the few jewels. I put ``wasted effort'' in quotes, because it isn't wasted at all. The people who are doing whatever you would characterize as wasted effort are doing something they care about, for their own ends. This is a vital point: any good you get out of it is happy accident. As long as you aren't putting out any resources to get that widget you didn't want, you can hardly complain about the effort which was required to bring it to you. The fact that someone bothered to write it tells us all that someone wanted it badly enough to justify the effort.
How can it be good if it's free?
The ``it can't be good if it's free'' paradigm is partly real. This goes hand-in-hand with the ``who do we sue'' story. I'm sure that there are people who honestly believe that they have some meaningful legal recourse against Microsoft, et al.
I'm sure there are still a lot of people who can't conceive of a non-zero-sum game. Libre software is a non-zero-sum game: this is one of those happy few things in which all the participants can come out ahead. No one is harmed by free riders (thanks to network effects, we can even be helped by them!), and small contributions by many add up to large, complex systems for all. That's how free stuff can be good: if it's improved by sharing, better make it free, so that more will share it.
The ``it can't be good if it's free'' and ``who do we sue'' problems are partly cover-up. I think that these are used, all too commonly, as a coverup for a very different problem, which no-one wants to talk about: Libre software doesn't have salesmen with expense accounts to wine and dine managers and purchasing agents.
I suspect that this is a far greater obstacle to open-source than any perceptions about quality. Just look at the ridiculous deal between Oracle and the State of California. Do you think that there wasn't corruption involved there? Postgresql and Mysql weren't even in the running: they couldn't provide kickbacks, couldn't make mega-buck political contributions, simply because there wasn't going to be any money changing hands.
In government in particular, every year-end there is a mad scramble to get ALL the budget spent, and woe to the manager who lets money lapse. Sometimes, the most important point of a RFP is to get the money spent.
A manager's importance is measured, at least partly, by the size of his budget. If you are ``buying'' free software, you aren't doing everything possible to grow your budget and importance.
There is a lot of libre software, but few firms which can respond to proposals and take money for it. If you are determined to spend money (that is, if spending money is the important part of the software rfp), the libre developers aren't really going to be able to help out, regardless of the quality of their code, or the quality of their solution.
Proprietary software exports jobs.
Let's begin by assuming that proprietary software does cost less to run, neglecting the purchase price. Under this dubious assumption, the justification for spending the money for the license is that it will save you money which would otherwise be spent on developers and administrators for a libre solution.
Thus, the justification for purchasing proprietary software from Microsoft is that it allows you to export highly skilled, high-paying jobs in software development from your location or your department, to Redmond, Washington. Think about it: if you are a government official, do you really want to tell that to the voters? Could this be part of what's behind the initiatives we're seeing in Taiwan, India, and Peru?
This isn't only a problem outside the US. Every state in the union is exporting jobs to Redmond, WA. In a time of balloning budget deficits, if you're going to spend a fortune paying software developers, maybe you should pay them to work in your own state, rather than funding an employment program for that state of Washington.
Today, we usually use the term ``professional'' to mean ``mercenary'', as in ``someone who does it for money''. ``Amateur'' is often used to mean: ``bad'', though its original meaning of: ``someone who does it for love'' is a better fit for most open-source developers.
In another field, mercenary soldiers work for the money, only, and in any field calling someone ``mercenary'' means that his heart isn't in his work. When it comes to sexual intercourse, most folks prefer the amateurs to the professionals.
I'm sure you could come up with some counter-examples to the idea that amateurs are generally better than professionals, so let me give you some examples. Newton, Pascal, Bayes, Einstein (Einstein did much of the preliminary work for his famous theories while a clerk for the Swiss Gov't, as I recall.) Lord Kelvin, the Darwins (Erasmus and Charles) and Galton spring to mind. I'm not sure whether Copernicus was paid to be an astronomer; he'd be a great example if not.
I agree that there are few Einsteins and Newtons in software development. There are few of them in the world, period. But my point is that in general, amateurs need not be inferior to mercenaries, in any field.
The astute reader will notice that many of these famous amateurs lived and worked in the 18th and 19th centuries. In earlier times, it was fashionable for the independently wealthy to indulge in scientific research. Today, there are few independently wealthy people who are willing to put in the years of intense, specialized work that is now required to get started in science.
Still, there are amateurs, people with much in common with Lord Kelvin and the Reverend Bayes, who are making contributions in many fields. Many of the people who we do not call amateurs today, because they are academics, paid to work in their fields, are amateurs in the sense that they do their research because it fascinates them, rather than because someone is paying them to punch the clock. This is why they are referred to as ``Professionals'': not because they accept money for their work, but because their work is a calling. This was what made those examples I gave amateurs: they didn't have to support themselves by their work.
This is an important strong point for amateurs: they can afford to be wrong, or to be right and ridiculed, or to do things which promise a lousy return on investment. What professional, in the mercenary sense of the word, can afford to take chances with his bread and butter? The academic world has tried to even the playing field between the academics and the amateurs with tenure, but I don't think they've been 100% successful.
Some people do their work because they love that work, some because they love that money. Which group do you think does the better work? Which group do you think is more likely to get personally involved in their work, and make new ideas, or new uses for old ideas? Which group is more likely to be found working on libre software in their spare time?
It might be a good idea to organize, but let's look at the folks who make the big bucks: MD's and lawyers. They have associations which act as gate keepers (AMA and ABA). If you don't get permission from the AMA, you won't practice medicine. For the state medical exams, and for the state bar exams, the relevant association sets the standards, and they keep them high enough to safeguard the incomes of the ones who've already made it through. This is regulatory capture at its finest. Any ``protection'' which the public gets is is a happy accident.
Even engineers have something like this. In most states, you can't hang out your shingle to provide engineering services unless you are a licensed professional engineer. The professional societies have a lot of influence over what the license requirements are.
This doesn't help the guys who work at Intel, but if you are a civil or mechanical engineer, or if you do power or RF engineering, having that PE gives a bit more job security, and a bit more pay.
Plumbers and electricians have similar deals with state licensing authorities, and are also fairly well paid. The important thing isn't collective bargaining (MD's and lawyers don't have it, plumbers and electricians do), but keeping out the ravening hordes of teenagers and recent college grads who would run the wage down to the subsistance level.
My point? It might be better to avoid the old-fashioned, collective bargaining, union model, and start an AMA/ABA/IEEE-style professional association, and lobby for compulsory state standards, examinations and licensing for professional coders.
When I first posted this little rant, someone pointed out that, if we were successful, it could cause real problems for libre software. One problem with this approach is that, if we are sucessful, Finnish grad students might not be free to make libre software anymore. On the other hand, anyone who got into the coding priesthood would be set for life, just as lawyers and physicians never seem to miss a meal. Would we really want to make sure that there is never another Linux, just to feather our own nests?
One way that a union might fail to keep our incomes up is the American Federation of Teachers way. The AFT is notoriously poor at getting good wages for its members. Notice that the AFT has used both collective bargaining and regulatory capture to try to keep wages high and working conditions good. It seems to me that there are a couple of reasons their double-barreled approach has failed:
First, a self-reporting bias: the union sees a strong incentive to say that its members are underpaid.
Second, most people go into teaching either because they really want to teach, regardless of the money, or because they really can't make any more money elsewhere.
Both of these motives for teaching are perfectly respectable, in their way, but neither is a recipe for high wages.
I think that the fact that almost any idiot can be a poor teacher has a lot to do with the low wages that teachers get. I think that it takes real talent to be a good teacher, but the average school administrator has a budget to stay within, and good teachers are probably more likely to care about the kids, and rock the boat ... it's safer, and cheaper to stick to the barely adequate teachers. So, we see the current situation in which anyone who can make a good living teaching kids could make a better living elsewhere. I think this has an important parallel in programming: any idiot can make a bad coder. I think that a union mght not help us nearly as much as the AMA has helped the physicians.
 There doesn't seem to be a really good definition of regulatory capture on the web. The idea that I'm trying to get across is that close relations between the regulated (say, lawyers) and the regulator leads to the regulators identifying with the regulated, and ultimately being controlled by the regulated. The regulators and the regulated share a common language, and their jargon tends to exclude the public. Ultimately, the regulator and regulated talk only to one another, and regulations wind up protecting the industry rather than the public. Another example of this are the public utilities (e.g., phone, water, cable monoplies) and the state public utility boards.
I don't think that in general we should assign right to IP. But there are specific cases in which it is best to do so, and when we do assign such rights, it must be possible for corporations to own them.
There is a common misconception in the old Soviet Union: ``We'll have a free market, we just won't let anyone have property rights, because that's not good socialism.'' Of course, you can't have a market without property rights. Free markets are what happen naturally when people are free to dispose of their property.
The problem with the suggestion that ''...corporations should not have patent and IP rights, they should only be assigned to real people. '' is that if you can't sell your rights, they have no market value. Period. If you can only trade these ``rights'' among individuals, then you restrict the market to folks like you and me. I certainly wouldn't pay $400 for the rights to paper clips under that scenario. The only way that a corporation could justify paying for IP would be if it was assigned to someone who is a majority stock-holder. Why would a company buy its engineer a patent if he can walk off with it? Buying the patent for someone who is contractually bound to stay or sell the patent back seems pretty shady. If that doesn't violate our hypothetical law against corporations owing patents, it should.
But one could license the rights to a corporation. How about exclusive rights to use and sub-license, irrevocable, for the term of the patent? How is that different from an outright sale? It seems that this is really all-or-nothing: either you are free to dispose of your invention as you see fit (assuming that we are going to assign property rights at all) and it has value, or you aren't, and it doesn't.
A system which prohibited corporations from owning patents would work fine for folks who could innovate and produce on their own, but how about engineers and geneticists who need multimillion dollar facilities for research and production? How could a corporation justify paying out tens of millions for an individual to develop a patentable invention, which that person could then walk off with? Again, contractual ties which bind the rights-holder to the corp are no different than outright assignment to the corporation.
I believe that there is no natural right to intellectual property. That's exactly opposite to the situation with physical property, where there certainly is such a natural right. The difference, of course, is that physical property doesn't copy well: if I eat your hamburger, you can't. If I use your idea, you can too. All you have lost is the monopoly.
The absence of a natural right doesn't mean that we should never assign property rights in ideas, but rather that it should not be the default. We should only assign such property rights when it is clearly in our own interests. That's exactly what the US constitution calls for.
For all of human history, we have built on the intellectual shoulders of those who came before. It is right and natural that we should share ideas, and we are all better off when that happens. In order to encourage that, the US constitution (Article 1, Section 8)gives Congress permission
To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries
This was obviously meant to work in the public interest, by encouraging productive work and its public disclosure. Enriching inventors is plainly not the aim, though it is a necessary side effect. Nor does it suggest any pre-existing natural right. Quite the opposite, in fact; if there was such a pre-existing right, this clause would be nonsensical.