Afterword

Chapter 25. Afterword

Unprovided with original learning, unformed in the habits of thinking, unskilled in the arts of composition, I resolved to write a book.

”Edward Gibbon

There is at present something called the software industry. In my humble opinion we have a software industry for three fundamental reasons.

1.             Compilation is tantamount to encryption: When source code is compiled, information is lost. While it is possible to disassemble a compiled binary, it is provably impossible to reconstruct the full source code of the program. In fact, with highly optimizing compilers it is possible for several different source code versions of an algorithm to have identical resultant binaries. Thanks to compilation, there is an artificial shortage of technique. This artificial shortage raises the price of software and supports the continuance of software as an industry.

2.             Capital cost of software distribution: When the software industry began , it was necessary to manufacture and distribute media (disks and books) in order to get software into the hands of users. Now we have the Internet, which, while presently a bit too slow, will one day totally replace physical software distribution. The capital cost to distribute your program to every computer user on Earth is now so close to zero as to be hardly worth mentioning.

3.             Human capital: Again, when the software industry began it was necessary to gather large numbers of skilled people in one place to develop any software beyond a certain level of complexity. Once again, we now have the Internet. And as projects like Linux and Apache and others firmly demonstrate , large and complex software projects can be built by hundreds, even thousands of people, most of whom have never met one another. The capital cost of combining talented people is now so close to zero as to be hardly worth mentioning.

I imagine you are beginning to see my idea, which is that software will cease to have value and that talented programmers will have the value. The vast majority of programmers work not for the software industry, but in management information systems (MIS), where they adapt systems of hardware and software to the specific needs of specific businesses and processes.

This is just as it should be. After all, a computer and its software has little inherent value. The only value it has is how it lets us do what we would have done without it faster, better, and with fewer errors. Software is a tool. It is only of value if you have something you want to build.

I believe that Free Software is the very beginning of a major shift in the value proposition of software. I believe that software design and development will evolve from its present state, analogous to laborers in industrial production, into a profession more akin to architecture, engineering, law, and medicine.

What if some of the other established professions worked like the software industry? Imagine you are a heart surgeon. You develop a new heart bypass technique. You would, of course, keep this technique secret. You would invent a way to pass the technique on to other heart surgeons so that they could perform it but not understand it or pass it on to others. Moreover, you would keep some things you already know would improve the technique from being included with the technique so that you could later sell an enhanced version. This is what medicine would be like if it worked like the software industry.

Fortunately, medicine is a field where skilled practitioners are highly desired and therefore highly compensated. They give away their techniques in medical journals, seminars , and schools ( schools that charge tuition, of course ”there's nothing that says you can't charge for a skilled person's time). They disclose it all and subject it to the public review of their peers. Surgeons are not units of production in a manufacturing enterprise; they are professionals.

An interesting counterexample is where the medical model does follow the manufacturing model. Pharmaceutical companies do keep their techniques secret (well, they publish them, but they obtain patent protection). This makes some sense, however, since there is an actual physical product that requires raw materials and physical plant. It cannot be distributed to more people without diminishing supply. This is quite different from software, which, as we see with the advent of the Internet, may be reproduced and distributed infinitely without increasing cost or diminishing supply.

If Free Software continues (as I believe it will) to replace the artificially scarce and therefore artificially expensive supply of software, how will programmers make money? Surely Free Software is at best an anticapitalist idea that threatens an entire economic sector?

I think not. Are physicians paupers? Do surgeons have to hitch rides to work? Are they diminishing in number? How about lawyers ? How about architects ? All of these professionals are paid not for the secrets they keep, but for the quality of their practice. As I said before, most programmers do not work for companies that manufacture and distribute commercial software. Most work in MIS, writing software and/or integrating systems to make them meet specific needs. Demand for this will only increase as the cost of baseline systems software and development tools drops to zero. There will be more work and more money to be made, because it is not the software that has value; it is the quality of the programmer's practice that has value.

There will be considerable resistance to this conversion of programming from industrial job to true profession. This resistance will come largely from practitioners of the art. There was considerable resistance to the conversion of medicine to scientific and statistical methods as well. This resistance came because of the sheer number of quacks and incompetents in the profession. Who can doubt that this is true of software when Weinberg's second law still seems so true: "If builders built buildings the way programmers write programs, then the first woodpecker to come along would destroy civilization." Proprietary software, by hiding poor design and implementation from peer review, helps to keep the state of the art primitive. It is part of why user experience of computers is so poor.

Free Software's rise to prominence would have been impossible without the Internet. I believe the disappearance of packaged closed software will be a natural consequence of the Internet. A fundamental shift has already occurred in the economics of software production and distribution. It will take some time for the shift to reach throughout the system, but the economics will drive it.

The best part is that by making software open and free, all of us who write software will be better prepared to be skilled practitioners. The next best part is that all of us who use software will have a lot more money to pay people for their skills, to put money into segments of the economy that produce goods with real value. It is an exciting time to be working in technology.

”Michael Schwarz

 



Multitool Linux. Practical Uses for Open Source Software
Multitool Linux: Practical Uses for Open Source Software
ISBN: 0201734206
EAN: 2147483647
Year: 2002
Pages: 257

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net