3 ms·
It would seem that one of the main arguments against software patents that is thrown around is that "software is mathematics". As a software engineer currently
by nogden 15y ago
It would seem that one of the main arguments against software patents that is thrown around is that "software is mathematics". As a software engineer currently knee deep in learning Haskell, I believe that this argument carries plenty of weight. However, when judging software patents, we shouldn't overlook the reason for which patents themselves were originally invented.
I think the best description of a patent that I ever heard was:
"A government granted use monopoly in exchange for full disclosure of how the invention works."
This is, in my opinion, not a bad idea. It promotes the sharing of knowledge, whilst not depriving the inventor from the spoils of their work, but only if a full, formal design of a working system is disclosed.
In software, patents are granted based upon a technical description of the concept. But the requirement of a formal definition - which in the case of software boils down to either a proven mathematical model, or some code that implements the concept - is absent. Since written language is full of ambiguity and uncertainty, it is very possible and regularly the case that patents are granted on an idea that provides no concrete specification. As a result, the disclosure part of the agreement is not satisfied.
- alok-g 15y ago>> the disclosure part of the agreement is not satisfied Again, a software patent is not about the software. It is about that technical description of the concept. That concept is what carries the invention (while the software itself carries a copyright). Written language is indeed full of ambiguity and uncertainty but the language of patent claims is not (some separate comments in this thread talk about this). When deemed necessary, source code is included in a patent application. Flow-charts are also often included. But all of that is out -- the core part of a patent are the claims, written in a well-defined unambiguous language that defines the concept of invention as clearly as possible and it does not need diagrams and source code. Edit: Disclaimer: I am not a lawyer.
- yxhuvud 15y agoIt is a bad idea (since that isn't how it works in practice), but not a bad intention.
- alok-g 15y agoLet's look at this a bit more precisely. True that mathematical formulas and laws of physics are not patentable. However, a specific use of either to solve a specific problem is patentable provided the three constraints (non-obviousness, usefulness and novelty) are satisfied. Software is not mathematics -- A computer science algorithm could arguably be, but "software" is not. Software is a specific implementation using that mathematics that sits onto your CD or hard-disk where "mathematics" cannot sit (sure copyrightable representations of that mathematics do). And software gets appropriately subject to copyright laws. Applying software to solve a specific problem is no different than applying hardware or mathematics to solve a specific problem. If those patent-ability constraints are satisfied, there is nothing wrong with software patents "in principle". Fixing the practice is another thing. Second refutation I have comes from my personal experience. No, most of the software developers are not mathematicians. Often far from that in practice. Many don't even understand computer science (including myself partly). We can still however make software inventions that satisfy the three constraints. I know this topic remains debatable. And at least a part of the reason is that the issues are often not correctly understood by people and the law-makers. Add to that the pace at which laws are adjusted to changing practices in the industry. Edit: Disclaimer: I am not a lawyer.