May 7, 2010
Free Software and Tech Progress
Moore's law has been humming along for four decades now, doubling our CPU power every eighteen months. Cellphone-sized devices today have more capacity than a stadium of computers from twenty years ago. Networked digital computers are giving us new forms of collaboration on a massive scale, causing our society to enter the digital renaissance. We now have the tools to solve some very tough problems; one might argue that we never could cure cancer without creating computers and the internet first.
While the shiny hardware always gets all the attention, software is the workhorse and the magic behind it all. Richard Feynman said, "The inside of a computer is dumb as hell but it goes like mad." A computer is just as happy to add 0 0 billions of times per second all day long. It is software that tells the hardware precisely how to convert between bits and ideas.
The key to faster technological progress is the more widespread use of free software. Free versus proprietary (or non-free) software bears comparison to the divide between science and alchemy. Before science, there was alchemy, where people guarded their ideas because they wanted to corner the market on the means to convert lead into gold. The downside of this "strategy" is that everyone would have to learn for himself that drinking mercury is a bad idea. The end of the Dark Ages arrived when man started to share advancements in math and science for others to use and improve upon.
There are four software freedoms, but the most important is that the source code is made available to its users. Microsoft's Internet Explorer is not free because it requires a Windows license, but more tangibly, you cannot download the source code. Today, proprietary software is considered more valuable than free software because its owners charge for a black box, but that thinking is exactly backwards. Proprietary software is less valuable because you cannot learn how it works, let alone improve it. It cannot make you better, and you cannot make it better. It is true that not everyone will exercise the right to read and change his software, just as not everyone exercises the right to his freedom of the press, but that doesn't make the freedom any less valuable!
Science is a process of discovery by man of things invented by God, and it is so complicated that the only way we can have progress is when people release their results for others to have shoulders to stand on. Imagine how much poorer we would all be if Einstein, after writing his E=mc2 paper, claimed exclusive ownership of this idea. Even scientists working in countries at war have understood that they shared a bond stronger than whatever currently divided them. In this spirit, Japanese oceanographers abandoning their lab on an island in the Pacific carefully preserved their work for the invading U.S. Marines and left a note asking them to take good care of it. That we agree to make scientific discoveries publicly available to all is better for the free market, a consensus reached hundreds of years ago. Science is not all intellectual property. It is not a product or even a service. Milton Friedman wrote in Capitalism and Freedom that knowledge, not money, is the currency of science.
Writing software is computer science: You reason, create a hypothesis in the form of source code, and then test the hypothesis by running it on a computer. Surely any other intelligent lifeforms in the universe would have created Quicksort, an elegant yet efficient algorithm for sorting items. You could even consider that writing software, at least that which is transformative to people's lives, is the process of discovering the best algorithms created by God.
Wikipedia is the best analogy for laymen to understand the potential of the free software movement. Of course, Wikipedia has flaws, and conservatives see an additional problem because it is liberals who make most of the contributions today. But it is a work in progress, and it already offers an invaluable resource built by millions of disparate people. Wikipedia surpassed the size of Encyclopedia Britannica in just 2.5 years, demonstrating the power of digital collaboration and that there are motivations to work on something even when it is free. In fact, Wikipedia would not have had millions of contributors if it cost $50 to read it.
Like Wikipedia, Linux and the free software movement are still in a nascent stage. The movement has till now mostly lost the battle of ideas, as software alchemy is the norm today -- which is also a self-fulfilling prophecy. This is why we still live in the dark ages of computing and don't yet have intelligent machines or cars that drive us around. The good news is that the free software movement already numbers millions of programmers, and the Debian Linux operating system is estimated to have free software worth $13 billion dollars, with many programmers and companies contributing to it. Still, in spite of its existence, the biggest question that remains of free software regards the economic motivation to write it. The short answer is that it turns writing software into a service business. Programmers, like lawyers and accountants, will sit on their tush until someone has work to be done. Programmers will get paid because computers are useless without them.
Free software is one of those unusual concepts that doesn't seem to work in theory but does work in practice. It is like capitalism: While it might seem more efficient to have a centralized government organize the resources of an economy, history has proven that the free market leads to faster progress. Likewise, freely releasing software for anyone to use and improve will lead to faster development in software. Scientists have long had an economic motivation to do research even when they freely distribute their results, just as millions of lawyers have employment even though Lexis / Nexis and law libraries are filled with freely available legal documents. In fact, lawyers would say it would be impossible to do their job without these resources.
Seventy-five percent of programmers today write code for use in a corporation with no thought of selling it to others. Free software is better for the free market because all of the relevant information is publicly available for anyone to use and take to new places. Of course, there is no guarantee of the quality of service providers, but this same issue exists with car mechanics. Today, many free software projects have thriving service and support communities around them. While others are not particularly healthy yet, this is a function of the small market share, not any flaw in the business model.
Free software also makes hardware cheaper, so this creates an economic incentive for hardware companies to invest in it. In addition, students in every field use software in their studies, and this is free brainpower. Furthermore, resources like Wikipedia demonstrate that the surplus intellectual energy others spend on crossword puzzles or Sudoku can be applied to useful things. The surplus intelligence of computer scientists is actually enough to write all of the software we need if we are patient enough. Finally, governments and other public institutions can be a source of funding: NASA, the NSA, and the Department of Defense use and contribute to free software today.
The topic of America's decline comes up quite frequently now that Obama is president. I have a partial answer to the question of whether the United States will continue to be relevant in the 21st century: It depends on whether our computers scientists are leaders in the free software movement.
Keith Curtis, a former Microsoft programmer who knew nothing about free software until after he left the company, has written a book about this topic.