2010-08-21

Programming is Creative

I was reading FSDaily (or something like that) a few days ago when I came across this submitted article.
The blog author posits in this article that the reason software shouldn't be patentable is because it is, at its core, a very large binary number. The author elaborates by saying that if one was to create a program that wrote a random series of binary digits to a file in an infinite loop and this program was repeated ad infinitum, eventually every program ever devised in the past, present, and future would be (re)created.
Upon reading this article at first, I was taken by the argument and by its simplicity. However, [this information is strictly private], I realized that this particular argument against software patents falls flat. This is because of the Infinite Monkey Theorem. (Wikipedia is an excellent resource with regard to this. For the readers who choose not to trouble themselves with clicking on another link, the Infinite Monkey Theorem states that if a monkey typed at a typewriter continuously for all of eternity, eventually the monkey would type out every work mankind has ever written. Traditionally, this is stated as "the monkey would eventually type out all the works of Shakespeare", and I will go with this statement for argument's sake.)
One could similarly posit that all the works of Shakespeare are merely very long strings of characters from a set of 27, and that they could similarly be taken at random. Yet this seems to make Shakespeare less of a genius.
Similarly, calling a computer program "just a number" demeans the work a programmer must put in to actually arrive at that "number".
Of course, this doesn't mean that software should be patentable. All this means is that programming is a creative work and programs aren't "just numbers" any more than books are just very long strings of letters, spaces, and punctuation; hence, the argument against software patents should not rest on calling software "just a number".