Software ain't patentable, damn it!

"Thus, this [Supreme] Court's precedent repeatedly sets out that software, which is nothing more than a set of instructions – an algorithm – to be performed by a computer in order to solve some mathematical problem, is subject matter that is not patentable..."

So ends the Software Freedom Law Center's (SFLC) in its amicus brief to the Supreme Court in the case Microsoft v. AT&T, No. 05-1056, filed on December 16, 2006. The Supreme Court has been ducking the issues this case has been raising, but has finally agreed (forced) to hear them. Hopefully, the Court will not duck its responsibility to clear this mess up.

One of the delicious ironies of this case is that Microsoft (one of the biggest software patent holders) must argue, to defend itself against patent infringement claims by AT&T, that software is not patentable. Well, that's the logical (and legal) conclusion which squirts out from this litigation, which the SFLC has stepped squarely into, ironically, on the side of Microsoft, but not for its benefit.

As the SFLC stated in its amicus brief (p. 4/5); "Since before the Civil War, this Court has consistently made it clear that subject matter which would have the practical effect of preempting laws of nature, abstract ideas or mathematical algorithms is ineligible for patent protection."

This supposedly bedrock principle of intellectual property and patent law, embedded into the US Constitution, is why you can't patent music, literature, paintings, etc, but you can copyright them, because they are not “inventions” within the meaning of patent law. And software is no different.

All software source code, whether it be high level, assembly, or pseudo code, ultimately, is just the expression of the steps – an algorithm – to do something. Thus, any software source code can (and will if necessary) be translated into any other language by mimicking the steps expressed in the code.Therefore, software, written in the myriad of possible languages one could use, are no more “inventions” than the works of Mozart, or Shakespeare, using musical notation, or the English language, to create “expressions” of their works. And they are merely “expressions” because no two implementations of any work of music, or a play, will ever be exactly the same because variations of implementations will always exist. Only the description of a concrete implementation of a new, novel, and non-obvious “invention” is supposed to be patentable.

And software, which could only exist because of the “prior art” of thousands of other people, schools, and companies creating, using, reusing, and extending its concepts, is truly just as much “art” as science. Thus, just as musicians can apply the mechanical knowledge of musical theory to create new derivative works (songs/scores), which can be translated into musical notation for others to play (sheet music), programmers use software languages, with algorithmic techniques, to produce derivative works of software (programs).

So what we have now is the US government allowing companies to patent ideas, expressed in various software languages that they didn't invent, using concepts and techniques developed and refined in the open, to perform tasks that are obvious to one versed in the field. This is the antithesis of what patents were intended to protect.

Also, an aspect of the current case that's particularly galling to me, is that Microsoft, which has made most of its money from merely marketing the work of other people, and companies it has bought, is challenging the patent claims of AT&T, which could at least logically (if not legally) claim that the creations of Bell Labs (a part of AT&T before its breakup) constitute patentable “inventions.”What has Microsoft given the world – C# and .Net?

Thus, we now have entered the realm of corporate “No you can't, Yes I can”with regards to restrictions on software which they didn't “invent.” In fact, most software languages are young enough that their individual “inventors” are still known and living: C, Forth, Java, Pascal, Perl, Python, Ruby. And with software, only machine executable code is able to functionally do anything, which requires another piece of software (a compiler) to create for specific hardware.

So we all should applaud, and support, the activities of the Software Freedom Law Center in fighting the legal fiction of software patents. As this current case illustrates, software patents not only threaten and discourage the creation and use of free software but also commercial/non-free software as well.

Yes, the death of software patents cannot come soon enough.

License

Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved.