I often hear people referring to Open Source and Free Software advocates jokingly, or not so jokingly, as "communists" or "hippies".
After all, giving away your "intellectual property" for the greater good may be a nice theory in some ideal world, but it rather flies in the face of capitalism, doesn't it?
Rubbish! In fact, I'd argue that Open Source is actually more true to capitalist principles than traditional proprietary software practices. It all comes down to the principle of efficient markets.
Proprietary software is akin to the privatisation of the railways. It pays lip-service to the perceived efficiency benefits but if you look at it closely, you realise that the fundamental motivation of competition is absent.
As a customer on the railway, you cannot choose to travel on whichever train operator you believe will give you the best service, because if you want to travel a certain route, there is only one operator available. If your daily commute involves that train line, the operator has you over a barrel.
You can't realistically move house – and ask your employer to move offices – to an area where another operator has the franchise.
Likewise, in the world of software there are practical barriers to you voting with your feet and changing suppliers if you aren't happy with the service. Imagine, as a customer of MegaCorp, that you find that you are plagued by a bug or missing feature in MegaCorp Office 2010 which MegaCorp have no interest in addressing.
Contacting their competitors, Nice IT Ltd, and asking them for a quote for adding the feature will get you nowhere. Without the source code they are unable to do this.
Competition being what it is, Nice IT Ltd's can of course offer you Nice Office 2010, which has the features you need and a guarantee that they will provide better support than MegaCorp. Unfortunately, as MegaCorp will be keen to point out to you, Nice Office isn't entirely compatible with MegaCorp Office, and in particular all the people you do business with will not be able to work with the documents you send them unless they too switch.
Of course, they can't because all the people they do business with will need to switch too. This is about as viable in practice as moving house to enable you to use another, hopefully better, train company.
Without raising a finger to support you, MegaCorp can guarantee your ongoing custom because they are able to prevent the competition from being able to offer you an acceptable alternative.
Open Source promotes a more efficient market because competition is not shut out so easily. As an Open Source oriented provider you need to be sure that you are always providing a service that the customer considers to be worth the money they're paying.
If you don't then they can easily take their business elsewhere, safe in the knowledge that any other provider will have the same access to the source code, documentation and other internal information needed to deliver the features and bug fixes that you require without needing you to throw out your systems and start from scratch with something new.
Open Source is good capitalism. It encourages competition, it allows small players easy entry to the market and it rewards genuine delivery of value to customers.
The proprietary software model on the other hand, is built around the idea that the companies in control of the system have secrets information that those they claim to serve are not privy to. We are told these secrets are necessary and are in the interest of the greater good, but they are used to suppress rebellion and choice.
Hang on... doesn't that sound a bit like some sort of authoritarian communist state?