First, it assumes that we want to be protected against "others independently developing a similar algorithm". Second, it assumes that I "believe that my company deserves to be protected" from such other people. We're not concerned about other people independently developing a similar algorithm as it's rather non-trivial and as I mentioned, it took an awful lot of effort to develop it. We're much more concerned about the very real problem that people (e.g. competitors) will use our research and work.
As for your second assumption, personally (and I'm not representing my employer here) I don't believe that we have the moral right to be protected from other people doing their research independently who reach the same results.
In lights of all this, I really don't know how to answer your question.
These are merely two perspectives from which we can view the same phenomenon.
How is that plausible? Aren't these trade secrets? Is your research/work publicly visible?
They sell the product to customers, other people spend a small amount of time reverse-engineering how it was done, and copy it.
I wasn't assuming that you personally or even your employer actually wanted that kind of protection. So my rather rhetorical question was intended to highlight that discrepancy.
You want to prevent others from copying your work but what you do by patenting it is more than that. You prevent others from making or benefiting from their own original invention. Of course, as long as software patents exist, you don't have much choice.
I don't understand the "destroy software patents" crusade. "Destroy all patents" makes sense, and "improve all patents" makes sense, but why are software patents any different than device or chemical patents?
But to understand what might make software special you have to look no further than the things that are currently not patentable and never have been, like mathematical approaches and business processes.
So, for instance, if you invent some data mining approach based on graph theory and you write your formulas on a piece of paper or into your matlab or R worksheet you cannot patent it. If you express the same ideas in a couple of C functions you can patent it.
Another example. Say you are the first to have the idea of selling coke and sandwiches at gas stations. You cannot patent it. But if you are the first to have the idea of selling avatars from within some computer game, you can patent it. Why is that?
The differentiation between patentable and non patentable types of approaches and ideas is not something that was invented by software patent crusaders. It's right there in the law already.
I agree that part of what patents intend to do, protecting original invention from copycats, is legitimate. But if it's done in a way that punishes original invention that seems counter productive to me.
I just think that prohibiting original independent invention in order to prevent copying is absurd because it punishes exactly the people who are supposed to be the beneficiaries of patents.
Flip this around. It is protection against others wasting research on something that has already been invented and [supposedly] enables them to add their research to your own and thus add effort rather than waste it. Is that not a noble cause?
Patents have a double purpose: One is to ensure implementation details of inventions enter the public domain and the second is to provide a limited monopoly as a bribe to ensure that the public domain will ultimately benefit.
In this way patents promote innovation, encouraging the release of new technological developments quickly to other practitioners in the art and so accelerate said development.
The only (large) part I see broken in the current patent system is that the duration of monopolies hasn't reduced to keep pace with the acceleration in the life cycle of new technologies.
Let's say company A and company B create the exact same alogorithim in the exact same time. Company A markets it much better and effectively "wins" the market. Should their success be determined by purely R&D alone? Since this is a rather unrealistic (albeit becoming more and more realistic) situation. Imagine a slightly more realistic scenario. Company A starts R&D day 1 and finishes day 100. Company B starts R&D day 50 and finishes day 125. But Company B has better management, marketing, etc. and (again) effectively wins the market.
Who gets precedence?
> We're much more concerned about the very real problem that people (e.g. competitors) will use our research and work.
So why don't you just keep it secret? Is this ultimately the question?
Then what you do is keep your algorithm as a trade secret. The point of a patent is to publicize the invention so that others may benefit, and in compensation to the inventor they get a period of protection on its use so that they may license the invention and recoup R&D costs.
What we need is some counter-balancing force that ensures patent license prices remain reasonable. Normally that's done by the threat of substitution or inventing-around, which doesn't work when USPTO screws up and allows claiming the whole problem space. The price especially needs to be reasonable for non-profit use, which is a software-specific issue made possible because our unit costs are also basically zero. It would also help if they tested patent claims for obviousness by giving someone the problem statement and seeing if they produce a solution off the cuff covered by the same claims.
I'm not a lawyer or historian, but I suspect that protecting against independent invention may not have been the main goal of those who created the patents system. I suspect that this kind of protection may just be a side effect of assuming that it is generally impossible to tell whether or not an invention was arrived at independently and that it is generally impossible to keep the inner workings of an invention secret.
These assumptions are not true in the same way for software as for, say, the typewriter or a particular kind of elevator or even a chemical substance. That's why it may make sense to think about software patents seperately.
"If the patent system didn't guarantee us monopoly on using the fruits of our own R&D, this algorithm probably would not have been developed for a very long time, if ever, by anyone. It would have been innovation that never happened."
You may not agree with the conclusion, but it does address your question.
I always thought that this is precisely why the patentable ideas are non-trivial.
But even non-trivial ideas tend to occur to several people at once, which is a part of the problem.