Tuesday, January 21, 2014

Socialism: a natural experiment in software

Over the last 20 years or so, a natural experiment in software has taken place. On the one hand, you have Microsoft, undisputed master of the desktop, and for a few years, it owned the server room. Windows is the flagship product of Microsoft. There were versions for the home, the office and the server room. For a long time, you could not get fired by buying Microsoft.

Windows is proprietary code. That means, not only is the code protected by copyright, it is protected by obfuscation. Computer code is written by humans in a programming language that humans understand. Programmers comment their code so that they know what a section of code does as a point of reference. But this is code that computers do not understand. The code that humans can read is then processed through a compiler, a piece of software that reads the code written by humans and converts it to something that computers understand, machine code.

If you read the license for Windows, you will find that in order to exercise the rights in the license, you must give up the right to decompile the software. That means that you may not send it through a decompiler to see the source code again. But even if you could decompile the software, you will be missing something very important - the comments. When the software is compiled, converted from human readable code to machine code, the comments are stripped. So even if you could decompile the software, you're going to spend a long time figuring out how it works.

This is the basis of the Windows monopoly, copyright protection, obfuscation and a license that restricts you from even looking. It was pretty successful until the Internet came along. Then people began to share ideas about software.

In 1991, Linus Torvalds, a young man from Finland, wrote an operating system and shared it with his friends, now called Linux. His friends wrote back and said that it was nice, and they offered code as suggestions to make it better. And so it began. Since then, friends, businesses and paid programmers, all contributed to the Linux Kernel, for free. They all made it better and better. Over time, it collected more and more experience and intelligence, eventually becoming a server class operating system.

During the intervening years between 1991 and now, Microsoft took notice and called Linux a cancer. They could see the threat that Linux posed to the Windows operating system and launched numerous campaigns to stop it from spreading. But they could not. Some say Microsoft offered too little, too late. I don't think that Microsoft ever had a chance to stop it.

Where Microsoft had complete dominance over the desktop, Linux began to take market share on the server side. Small companies realized that they could use Linux to scale up their business. Then large companies figured it out, too. They knew that Microsoft would just squeeze them enough with licensing costs to keep the competition at bay. But with Linux, there was no threat from Microsoft.

Linux was and is free. You can make as many copies as you want. You can use it for any purpose you want to use it for. You have a right to access the source code, in human readable form, with all the comments. And you have the right to modify it for your own purposes. The biggest restriction on the Linux license, the General Public License, is that if you modify the source code, and distribute compiled binaries, you must make the source code available for the changes you made.

Linux is socialist in the sense that you see, from each according to his abilities, to each according to his needs, but with a twist. When you share, you get ten times back what you gave to it.

Linux is everywhere. Your phone, if you have an Android phone. Your computer if you use the Internet. Most major corporations use Linux: Google, HP, eBay, Facebook, Netflix and every major securities exchange uses Linux. Your tablet, your TV and your DVD player, all use Linux. The fastest computers in the world run Linux. Why? Because Linux is not just free as in beer. It is free as in freedom.

You can't modify Windows to suit your every computing need. If you want to modify Windows, you need to get the secret sauce and permission to look at it. With Linux you don't have to wait. Read the source code, learn it, play with it. Or hire a programmer to help you.

The Linux operating system blew past Microsoft in every area of computing that we know of today. The only things Microsoft has left to defend Windows is marketing and patents. Microsoft doesn't share. So the world does not share Windows, or the world view of Microsoft. Microsoft wanted to own it all, developers, applications and users. In a few short years, that will all change.

I am a part of that change. I don't use Windows at home. Even my wife uses Linux on her computer. My kids will never see us using a Windows computer unless the job requires it. I encourage my friends and family to try it. I know the freedom Linux has brought to my life and I want to share it with anyone who wants to try it. So I do.

The capitalist company that is Microsoft could not conquer a competitor that is free to anyone who wants to use it, modify it and share it. Capitalism has some useful attributes, but, like Microsoft has taught us, unless we tame it, it will be our undoing. Linux has demonstrated that very effectively.

No comments: