My Tryst with Freedom

My Tryst with Freedom is an essay explaining why I shifted from using proprietary software to Free Software. It started out as I set out to explain to myself why free software is The Right Thing but became Yet Another Advocacy Rant for free software. And I am proud of it.

Initiation

I became interested in GNU/Linux during my seventh semester in my college. I had a subject "Unix Network Programming" and the book prescribed was "Unix Network Programming" by Richard Stevens. The book was heavily loaded with very interesting code examples. I only had Windows installed on my computer, so to experiment with new subject and a new operating system, I installed a GNU/Linux on my computer. Little did I know that I was opening myself to a new philosophy of life.

I had never been a reader of end user licenses, believing that if you you have seen one, you have seen them all. However, since the whole thing was new to me, I looked at the license. The preamble to the GPL caught my eye ...

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.

There was no talk of right for the software provider to gain access to my machine and apply unnecessary or unwanted updates. Neither was there any implications that hounds from hell would dodge me if I shared the software with my classmates. That's when I got interested in GNU and the Free Software Foundation.

The idea that the I can change the software in any way I want, that I can even "decompile" it, or simply get the source code from the software developer came as a surprise to me. I set out to investigate why would someone open his creativity and let the world borrow from it? What returns does he get for his sacrifice?

The process of identifying, judging, accepting and upholding a new philosophy of life is a long and complicated process which requires thought, proof, full understanding and conviction. This is an explanation of my conversion.

Change, the only constant...

One of the cornerstones of the Free Software Foundation's philosophy is that I (the user) have the freedom to modify the program to suit my needs. Well then, what about the Natural Right of the author of the software? Am I not infringing on the creativity on the program's creator when I start making changes in his creation?

Very few software work out-of-the box. In trying to be all things to all people, it's not surprising that what comes out-of-the-box is a product that serves no one.

An architect uses steel, glass, concrete produced by others. But the materials remain just so much steel, glass and concrete until he touches them. What he does with them is his individual product and individual property. This is the only pattern for cooperation among men.
. ..Ayn Rand
When I buy a program I should be able to use it according to my needs. My agenda may be different than the developer's. I should be able to make modifications to it to suit my needs.

Because I have access to source, I can survive the collapse of the software developer. And if the developer's support fees become exorbitant, I can buy support from elsewhere. Moreover, I can make bug-fixes without waiting for the developer to distinguish between a feature and a bug. I can make the changes that I want, not a fix that the developer thinks is important. Though most people's first reaction is "Who wants to read the source code ?", it is a very important fact when you are a developer. I have seen a company's MIS department sticking to DOS-based software when MS was offering Windows 2000. The reason why they could not migrate - "Some key reporting tools that tehy were using used to run only on DOS. The developer who made them stopped supporting them now. "

Share and Enjoy

Software isn't just something new. Software is something fundamentally different. Abstract and slippery, it doesn't conform to the ordinary constraints of the real world of objects. Software doesn't wear out. A computer program that is fully debugged will perform its function forever without requiring maintenance or modification.

Instead of comparing software to material things, it would be more appropriate to compare it with an idea. Material products can't be shared. They belong to some ultimate consumer. It is only the value of an idea that can be shared with unlimited numbers of men, making all sharers richer at no one's sacrifice, raising everyone's productive capacity and the standard of living. This is a mutual trade to mutual advantage.

Mathematical theorems and formulas can also provide an analogy with software. Imagine having to buy a copy of theorem of Pythagoras from Pythagoras Inc. each time you wanted to solve a geometrical problem. And you cannot share your copy of the theorem with your brother or neighbor.

Using software does not decrease its value. Wide spread use tends to increase its value. Users submit their own bug fixes and some may even port it to other architectures. Sharing software with my neighbor doesn't affect the software developer. He shouldn't have the power to tell me not to do these things.

What appears to be 'piracy' to a proprietary software developer is 'sharing' to me.

Lets Talk Economics

How can someone make money when everyone can redistribute software? Is there money in this Free Software? The most succinct phrase that catches the spirit of Free Software Foundation is "Free as in free speech , not free as in free beer ". The GPL does not prohibit the developers from charging money for his software. The next question then arises is - DevX develops a piece of software, let us call it Mooo. CustomerY buys this piece of software for, say, 200 bucks. CustomerZ comes to DevY and tells him to sell Mooo. CustomerY offers him a competative price of 100 bucks (as opposed to the 200 bucks being charged by DevX). What is DevX to do now ? Won't he starve to death ?

As a college student, I would have answered - "Yes, DevX will starve. CustomerY will take away all his customers". As a somewhat experienced man, who has changed quite a few jobs, I answer - "I doubt DevX's business will flounder". The secret to running a successful company is to produce "customer satisfaction". Products are necessary props in producing satisfaction, but they're not the only necessary props.

Providing support for the GPL software is currently the most popular means of making money from it. Free Software offers the best option for software developers worldwide to develop a common public body of software and then sell it in their local market as a service. For example, let me take the example of a mail server. Setting up postfix (which is one of the mail servers avaiable under GPL) is a piece of cake if you know what you are doing. Postfix comes with tons of documentation. However, not everyone has the time and inclination to read through them and get it working. Most people want to send emails to their colleagues, not spend time understanding how smtp works. They are perfectly willing to pay good money to someone competent to setup the who damn thing. (I know this is a hard thing to grasp, especially if you are nerd who likes to do thing his own way)

Selling CDs, merchandise, magazines of Free Software is another means of making money from it. Some others make money by providing training classes.

Additional information