3 ms·
I don't know if this has been mentioned previously, but I've not seen it in any of the previous debate about software patents. Quoting from the article: Paten
by shabble 15y ago
I don't know if this has been mentioned previously, but I've not seen it in any of the previous debate about software patents.
Quoting from the article:
Patents are meant to foster innovation by protecting the inventor and then upon expiry providing a library of information for others to build on. To this end, going forward, if a patent doesn’t actually tell you enough information to understand and build the invention, it shouldn’t be valid.
Given that a software patent is...well, software, why not require that actual working code be submitted as part of the patent application/grant? The code is held in escrow/confidence by the patent office for the term of the patent, and is released to the public domain when it expires.
There's probably some issue there with copyright of the code that might complicate the public domain part, but at the very least you could clean-room reimplement it. An alternative might be that you are required to renounce/void copyright on the code in order to obtain a patent - the short term monopoly of the basic idea comes at the cost of no long/indefinite-term copyright on the specific implementation.
That opens up all sorts of new possibilities, like requiring/permitting the patent claims to be machine-readable, in the sense of a conformance test-suite. That both ensures that the provided implementation is a true instance of the patented invention, and gives the holder/patent office/court an easy way to check for violation.
- WoundedMarlin 15y agoI really like that idea, I am sure I am missing some important part that makes it not so easy to do. When you file a patent for invention like (dishwasher) you have to supply all the design drawings for the project. I do not see why they could not do that with software patents.
- anamax 15y ago> When you file a patent for invention like (dishwasher) you have to supply all the design drawings for the project. Actually, you don't. Look at some patents, such as http://www.google.com/patents?id=TdUkAAAAEBAJ&zoom=4&dq=2600548&pg=PA3#v=onepage&q=2600548&f=false http://www.google.com/patents?id=TdUkAAAAEBAJ&zoom=4&... . Notice that the drawings for that showshoe binding patent are not "design drawings" for a snowshoe binding. (Those drawings are lacking a lot of dimensions that one would need for such a product.) You have to provide information that tells someone skilled in the art how to do what you claimed. That's it. FWIW, "What you claimed" is rarely a complete product. Instead, it's an aspect that can be used in multiple products. (While I don't know where else one might use that snowboard binding mechanism, I'm sure that someone else does.)
- andrewflnr 15y ago"Actual, working code" might be prohibitively context-dependent. Working code to detect credit-card fraud would be pretty dependent on your financial infrastructure. In many cases though, that would not be as big a problem, and in others it might be satisfactorily overcome. I think this is a good idea.
- shabble 15y agoYeah, it did occur to me after commenting that it might be difficult to extract the specific patentable invention chunk from the overall application. I can't think of a single approach that would work everywhere, but logically isolating it as a library or service might work, similar to the way in which you can implement an IPC/RPC shim for interfacing to GPL'd code from your proprietary app. Inventions that don't fit that model (Operating Systems, Embedded Firmware, Massive Scale, etc) complicate the matter, but I imagine a set of disclosure options could be devised, and the inventor/patent office would select the most appropriate.
- DasIch 15y agoWhat about software that relies on proprietary hardware etc.?
- Jach 15y agoAlso what about code in a non-standard language? Suppose no one knew about Brainfuck and you included your software solution implemented in Brainfuck without an explanation of the code and how it corresponds to the patent. Do you need to include compiler/interpreter details, explain what the machine code generally looks like and does? What about hypothetical computing devices like quantum computers? Though a general solution to proprietary hardware that you have rights over would be to include an FPGA implementation... whether that should be required or not is another story, especially if you don't have rights over it.