Literally, let the buyer beware. This was a Roman motto. Romans had free markets which operated quite well. True, they also had taxes, but mostly for conquered people, not for their own (except in time of war during the early stages of Rome).
THE FREE MARKET
Most people do not understand the free market. One of the things they don't understand is that in a free market, there is free contracting, but the devil is in the details. How much "free" is "free"? Well, some libertarians are of the opinion that "free" means "mostly free" with a few laws and regulations here and there. Some, on the other end of the spectrum, the so-called "left" Libertarians, believe that "free" actually means "collective" decisions, this is, something very close to some sort of light-communism. Not us.
We are Absolute Austro Libertarians and our credo dictates that "free" means literally "free". Any person can contract for anything in any set of conditions with anybody at any time (excluding slavery). However nice and "freeing" this "free" may sound, it is not without responsibilities and diligences. If we are absolutely free to contract anything, other people are also free to contract in the same manner. There are no warranties of any kind if they are not in the contract. The contract is absolute, the only exception being if a person is physically incapable of understanding its contents. We covered contacts in detail in our article Contracts Are The Key To Coexistence. What this means is that if you are not careful, you may end up buying the moon, selling your eye or leasing the pyramids of Egypt. This sounds harsh and a ready-made recipe for con artists, alas, it is not. The counterpart is that you, and only you have the absolute, awesome power to say no. Just say no and there is no way somebody can con you.
As with anything in economics, there is no free lunch. You want absolute freedom, you can have it, but the price is vigilance. Problem is, oftentimes it is not easy to find what the true, real price is, however vigilant we may be.
FREE SOFTWARE
Free software understood as "free beer" (or wine, or liqueur); not as in "freedom of speech". Who hasn't gone to the Internet and gotten some for free? No, we are not talking about so-called "pirated" software (we don't believe in patents nor copyrights) but truly legitimate free software. Software that is given away for free by their creators (freeware).
The legacy of free software
At the time when software was first created most programmers believed that it was immoral to sell something that had no substance. Few of them, a minority, believed that it was okay to sell the fruit of their labor. Many different business models were tried, but they typically involved voluntary payments of some sort, or what is known today as shareware. Try it, and if you like it, pay.
There was also a minority of programmers who believe that they deserved full compensation. These programmers went on to sell software using the same model as literature, a newspaper or magazine. They believed that software being a kind of language, should be able to use the same business model as regular language.
This is how history was made. This small group of programmers won in the end and a gigantic market for software was created.
The return of the free software
However, the second group was not dormant. They were plotting their revenge. This revenge came in the form of open source software. This was sort of a revolution. These people believed that any user of software should be able to not only get it for free, but to modify it at will. This is not possible with regular software because it is compiled. Compilation means translating programming language (human readable programming language - typically English words) into machine language (ones and zeros - non-human understandable language).
Open source software was created at the right time when a new copyright framework, or to be more precise a copyleft framework, was developed. This new framework is known as General Public License or GPL. In a nutshell GPL means simply then you can copy any software at will without having to pay the author for any sort of copyright. Open source seized the idea and added a few terms. What they added was the necessary recognition for the programmers should the software be modified. In addition they added a one-way clause. This clause stipulates that if any change was made to the software it was mandatory to make this (modified) software free. The general idea was that this would produce a positive feedback loop were every new software will spawn new software.
This movement was further reinforced by the GNU project which was developing a UNIX-like operating system and by Linus Torvald who developed a Unix-like kernel. The combination of these two achievements is what is known today as Linux. At the time Linux was a breakthrough because it offered the first reliable free operating system.
But all this is a history. We know that several big companies became very wealthy betting on open source free software. They were not selling the software; they were selling know-how to use the software. This proved to be so profitable that entire business models changed. One such company that made the jump was IBM. This in turn allowed these companies to invest in open source software to make it even more powerful.
Again this is all history. What interests us is the public perception of free software. And again, who hasn't gotten to the Internet and downloaded "free" (Open Source free) software? Everybody has done it at one point or another. From the user's perspective, this means that you and everybody else benefits because nothing can beat "free" software. However, is this really true? The answer is, probably not.
THE QUALITY ISSUE
Code jockeys and spaghetti code
There was a critical book that pointed out the most basic differences between corporate software and "free" software. This book was called "The Cathedral and the Bazaar". In essence what this book pointed out is that the preplanned creation of software produces good quality products. However, this is not the only way to do it. The other way is the open source way. In this way many volunteer programmers work on different parts of a program on their own and as quickly as possible with minimum testing. This means that when the software is finally released it will be full of defects or "bugs" as they are known in the trade. But that's okay, because the software will then be released to many people which will test it thoroughly through use and will provide feedback to the programmers in order to fix the problems. This methodology has many names but one of the most common ones is "beta testing". The general idea for this process is that because the software is released to so many people, many bugs will become apparent very rapidly making quick fixes possible, hence ensuring its quality. There you have it, division of labor at work.
At least this is the theory. Then, as usual, reality is never the same.
When you download software from the Internet typically you don't expect it to do exactly what you need, and you don't expect it to work perfectly well. After all, it is free. There is a clear understanding that one gets one what one pays for. However, even in these circumstances, and in general terms, the quality is quite high. So there is something more to it.
Things get complicated
And here is where things get complicated. Most free software or open source software have support systems based on volunteer people. These people are not being paid and therefore their motivation is different. A support system is important because if it does not exist, bugs don't get fixed or you can't or won't know how to use the software.
In order to analyze what's going on, we need to understand how the GPL and open-source process works for programmers. As these people are not making a profit there must be something that motivates them to do this. In other words they are being paid in species and not in currency. What the species is, changes from person to person. Some do it because it pleases their ego. Some do it as a marketing ploy to call attention to their other products. And some other people do it because they like to learn. There are many reasons why people do it but most of the time money's not one of them.
As such, their motivations are not quality but wizardry.
Quality is job number two
And this lies at the root of the problem. As quality it's not the priority somebody will get stuck with the bugs; and this somebody is you. The equation is very simple, as programmers don't spend enough time developing quality the lack of quality will be consuming your time. We always seem to be going back to the primary rule of economics this is, that there is no free lunch. If they don't spend the time, you will have to do it or to live with the consequences.
Complexity rises
Sometimes the consequences are very minor and you don't really care. In these cases, to use free software it's actually a good deal. However, the complexity of the software has been increasing steadily. Now days, a typical website is based on anywhere from four to seven different languages. These languages operate on a number of technologies glued on top of each other which now need to communicate among themselves. This process, although technologically very advanced, also creates a great deal of complexity. There is a direct correlation between complexity and the number of defects: the higher the complexity the higher the number of defects.
Lately, things are getting so hard that even if you understand one of two languages you will not be able to make a difference in one such application. This is so because understanding the programming language it's not even half of the problem. The interaction among technologies and furthermore made-up technologies is so complex that some applications are a world on their own. For example, the two most well-known website building open source applications, Joomla and Wordpress, are so complex that even the volunteer support system is breaking down. And this phenomenon has a very noticeable effect on users.
Continue to Caveat Emptor - Part 2
Note: please see the Glossary if you are unfamiliar with certain words.