I am re-posting my old blogs. This was originally posted on April 27, 2010.
Microsoft pays me 13lac p.a. Can Free Software do that?
Second part in my series on Intellectual Property. I am going to try to debunk a few popular myths. This essay is aimed at the young graduate and the student who has all sorts of doubts if Free Software can provide him with the money that the Proprietary world offers him.
Most of the times, students do get convinced that free software is 'the' way to go forward. They also agree that it is morally, ethically and technically superior. They also agree that we can make some sort of money by pursuing free s/w as a career.
And everyone agrees in unison that the proprietary system offers them higher salaries as opposed to free software. The general tendency is to think that free software is not for developers, but for end-users.
The logic is pretty simple. Customers pay the developer. Free software reduces the cost borne by the customer. Therefore, the developer will be paid less.
Denial of the Antecedent
This is a very common logical fallacy. It is of the form:
If p then q. Not p. Therefore, not q.
Let me take an example.
If it rains, then the roads will be wet. It did not rain. Therefore, the roads will not be wet.
It looks perfectly rational and logical. And whenever something looks perfectly obvious, one can be pretty sure that it is horribly wrong. This is one of the fundamental fallacies of logic that every computer science student would have surely learnt, but as is the case with all others, would have surely forgotten.
In order to get my point through, I am going to take a round-about approach.
Now, how would you implement that? In C, one would presumably use pow(). Or one can iterate and multiply 'a' with 'a' 'b' times. Not that the math matters. Can you think of some other way to find a^b? If you are not as dumb as me, you would surely come up with at least one more method to evaluate the expression. Bear in mind, however, that the methods are exhaustive. By that, I mean to say that the number of ways is NOT INFINITE, there are ONLY A LIMITED NUMBER OF WAYS TO DO IT.
The classical argument in favour of patents is that it protects the innovator. Let us put this to test.
And for the purpose of testing, let us consider an imaginary scenario. You are a world-beating programmer. However, it so happened that you failed to land into one of those top companies, for various reasons. May be you didn't want to work there and probably you wanted to start your own company. You plan to come up with a killer application.
You go underworld for 5-6 months and then you come up trumps. There it is!! A software which can read a person's mind. Voila! (pardon the cliché). Now that everything is up and running, you want to go out there and compete with those biggies, say IBM or you name it.
The Perfect Anti-thesis
Well, IBM might at first try to persuade you into selling your product to them. Being adamant, you will refuse them. IBM says,
"Okay. Well, let me take a look at your product. Ah! Wonderful. There it is. That one line of code (out of 23 million lines of code) which contains an implementation of a^b which is patented by us. Good. And that means you are committing a crime. Now you can come along with us to the court and fight it out. Or the other option is still open, you can sell us your product."
The expression could be something like this:
a=b*c+d/e*256-x/(y^z); Yeah, that's enough for a patent
And we have already seen that there can't be a zillion implementations of the power expression. And one god-damn piece of expression in a program extending into millions of lines-of-code is enough to stall you. If you change your code, then instead of IBM, you will be infringing on M$ patents. The choice is simple: chose between the devil and the deep-sea.
Your product is essentially theirs now. You have no other go. You can't sell your product out in the open market. That way, you would be infringing their patents.
Think for one more moment. Do you even have the bargaining power??? IBM has the power to starve you out by not allowing you to sell your product in the market (through legal means). The only option left is that you sell it to them at whatever price they quote.
The Jobless Market
Let us extrapolate this situation a bit further (no, I didn't say exaggerate, we are only looking at the future consequences). Imagine one or two companies which hold the patents to almost everything you can imagine (it's actually the same case right now, almost all the patents are held by 3-5 companies). Now, why would these companies even need to hire?
Even if they do hire, do they need to hire at the present rates? I am afraid, the total hirings might drop to an abysmally low-level. And what would that mean? It means, you and me are going to accept a job even if we offered a paltry 3000/- per month. There will no more the one lakh per month offers. The intense competition for jobs by then would have killed our bargaining power.
Patents were supposed to promote innovations. They were not supposed to stifle it. They were intended to protect the innovator. Not kill them in the name of protecting Intellectual Property.
The myth of the starving genius has been taken from the essays of Richard Mathew Stallman (RMS), the founder of the Free Software Foundation.
The example of a^b is only for illustration purposes. Pure mathematical concepts cannot be patented. Wonder how any algorithm is different from a pure mathematical concept.