User:Borb/Free Software

This is about how free software can benefit society as well as being a way for a programmer to earn a living.

First I must define free software. By free software I mean free as in freedom, free software is defined as having the four freedoms:

* Freedom 0: The freedom to run the program for any purpose. * Freedom 1: The freedom to study and modify the program. * Freedom 2: The freedom to copy the program so you can help your neighbor. * Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.

With these 4 freedoms the user can use the piece of software in freedom, not bound to the terms of some license agreement etc.

Most physical products already give the user these same freedoms. If you think about buying a car, you pay your local Ford dealership, you now own the car. You can use it to drive to work, you can use it race, you can smash it up and use it as a piece of modern art (obviously obeying the law, such as road laws). That's freedom 0. You can open the bonnet, you can take the engine apart, learn how it works, see what happens if you add vegetable oil instead of diesel. That is freedom 1. Freedom 2 is not possible with a physical product, you can't copy a car. But you can make improvements to your car and share these improvements with your friends. That is freedom 3.

On the other hand we have proprietary software. Windows is prorietary software. You have to agree to a license to use it, which means you lose freedom 0, it is closed source so you lose freedoms 1 and 3 and if you attempt to exercsie freedom 2 you will be labelled a pirate.

Proprietary software is like buying a car which you can only use how the manufacturer states. You can't race it, it's a road car. And there is no bonnet, you can't open it to see how the engine works. If it is not performing they way that you would like, you cannot make improvements to suit your needs. Tyres are wearing down too quickly? Sorry, you can't switch them for a harder compound.

I hope most people would agree that if a car had restrictions like above, this would be absolutely outrageous and nobody would buy these cars. But that is enough about the definition of free software, let's talk about money.

Most people seem to think that the only way to make money from software is by selling proprietary software. But let's think about where the money is actually going. This isn't supposed to be a detailed economic analysis, just an overview.

If you consider a normal free market, consumers use their money to pay for goods or services. In the proprietary software market, it might appear that the consumer is paying for a good, ie. a copy of the piece of software, but in fact it costs absolutely nothing to copy software, so what are they paying for? Well the obvious next guess is a service, but in reality there is no such service (assuming you get no support), the software was written for the company, not the consumer, so you are not paying for the programmers' services. Of course the answer is you are paying to cover the company's costs of developing that software, and then some, so that they can make a profit.

The company's costs include paying for two important services. First there is research and development, the company needs to know what people want so that they can make it and sell it. There is no point making a product that nobody wants. Second is programming. Programming is done by programmers and programmers get paid to program. By paying employees for these services, the company can make a product which they can sell for a profit, just like any other business.

But it is important to note here that, other businesses, such as the automobile industry, produce what is known as a scarce good. Economics is founded on the principle that scarce goods exist and they need to be distributed. If Ford produce 1000 cars in a day, then only 1000 cars are available that day, you can't just make one appear for the 1001st customer. In a free market, this is what sets the price of a good or service. Basically, if there are a lot of a certain good available (such as an unbranded pair of jeans) then the price is low, if there are few available (such as a Bugatti Veyron) then the price is high.

Software is not scarce. Once it has been written it can be copied into every available hard disk and memory chip in the world. There is no limit to the number of copies you can make of a piece of software, therefore it is not a scarce good and the price of a copy of a piece of software in a free market would settle at 0. So in order to make money, Microsoft invented a way to introduce artificial scarcity in to the market, by not selling their software, but selling licenses to use their software. Since licenses are only available from one dealer (Microsoft) we actually have a monopoly scenario (not a free market) and Microsoft can set the price to whatever they want.

But surely software is worth money? I mean, it doesn't just grow on trees. A piece of free software in a free market is not worth money, the price will settly at 0. But what is most definitely worth money is programming time! Man hours as they are called in the industry. Programming is a highly skilled job and the service a programmer offers is worth a fair bit of money. As I mentioned before, programmers get paid to program, they get paid for a service which is scarce (not everybody can program).

So where am I going with this? Well imagine you are a small business that is going to produce photo quality printing for your clients' digitial photographs. You have certain start up costs, a printer, a PC, an office maybe. What about software? This is where free software comes in. The business can download a copy of a GNU/Linux distribution and install it on the PC. Now they have an operating system. They can then install the GIMP, an image editing tool. This is great so far, free software can cover all of their needs, apart from one. The GIMP does not support the CYMK colour system that they require for printing (I am making this up, by the way, I have no idea if GIMP supports this nowadays).

Now, if the businessman or woman knew how to program they could write an extension to the GIMP to support this colour system. But let's assume they do not (like most people). What they needs is the services of a programmer. They can pay the programmer to implement the feature that they need for his or her business and if they like they can release this extension back into the community, after all, they did get a whole operating system from the community. The new business now has the tools it needs to start working and the programmer now has the money they need to feed themselves.

Now I mentioned another big cost of proprietary software companies, the R&D. But when consumers can hire programmers themselves, there is no need for R&D. After all, R&D is just to find out what the market needs, what people will pay for. People know what they need, they know what they will pay for. Companies don't tell you what you want, that's not how a free market works.

So this is how I think the software market should be. There is no need for a company to sit between the customer and the programmer taking money for a worthless copy. The programmer is paid to program.

Once a program has been made it can be free software. Therefore this code never needs to written again. However, not all code is perfect, but due to it being free software, anyone is free to improve it. If a large company uses a piece of free software extensively they could even hire a programmer full time to maintain it for them and for the benefit of the community. This is when the sheer power of the community and a collaborative environment comes in to play.

Wikipedia is a prime example of this. In only a few years it has far surpassed every other encyclopaedia in terms of content, depth and quality (it's inconsistent, but there is no denying the quality of some parts of wikipedia). And as far as I know, nobody is even paid to edit Wikipedia. It's a far more accessible and less skilled task, though. Anyone can press edit and correct a spelling mistake. I wouldn't be surprised if paid writers eventually started contributing to Wikipedia, though. (A lot of companies already hire writers to compile a "company history" for them, so why wouldn't they want the same quality in the most popular encyclopaedia in the world?)

End.