Software is a pretty interesting field in the patent world.
There has been a lot of debates regarding whether software can be patented or
should be patented. Some people argue that software is essentially an algorithm
in a programming language which is used to solve some complicated problems, and
it should be treated just like math, which is not patentable.
However, software is not equivalent to math if we think
about it this way: “the code is a series of
instructions written using mathematical logic as its foundation.”
Software code is heavily influenced by math, but the nature of its usage is very
different. We need to focus on the output of the software code and evaluate
whether the output is something sufficiently novel and nonobvious to be
patented.
“Although software functions by using algorithms and
mathematics, it may be patentable if it produces some concrete and useful
result. However, what cannot be patented is software whose only purpose is to
perform mathematical operations. Thus, software that converts one set of
numbers to another will not be patentable; but software that converts one set
of numbers to another to make rubber will be patentable.”
According to case law, only software that has a “technical
effect” can be patented. And this means that the contribution of the patented
technology is novel and not obvious to a person skilled in the art. However,
this term is rather vague and is ultimately decided by USPTO. Therefore, we
have critics argue that many software should not be patented because they are
trivial and would have been obvious.
Hey Tian,
ReplyDeleteI think that you bring up an interesting argument; that code is in essence math that incorporates inputs and spits out an output in some form. I hadn't really thought about software in this manner before, as I viewed it more as an engineering/technical feat, which, while still math-based, just felt more concrete to me. Thanks for providing that insight!
I think that saying software is similar to math would offend a lot of programmers. There is an extra step when it comes to creating a software that requires unique thinking that should be patentable. The ability to formulate a process through the coding language that allows the technology to be self-sustaining is that "technical effect" that you mentioned. Yet, I find it disappointing again that the USPTO has decided to remain vague in it's definition. Of course it is easier said than done to try to be definitive but it would their jobs a lot easer if they are able to diminish more of the gray areas!
ReplyDelete