I have been trying to compare software with other stuff but to my great disappointment I could not find anything that has the complete set of attributes that software does. Really, just think about it for a second or two. You have a computer. A computer is a general purpose machine. On it’s own it’s pretty much useless. By loading a program or a set of programs to it, you can turn it into something useful like a typewriter, a game machine, a music player and many more. Software is not something you can really come in physical contact with. You can not see or touch it. It is simply electronic pulses that can be interpreted by a computer as ones and zeros. This is why it is so easy to share software as the only cost of reproducing it is the cost of the media.
Originally software was written in machine language, a bunch of ones and zeroes. The increasing complexity of software made it impossible to continue programming in machine language, so new ways of representing a program where invented in order to make a program easier to write, read and understand. The program must then be compiled into the machine language so a computer can run it. Unfortunately, it is impossible in many cases to reverse engineer the compiled version back to the original program, as much information that is not relevant to the machine is not preserved. Of course, a skilled software engineer could read a program in machine language and determine what is doing, but this is a very difficult and time consuming task which is nearly impossible to complete for the whole program, given the complexity of modern software. An even more difficult task is to change it.
The Proprietary Software Industry has taken all those things into account and created a business model that uses every attribute of software for it’s own benefit, with actual goal to maximize profit. This is unfair because many freedoms that you have when you buy other items are taken away simply because they managed to convince the rest of the world that this it is how it’s suppose to work and there is no other way.
When you “buy” a proprietary software you are not actually buying the software but a license to use it. Although in many cases the physical package of the software convinces you that you actually bought something that belongs to you, in reality what you get is someone’s permission to use a piece of software. This does not explain why they will not give you the source code of the program, so you or someone else can verify what it does or doesn’t. For sure, a buyer would complain if a feature was missing from a software, but what about something extra, something that is not in the list of features, something that the program is not supposed to be doing or you don’t want it to do. It is certain that you have no way of knowing what that thing you didn’t buy really does. Many people will take a leap of faith for such software companies and say “They are not going to do that, after all they are professional companies right?”. Right or wrong the point is that you cannot tell. Still, this does not explain why they do not give you the source code. They will probably say that they are protecting their own property from being stolen, but come on, we are in the 21st century. If every software company is enforced by law to release the source code of it’s software, you can cross check every software ever existed for copied code so I suppose they will be more protected this way. Plus the source code is protected by copyright law as any other piece of work. Where is the problem then?
More over, by not having the source code you can not make any changes to improve an existing piece of software (that is, if you normally could, but you could easily find someone to do them for you). This is perfectly normal, considering that you didn’t buy the program, but a license to use it. But why didn’t they let you buy the software in the first place? After all buying something gives you many more rights than just a license to use it. The software industry will probably say that they do this in order to protect their software from illegal distribution. If you buy a software, then you can make copies of it and sell them or give them away illegally. Well, first of all this is actually happening today, and secondly, buying something like a book for example, does not give you the right to reproduce it and sell it.
Another important thing we should mention here is that to write a software, the only thing you need is what you already have if you are reading this article on-line. Yes this is right, you just need a computer. In theory anyone with a computer can write software. The big software companies created an additional level of security to prevent this, by introducing patents to software. By this, they managed not only to have the monopoly for their own software, but also stopping anyone else from developing something with similar functionality.
Most people have become familiar with the computer world within this proprietary software industry so they never got to know what freedoms they are entitled to and so they never ask for them. This article is not about free software, although many ideas in this article are similar. This article is about the rights and respect that the computer user deserves, and have been taken away from him without even knowing it.
You should always seek your freedom or it will be taken away and you will not even notice that it is missing.