Posted by
michael
on from the secrets-and-lies dept.
Tim writes "Tim Bray and Microsoft's Joe Marini are doing a back-and forth on Open Source. Tim serves (open everything), Joe returns (secret-source is good business) and Tim volleys (the closed-source niche is shrinking)."
Re:What happens when it's not secret anymore?
by
Anonymous Coward
·
· Score: 5, Interesting
Software patents are doomed for one simple reason.
The equivalence of two Turing machines is undecidable. Turing proved this as one of the results of the halting problem. Since turing machines are equivalent to algorithms, which are equivalent to recursive functions, this is a statement in mathematics that as such should be sufficient to disallow software patents on the basis that software is a mathematical function.
Where, then, can software patents stand? By definition, patents cover a method, hence an algorithm. Since there exists no way to determine if an algorithm infringes on a given patent, the patent office must backtrack and declare that algorithms need only be *similar to* a patented algorithm to infringe. But this is also undecidable for the same reason. An incredibly complex algorithm that produces the same output, given the same input, as a patented algorithm will be intractable to compare to the patent.
The reason the patent office is spewing software patents is that it has no method for determining prior art, no method for determining functional equivalence, and no method for reasonably denying every software patent after the courts have incorrectly ruled in favor of them.
Note that if you really wish to infringe on a software patent, it will always be relatively easy.
Given a function F(x) that is patented, do the following.
Create a function G(x,y) where y is meaningless, random, or in some way constructed from x such that applying G to x,y is equivalent to applying F to x. If necessary, encode x as y and apply H to y such that H(y) is equivalent to F(x). No patent court will be able to prove the equivalence. Should they rule that simply because two functions *produce similar (not exact, that is intractable) output, despite being vastly dissimilar*, they will have contradicted the very spirit and letter of patent law. The whole point was to issue patents for *specific* methods and devices, and encourage derivations thereof by other inventors. Such is progress. Owning the result of applying a mathematical function to all possible inputs is not progress, it is the darkest feudalism.
Software patents are doomed for one simple reason.
The equivalence of two Turing machines is undecidable. Turing proved this as one of the results of the halting problem. Since turing machines are equivalent to algorithms, which are equivalent to recursive functions, this is a statement in mathematics that as such should be sufficient to disallow software patents on the basis that software is a mathematical function.
Where, then, can software patents stand? By definition, patents cover a method, hence an algorithm. Since there exists no way to determine if an algorithm infringes on a given patent, the patent office must backtrack and declare that algorithms need only be *similar to* a patented algorithm to infringe. But this is also undecidable for the same reason. An incredibly complex algorithm that produces the same output, given the same input, as a patented algorithm will be intractable to compare to the patent.
The reason the patent office is spewing software patents is that it has no method for determining prior art, no method for determining functional equivalence, and no method for reasonably denying every software patent after the courts have incorrectly ruled in favor of them.
Note that if you really wish to infringe on a software patent, it will always be relatively easy.
Given a function F(x) that is patented, do the following.
Create a function G(x,y) where y is meaningless, random, or in some way constructed from x such that applying G to x,y is equivalent to applying F to x. If necessary, encode x as y and apply H to y such that H(y) is equivalent to F(x). No patent court will be able to prove the equivalence. Should they rule that simply because two functions *produce similar (not exact, that is intractable) output, despite being vastly dissimilar*, they will have contradicted the very spirit and letter of patent law. The whole point was to issue patents for *specific* methods and devices, and encourage derivations thereof by other inventors. Such is progress. Owning the result of applying a mathematical function to all possible inputs is not progress, it is the darkest feudalism.