My position on the matter is that patenting software or other mathematics should require full disclosure of the source for the system. If not expressible in a full-blown language, it's not patentable (e.g., one click).
Let's shorten the length for software patents. For the duration that it is valid, the patent office simply acts as a custodian of the code, ensuring that it works and certifying that it is novel. The patent office should maintain (or contract a company like GitHub to maintain) the repository of pending public domain source.
And once the patent expires, the source is released into the public domain, still under source control.
We can also strengthen prior art rejection of bad patents.
Finally, give enforcement more teeth, but narrow the scope to match more closely what is checked into the repository.
A system like this is more in the spirit of what a patent is: a temporary monopoly with a public-domain disclosure of the idea at the end of term.
Let's shorten the length for software patents. For the duration that it is valid, the patent office simply acts as a custodian of the code, ensuring that it works and certifying that it is novel. The patent office should maintain (or contract a company like GitHub to maintain) the repository of pending public domain source.
And once the patent expires, the source is released into the public domain, still under source control.
We can also strengthen prior art rejection of bad patents.
Finally, give enforcement more teeth, but narrow the scope to match more closely what is checked into the repository.
A system like this is more in the spirit of what a patent is: a temporary monopoly with a public-domain disclosure of the idea at the end of term.