I am a software engineer. I have been writing code since about age 12 and have done it professionally for nearly two decades. During that time, I have learned several different programming languages and become an expert in too many technologies to count Recently, and after years of hard work, I have been rewarded with the filing of a patent with my name on it.
Inventing (and I use that word deliberately) solutions to problems is hard. It takes skills and experience, but most of all it takes talent. It is the engineering equivalent of art. It is not something that you can just hand to anyone with the requisite skills and expect it to be done right. You actually have to be able to create something new out of nothing. There is no difference between inventing a new software algorithm and inventing a new mouse trap. Although both of them may build on previously existing ideas or parts, they do so in unique ways. It is this creation that patents seek to protect. Once a design has been created, anyone with the relevant skills can assemble it into a working product. However, that doesn’t mean that they should be able to steal the years of investment that went into inventing it in the first place.
As evidenced by his blanket statement that we should “end all software patents” it is clear that Mark Cuban does not understand the problem with the patent system, or software at all. (In all likelihood, he probably does understand it but just wants to increase his profits by walking on the backs of others.) The problem is not with the type of the patent, it is with the vetting and approval process of all patents. Many (I suspect most) patents are overly broad. Many do have prior art (e.g. anything in the human genome). For example, a This American Life episode on patents discussed the recent “invention” of toasting bread (which I am sure has existed for hundreds of years). (Notice how that was not a software patent.) That should have never happened and highlights what really needs to be fixed. The patent office needs to actually read the patents and thoughtfully consider the merits of each If an application does not make sense (probably because of all of the “lawyer-speak”), then it should be sent back to the filer for clarification instead of simply approving it with an it-sounds-complex-enough-to-be-unique rubber-stamp.
I, personally, take pride in the patents that I work on. They are a reflection of me. I would not want to have my name on one that was filled with nonsense. In fact, I spent many hours on my first one working with the lawyer on revisions until it was accurate and meaningful. I would hope that all software engineers would strive for the same level of integrity as I have.