The actual discovery was made Francis Crick and James Watson, and is famously chronicled in Watson's book "The Double Helix". Watson's book is a remarkable frank account of the way science is actually done. He recounts not just the briliance and insight, but the politics, the competition, and the luck. The quest for the secret of DNA became a fierce competition between, among others, Watson's and Crick's lab in Cambridge, and Pauling's lab at Cal Tech.
Watson describes with obvious unease the way in which Pauling came to know that Watson and Crick had solved the mystery, and created a model of DNA's helical structure. The story here centers around Max Delbruk, a mutual friend who travelled between Cambridge and Cal Tech. While sympathetic to Watson's and Crick's desire to keep the discovery secret until all results could be confirmed, Delbruk's allegience ultimately was to science itself. In this passage, Watson describes how he learned that Pauling had heard the news:
Linus Pauling first heard about the double helix from Max Delbruk. At the bottom of the letter that broke the news of the complementary chains, I had asked that he not tell Linus. I was still slightly afraid something would go wrong and did not want Pauling to think about hydrogen-bonded base pairs until we had a few more days to digest our position. My request, however, was ignored. Delbruk wanted to tell everyone in his lab and knew that within hours the gossip would travel from his lab in biology to their friends working under Linus. Also, Pauling made him promise to let him know the minute he heard from me. Then there was the even more important consideration that Delbruk hated any form of secrecy in scientific matters and did not want to keep Pauling in suspense any longer.
Clearly the need for secrecy made Watson uncomfortable. One of the poingant themes that runs throughout the book is Watson's acknowledgement that competition kept parties from disclosing all they knew, and that the progress of science may have been delayed, if ever so slightly, by that secrecy.
Science, after all, is ultimately an Open Source enterprise. The scientific method rests on a process of discovery, and a process of justification. For scientific results to be justified, they must be replicable. Replication is not possible unless the source is shared: the hypothesis, the test conditions, and the results. The process of discovery can follow many paths, and at times scientific discoveries do occur in isolation. But ultimately the process of discovery must be served by sharing information: enabling other scientists to go forward where one cannot; polenating the ideas of others so that something new may grow that otherwise would not have been born.
Where scientists talk of replication, Open Source programmers talk of debugging. Where scientists talk of discovering, Open source programmers talk of creating. Ultimately, though the Open Source movement is an extension of the scientific method, because at the heart of the computer industry lies computer science. Consider the words of Grace Hopper, inventor of the compiler, who said, just a few years later:
To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.
Though he may not have realized it at the time, Watson stood at the threshold of a new era in biological science. At the time of the discovery of the double helix, science in biology and chemistry was primarily a craft, a practical art. It was practiced by a few men working in small groups, primarily under the auspices of academic research. The seeds of change had already been planted, however. With the advent of several medical breakthroughs, notably the polio vaccine and the discovery of penicillin, biological science was about to become an industry.
Today organic chemistry, molecular biology, and basic medical research are not practiced as a craft by a small body of practioners, but pursued as an industry. While research continues in academia, the vast majority of researchers, and the vast majority of research dollars, belong to the pharmaceutical industry. This alliance between science and industry is an uneasy one at best. While pharmaceutical companies can fund research at a level undreamed of in academic institutions, they also fund research with a vested interest. Consider: would a pharmaceutical company rather put major funding into research for a cure for an illness that is therapy based, or medication based?
Computer science, too, must exist in an uneasy alliance with industry. Where once new work came primarily from academic computer scientists, now the computer industry drives new work forward. While the rank and file of Open Source programmers are still the many computer science undergrads and graduate students around the world, more and more Open Source programmers are working in industry rather than academic settings, and more and more companies are basing their business around the Open Source model.
Computer science, though, differs fundamentally from all other sciences. Computer science has only one means of enabling peers to replicate results: share the source code. To demonstrate the validity of a program to someone, you must provide them the means to compile and run the program. The Open Source development model, then, really is an extension of the scientific method.
Replication makes scientific results robust. One scientist cannot expect to account for all possible test conditions, nor necessarily have the test environment to fully test every aspect of a hypothesis. By sharing hypotheses and results with a community of peers, the scientist enables many eyes to see what one pair of eyes might miss. In the Open Source development model, this same principle is expressed as "Given enough eyes, all bugs are shallow." By sharing source code, Open Source developers make software more robust. Programs get used and tested in a wider variety of contexts than one programmer could generate, and bugs get uncovered that otherwise would not be found. Because source code is provide, bugs can often not be uncovered, but also removed by someone who otherwise would be outside the development process.
The open sharing of scientific results facilitates discovery. The scientific method minimizes duplication of effort because peers will know when they are working on similar projects. Progress does not stop simply because one scientists stops working on a project. If the results are worthy, other scientists will follow up. Similarly in the Open Source development model, sharing source code facilitates creativity. Programmers working on complimentary projects can each leverage the results of the other, or combine resources into a single project. One project may spark the inspiration for another project that would not have been conceived without it. And worthy projects need not be orphaned when a programmer moves on. With the source code available, others can step in and take over the direction of a project. The Open Source community boasts several important programs that have migrated project managers in this way: Bind, Fetchmail, and the GIMP, just to name a few.
The Open Source development model of today has its roots in the academic computer science of a decade or more ago. What makes Open Source dramatically more successful today, however, is the rapid dissemination of information made possible by the Internet. When Watson and Crick discovered the double helix, they could reasonably expect the information to travel from Cambridge to Cal Tech in a matter of days, weeks at most. Today the transmission of such information is effectively instantaneous. Open Source has been born into a digital rennaissance made possible by the Internet, just as modern science was made possible during the Rennaissance by the invention of the printing press.
The Middle Ages lacked an affordable information infrastructure. Written works had to be copied by hand at great expense, and hence the information had to have an immediate value attached to it. Trade records, banking transactions, diplomatic correspondence, this information was concise enough and carried enough immediate value to be transmitted. The speculative writings of alchemists, priests, and philosophers -- the men who would later be called scientists -- took a much lower priority, and hence the information was disseminated much more slowly. The printing press changed all this by dramatically lowering the barriers to entry in the information infrastructure. Scholars who had previously worked in isolation could, for the first time, establish a sense of community with other scholars all over Europe. But this exercise in community building required a absolute committment to the open sharing of information.
What was born out of this community was the notion of academic freedom, and ultimately the process we now call the Scientific Method. None of this would have been possible without the need to form community, and the open sharing of information has, for centuries, been the cement that has held the scientific community together.
Imagine for a moment, if Newton withheld his laws of motion, and instead gone into business as a defense contractor to artillerists following the 30 Years War. "No, I won't tell you how I know about parabolic trajectories, but I'll calibrate your guns for a fee." The very idea, of course, sounds absurd. Not only did science not evolve this way, but it could not have evolved this way. If that had been the mind set of those scientifically inclined, their very secrecy would have kept science from developing and evolving at all.
The Internet is the printing press of the digital age. Once again, the barriers to entry for the information infrastructure have been dramatical lowered. No longer does source code need to be distributed on paper tape as with the original version of Unix, or floppy disks, as in the early days of DOS, or even on CD-ROM. Any FTP or web server can now serve as a distribution point that is cheap, and effectively instantaneous.
While this rennaissance holds great promise, we must not forget the centuries old scientific heritage on which the Open Source development model is based. Computer science and the computer industry do exist in an uneasy alliance today. There is pressure from industry giants like Microsoft to keep new developments proprietary for the sake of short term financial gain. But as more and more of the development work in computer science has its origins in industry rather than academia, industry must take care to nourish computer science through the open sharing of ideas, namely the Open Source development model. The computer industry must do this not out any altruistic motives to serve a greater cause, but for the most basic pragmatic reasons: enlightened self interest.
First of all, it would be short-sighted of those in the computer industry to believe that monetary reward is the primary concern of Open Source's best programmers. To involve these people in industry, their priorities must be respected. These people are involved in a reputation game, and history has shown that scientific success outlives financial success. We remember a few of the great industrialists of the last hundred years: Carnegie, Rockefeller. We remember a great many more of the scientists and inventors from the last hundred years: Einstein, Edison... Pauling. When the history of this time is written a hundred years from now, people will perhaps remember the name of Bill Gates, but few other computer industrialists. They are much more likely to remember names like Dave Clark, Bill Joy... and Linus Torvalds.
Second, and more important, industry needs the innovation science can provide. Open source can develop and debug new software with the speed and creativity of science. The computer industry needs the next generation of ideas that will come from Open Source development.
Consider just two examples. The Apache Web server is a viable and competitive piece of software for anyone looking for a general purpose Web server. One could argue that Apache dominates the Web server market. The Apache Project is an Open Source endeavor that has evolved rapidly and produced an extremely stable and robust piece of software because it follows the Open Source development model.
Or, consider the Linux operating system. Linux is a project that was conceived some five years after Microsoft began development of Windows NT. Microsoft has spent tens of thousands of man hours and millions of dollars on the development of Windows NT. Yet today Linux is considered a competitive alternative to NT as a PC-based server system. The Open Source development model has produced a piece of software that would otherwise require the might and resources of someone like Microsoft to create.
To sustain the digital rennaissance we need Open Source development. Open Source development drives progress not just in computer science, but in the computer industry as well.