edited to add "software".
edited to add "software".
"The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying."
For a worse horror story, just take a look at Farnsworth trouble with RCA about the TV patents.
If you don't know about the patent, then you're only liable for 1X the amount.
Moral of the story: don't read patents, you can only get into trouble. If you get sued after the fact, then you can change your code to work around it.
Ironic, given one of the original primary reasons for the patent system.
So I agree; coding around patents is difficult given that they tend to be so hard to read and understand.
Alternatively, you could say that the point of "legalese" is to define and convey ideas more explicitly than they can be defined and conveyed in English. Try writing a contract in "Plain English" - it will necessarily be full of ambiguity and uncertainty, which defeats the purpose of having a written contract.
Similarly, although programmers don't write code in "Plain English" I don't think we should begrudge them the right to keep using obfuscatory programming languages - even if it keeps the bastards employed.
I also believe that, by defining one's terms clearly, it should be possible to write unambiguous plain English contracts. Additionally, an English-parsable legalese needn't necessarily lead to an unambiguous interpretation when parsed as English, so long as it is unambiguous when parsed as legalese, and most of the meaning is retained when parsed as English.
As part of that arrangement, it seems like we ought to require that the disclosure be in English, not merely in a tongue that shares some English words and syntax.
The claims in particular are indeed technical and difficult for a lay person to readily understand. But the background, the prior art and the description of the implementation are not. Background and prior art are a summary of the technical context and I have never had any difficulty reading or understanding this section. The description may be rather long winded as it has to detail how to implement the invention so that it may be implemented from the description by someone skilled in the art, but it isn't legalese and should certainly be understood by the inventor! The lawyer can't write this by him/herself.
I can certainly sympathize with those who can't follow the claims (although I have found it to be perfectly possible with determined effort), but I simply fail to understand how a lawyer turns it into something "I can't understand any more." Find alien and unfamiliar - yes. But incomprehensible?
OTOH it does still preclude John from being presented with a problem and then doing someone quite ingenious to do a great solution that seems actually quite "novel", to learn that someone else did it years before.
But for patents, if you follow logical steps from a given problem then you shouldn't be granted a patent.
In fact the way patents should work is that the patent officer spends a week trying to solve said problem themselves. And only after that attempt, read the actual patent. If they're struck with, "Ahh... yes, good idea, wouldn't have thought of it mysefl" then its potentially patentable. But if the patent officer says, "Yeah, that was my second attempt." or "that's largely derivative of my general line of logic in my other attempts" then it shoudln't be patentable.
Does that really sound at all scalable (or even reasonable) to you?
I imagine that many of the proposals that move through the patent office are highly contextual and may be simple ideas wrapped up in daunting language. It seems reasonable that it would take far more than a week to even get your arms around some of the problems themselves, let alone the solutions.
Besides, if patent officers were such able critics, wouldn't they be more useful as engineers?
I imagine that many of the proposals that move through the patent office are highly contextual and may be simple ideas wrapped up in daunting language. It seems reasonable that it would take far more than a week to even get your arms around some of the problems themselves, let alone the solutions.
Then spend more than a week on it. I didn't use a week as "cap", but rather a starting point. If it takes a month, sure then spend a month. You'll get no arguments from me. Especially since patents regularly take 5+ years to get approved.
[1]http://www.inventionstatistics.com/Number_of_Patent_Applicat...
A year has 52 weeks (plus one or two days), if 2 of these weeks are vacations, 50 weeks remain. Therefore 1000 / 50 = 20.
> In fact the way patents should work is that the patent officer spends a week trying to solve said problem themselves. Does that really sound at all scalable (or even reasonable) to you?
So clearly you were saying that a week is too much time to spend on a patent. OK.
I imagine that many of the proposals that move through the patent office are highly contextual and may be simple ideas wrapped up in daunting language. It seems reasonable that it would take far more than a week to even get your arms around some of the problems themselves, let alone the solutions.
But in a week you can't understand the problem, much less a solution. So you seem to be saying that having a system where examiners approve patents they don't understand is preferred. I say that if the examiner can't understand the solution, much less the problem, then the patent is rejected. This will really get people to focus on writing clear patents, rather than the legalese that passes for a patent today.
But lets get to numbers. There are not 500 examiners. There are more than 6,000. So at one week per patent it's now less than two years per patent. That's actually about on par with the time today. That's extremely reaonable. And I'd argue that making patents more expensive, with less protection time, you'd reduce the number of SW patents, and thus probably can turnaround SW patents more quickly.
Not so. I'm not defending the current system, just trying to demonstrate that your suggestion isn't feasible.
> There are not 500 examiners. There are more than 6,000.
Citation?
---
Edit: found the data on Wikipedia: http://en.wikipedia.org/wiki/United_States_Patent_and_Tradem...
And to me that is one of the many problems with (software) patents: it relies on an inherently biased, subjective process to determine whether this objective, rigorous piece of thought is worthy of a monopoly.
And also recall with patents you are guaranteed another appeal to a different body if ever sued, the courts, where you can invalidate a patent. And if MS wins the i4i case the burden of proof will be even lower. And note, there is legislation going through congress right now to make it harder to win a suit, and also expands patent reexamination.
My point? The patent examiner is an important first step, but a patent that clearly has no legs should be defeatable -- if not now, in the near future.
The conclusion that you should be reaching is software patents are simply not a viable mechanism, period. In other words, even if you like the idea of patents in theory, in practice they do not work because we will never have enough patent examiners with the necessary expertise much less time to make valid decisions on patent applications.
The sheer volume makes it clear that the vast majority of patent applications are for trivial stuff. The system is broken, it's that simple.
Or think of it this way, a mobile phone: it could have novel programming, novel chips, novel screen design, hinge, case plastic, button return springs that last longer, easier to use touchscreen, stronger glass, more flexible, brighter, etc., any of these things might give it the market advantage. How many other things do you use each day, each of them could potentially be improved and that improvement be registered in a patent.
The parent spoke of applications for patents anyway. Granted patents in the US are apparently about 40% of this.
When a suit is filed, an engineer is given the problem and told to build clean-room implementations. If he gets it in under a month, it's obvious and overturned. If he gets it in a day, it's extremely obvious and the plaintiff is fined three times the asking damages. If he gets it in under an hour, thirty times.
This disincentivizes completely bogus patent claims, and should bring the total rate down to something manageable.
Variant:
When the proposal is submitted, the engineer attempts the recreation. If he fails, the patent office pays him. If he succeeds, the attempted patenter pays for a month of his salary. If he succeeds in under a day, the patenter pays a year.
This gets up-front examination, but weakens the incentive to hire good engineers and doesn't guarantee to make trolling unprofitable.
Once something is patented, the idea is out there for others to hear about (not just because they can read the patent; the original inventors can now talk about it, too). And ideas that get out into the wild tend to spread.
On the other hand, after all these years of having patents on obvious things granted, it might be no bad thing to try throwing out some genuinely inventive patents instead for a change :-).
(My own preference: either do away with software patents completely, or substantially shorten their term. [EDITED to add: the latter probably only makes sense if you can greatly reduce the latency between initial filing and granting. Which would be a good thing anyway, for all patents.])
Basically the argument, which I find quite compelling on one level, is that truly obvious stuff is known and citable. Very simply novel inventions can seem obvious once they are presented to you. I found this a lot examining patents - they would often seem obvious but nonetheless be absent entirely from the prior art.
However, to answer some of the proposed solutions there is also the aspect of presentation of the invention to the public domain. That is, even if it were possible for an engineer ("the notional skilled man in the art") to create a close enough solution if they are set to work on a problem this does not provide a reason not to provide some form of patent protection.
The deal is that for disclosure of a workable, industrially applicable invention that a limited monopoly is granted. The monopoly does not only reward but also encourages. Whether others could solve a problem is not necessarily relevant to rewarding those who have addressed it and solved it. Do you see. You want to motivate progress in the relevant arts by rewarding those who solve problems in those arts by the sweat of their brow.
Re ability of patent officers: a judge can watch ice skating and tell you if the people fall over, if their toe-step is dramatic interpretation of the music or them tripping, if their Salchow is wobbly, if their outfits breech regulations, etc., but possibly barely ice skate themselves.
That said in the UK at least there is a good deal of art-specific expertise so much so that the patent office makes a substantial income hiring their examiners out to large companies to do "commercial searches". Mind you when we assessed international searches for the US ones were nearly always useless and had to be re-done (WO patents entering the national phase would sometimes have pre-existing examinations by foreign examiners, usually US or EPO).
>"more useful as engineers"
I don't think people stop being engineers because they become patent officers. That said they probably would be more use to the human race using their skills in a more directly constructive way but this assumes a lot about the world that just isn't going to happen. When there's no greed and everyone works for the greater good then we'll have no need for patent officers.
The real problem with software patents is not that the rules (including non-obviousness constraint) are flawed, but rather that the execution of those rules is flawed. Fix the right thing please.
I can't stand the idea that I might be in my shop/lab, working with metal/wood/plastic/chemicals, and develop something independently which later causes me to get sued. Abolish all patents.
Programmers on the other hand can indeed pop open an editor, spend a few minutes with Ruby on Rails implementing "a standard business procedure, but on the Internet!", and violate a patent. Or multiple patents. In fact, the very fact that we have patent trolls that can run around and sue business after business after business for the same patent, while the businesses have no evidence that shows they have communicated with each other about the patented subject, ought to be proof positive that the patent is obvious and shouldn't be patentable.
An amazing number of patents that actually are being litigated really are "X, but on a computer!" or some variant thereof ("X, but on a network device!" is one the company I work for has gotten hit with). I'm not exaggerating, for all the verbiage and diagrams this really is a reasonable summary of many of them.
Your metaphor fails, because what is not a realistic risk for people working in shops or labs is a perfectly reasonable risk for a hobby programmer, let alone a pro.
Perhaps programmers are overreacting because of all the bad ones and there is a core of goodness deep down in there, but I'm willing to find out the hard way.
It's a big world and there are a lot of smart people in it. History is full of examples of multiple people independently inventing/discovering the same thing.
May I also observe it isn't me making a normative claim that such things that are easily re-constructed by anyone should not be patented. It is descriptive, right in the legal definition of patent; it should be not obvious to one skilled in the art. Again, the very fact such a clause is necessary is evidence that there is a set of things obvious to one skilled in the art that exists, or why bring it up?
So we need something to get around the problem of 'see new thing - figure it out - declare it obvious - sue to overturn patent'. Maybe the proposed first-to-file requirement will help that by taking the patent office out of the history-investigation business and just acting as a recording service, letting the parties fight out their dispute in court; I hope so. But it's hard to come up with some catch-all definition of what constitutes 'obviousness' because that will always be open to both honest and mercenary dispute.
Begin with field "Foo". Originally, a Foo-ist researched the creation of an improved Foo-er after twenty years of painstaking manual research and patented said device. All well and good and the situation "had nothing to do with computers" originally (hah!).
But then, someone else creates a "numerically controlled foo-ing maching" - an NCF. With an NCF hooked-up to a conventional PC, proper software and a careful look at the improved fooer, you can duplicate the twenty years of painstaking manual research. You've "stolen" the patent as fully as if you duplicated the original machine but your "theft" is entirely in terms of software. And it can very subtle: It might be algorithm is obvious but the constants used took twenty years of research to discover/optimize (I've done scientific programming where discovering the optimality of a simple number was our achievement for the week).
Note the "scare quote" here. I use steal/theft advisedly.
The situation of a numerically controlled machines basically cries out that you must either abolish all patents or make valiant effort to extend patents somehow to software. And while I like the idea of abolishing all patents, I also know that all existing patents together are a huge mass of value and abolish the patent system would entail a huge shock to the economic system and the professional/scientific world and thus a large number of power entities stand against either abolish patents and by extension abolishing software patents since by the arguments above, these amount to the same thing.
"should" is the problem with that argument. Just as "all bugs are shallow to the right eyes", all machines are obvious to a fair number of people.
> In fact, the very fact that we have patent trolls that can run around and sue business after business after business for the same patent, while the businesses have no evidence that shows they have communicated with each other about the patented subject, ought to be proof positive that the patent is obvious and shouldn't be patentable.
No, that's not "proof positive" of anything, any more than AG Bell's race to the patent office "proves" that telephony was "obvious".
> Perhaps programmers are overreacting
because the intertubes provide a great forum for overreacting. After all, overracting and porn are internet's the dominant uses.
Whether the person suing is or isn't a patent troll is irrelevant to your argument. You are basically arguing that if lots of people have done something without colluding it must be obvious. Not so.
I recommend this piece on hindsight bias. It is an extremely well documented fact that things rapidly become obvious after the fact.
- Keep it as a trade secret. You get one source for a product, and less innovation.
- Publish it and suffer the consequences of the big companies copying it and making profit on your work.
The argument you're making is basically that the system right now is broken, so we should just throw it out. I do agree that it's broken, but I argue that fixing the system is a better solution than throwing it out.
Do you honestly believe there is such a problem with sharing innovation in the software industry, that we need government intervention to encourage sharing?
Let's take the funny example of Amzon vs B&N on the one-click system. Do you think Amazon would not use the one click system if it were unpatenable? In the case of modern software patents, keeping it a secret is equivalent to not using it all. Since you invented it in the first place, I find this outcome to be excessively unlikely.
You are also suffering under the misconception that a lone programmer or programming pair would be incapable of standing up to big markets with a software invention. If his invention is really worth it's muster, he can come out with a profitable product that blows big companies out of the water. I've seen it happen before.
Let's take what I often here cited as one of the best software patents (personally, I think it is the worst.. but that's another story), RSA. Did that patent really prevent others from using/profiting on it? Hardly (although in most cases the "profiting off of" thing is a stretch, unless the explicit purpose of their product was cryptographic in nature.
Now, what if they had kept it a trade secret? Just look at their RC4. They kept it a secret and got a few years of exclusivity but eventually we all got the algorithm, because that's just how software works.
20 year exclusivity contracts are waaaay too long. I think the trade secrets route where "you have it until others figure it out" is far more fair and workable.
Patents are (theoretically) a pragmatic compromise between 1) the benefits to society of having people publish their ideas, and 2) the drawbacks to society of giving someone a time limited monopoly on the exploitation of the idea.
For software I believe the drawbacks in general far outweigh the benefits. There might be examples of "nobody else would have thought of this within the patent period" inventions, but they are rare enough that it does not make sense to have special laws for those cases.
In the physical "better mousetrap" world the issue is different. The situation is similar to the Hacker News startup world in that ideas are plenty. However, the cost of productizing the ideas is high, and there is less of a first mover advantage, access to distribution channels is more important. So patents in the "better mousetrap" world protects not the idea, but the investment of turning the idea into a product. The drawbacks of patents here are also smaller, as you rarely build unrelated products upon the "better mousetrap", so the cost of a monopoly often stays limited to the specific market. Patents here might be a good compromise.
In medicine there is a similar situation in that many ideas are "free" from public funded research, but useless without the very expensive clinical trials. The patents basically protects the investment in clinical trials, and no so much original research. However the cost of patents is huge. People die because they can't afford patented medicine (which include initial cost for the clinical tests, marginal cost, distributed cost of failed products, and profit), even though they could easily afford the marginal cost alone. It would be good to get rid of patents here, but they must be replaced with another system to cover the cost of the clinical tests.
if you have ever worked for a software company that has a competent legal department, you know that you must stay away from patents. under no circumstances are you allowed to communicate that you have looked at any given patent or even acknowledge the existence of a patent.
patents are treated with more fear than toxic waste in IPR sensitive businesses.
besides, if you don't publish and you do something clever, how long do you think it would take for the competition to figure out what you were doing? or for people in academia to publish something on it? or for some independent blogger with too much time on his or her hands?
I wish people would consider reality rather than some make-believe world that does not exist when thinking about patents. so much time, money and intellectual energy is wasted on this nonsense. not to mention that it is clogging up the courts with absolutely pointless legal battles.
we, as a society, have better things to do.
Also, hardly any secret can be kept for as long as a patent lasts.
Conversely a software idea can be thought up in a few minutes and implemented in the same. In app purchases isn't exactly a clever idea or something that was revelatory. It was simple software evolution.
You have 10 minutes, give me an implementation of something that improves upon H.264 by 30%.
It might be by analogy, a technique from a different domain, from similarity with something you did with lego blocks when you were 9 years old, from a mishearing when discussing something with a fellow developer, from ignorance of the known techniques in a particular area and trying to solve it from first principles, etc. You do need some familiarity and experience in the domain in order to recognize the utility of the novel technique. It might happen once to you, but it's unlikely to happen 9 times.
More importantly, it's also probably going to occur to someone else, sooner or later. New discoveries tend to be repeated, that's a common theme in the history of scientific and mathematical development. By advocating patents for these things, you suggest the mere chance of coming first means you get a government-granted right to extort from other people.
> a software idea can be thought up in a few minutes and implemented in the same.
This is only true for trivial pieces of software. I agree with you that trivial pieces of software should not be patentable. But you're saying that no piece of software should be patentable, regardless of how complex or innovative it is, and there I strongly disagree.
You both agree that there is major variation in how much "effort" goes into producing patentable work. Your problem is you want a very clear-cut definition specifying what is patentable, and since effort is hard to measure, you'd rather just throw out all patents. You assume this would be better than the current situation (which, I think, takes the other extreme - most things are patentable).
But why do you think the way you suggest is better? Just because the current system sucks?
(Forgive me if I misrepresented your argument).
Half of the tech industry with respect to software is finding something someone else is doing, and building on that but making it better.
The bottom line is that patents are patents. It's inconsistent to be against one type and not another. I understand why patents exist, but I also agree with the Carmack statement above.
(1) This is clearly not true. I know someone who patented an idea relating to battery management hardware that occurred to him as he was describing a problem to me. It was novel and "not apparent to a similarly skilled person.. etc." But it didn't take any more investment than pen and paper to think through the concept.
However, if I independently develop a piece of software or an algorithm, there is a very strong chance that it took me the exact same amount of time and effort as the person who originally solved it.
In the former case, it makes sense to enforce a patent, as copying their design directly eases my ability to go to market with something.
In the latter case, it doesn't make sense, as I now have to pay someone else, despite having done the work.
Note that I see copyright, intellectual property, and patents as completely different things. If I'm using someone else's code/libs, then obviously, I feel it is worth the ability to enforce. However, that already exists without the patent system.
However, if I independently develop a piece of software or an algorithm, there is a very strong chance that it took me the exact same amount of time and effort as the person who originally solved it.
These two instances are completely different. What about the hardware engineer who independently developed a piece of hardware? It would take him around the same amount of effort to create it as the original. Just like the software engineer who cribbed an existing design would have to do much less work than the original.
0% of the differences in effort have to do with physical vs software, and 100% to do with what references you have available to you before you get started.
Edit: Since people aren't convinced of my postulate that all algorithms are mathematical equations, here's a proof sketch:
All programs can be rewritten to be expressed in Haskell. All Haskell functions can be expressed as equations in the typed lambda calculus. The lambda calculus and its variants are all subsets of mathematical equations. Therefore, all programs can be expressed as mathematical equations.
All programs can be rewritten to be expressed in Haskell. All Haskell functions can be expressed as equations in the typed lambda calculus. The lambda calculus and its variants are all subsets of mathematical equations. Therefore, all programs can be expressed as mathematical equations.
Seriously, though, the legal issue arises from the fact that the patent is not (or rather should not be) granted for a pure mathematical abstraction, but for a product which applies such abstractions to some novel purpose. Mathematical discoveries are not considered properly patentable because mathematics is held to be part of nature's bounty - a highly debateable philosophical proposition, but there it is. But being able to describe a thing in mathematical terms does not equate to that thing being a mathematical statement and therefore unpatentable.
Let's consider the steam engine, for example. The interplay of pressure, volume, and temperature can be modeled with very simple mathematics, as can the mechanics of a drive train to convert the motion of a piston into work by turning a wheel. You could write down all the math necessary to accurately model a steam engine or indeed a train in a few pages. Likewise, we could argue that that the giant boiler on wheels that constitutes a train is no more than a restatement of those same mathematics, along with a few supplementary remarks about the properties of the materials used to express the primary equations of the system (eg the tensile strength of iron, the viscosity of the lubricating oil and so forth). This is true enough in a philosophical sense, but talk is cheap. Building a working steam engine is a lot harder than coming along afterwards and observing that its characteristics could be reformulated as a mathematical statement.
Now software is different, insofar as we can take the source code or even the object code and convert it back to a set of mathematical equations with considerably greater ease. But again, it's not the underlying mathematical statements for which a patent is (ideally) sought: it's for the black-box implementation that allows someone with zero knowledge of the underlying math to make use of the invention. If you rely on the philosophical argument that all code is inherently an agglomeration of mathematical statements, then you must agree that, say, Farmville or Pac Man are in fact part of nature's bounty as well, due to their mathematical foundation as computer programs. That's an argument which would be extremely hard to sell, either in court or to the general public, and with good reason - most people consider the development of a computer game to be a creative effort rather than something that was sitting about waiting to be discovered like the law of gravity.
One could say that Pac Man was in fact sitting around in 'the space of all possible games yet to be implemented,' but then again one could put someone in prison and say that freedom is a state of mind too, or kill a person and argue that it doesn't really matter because they're still alive in the past. These are interesting philosophical avenues to explore, but only on a voluntary basis. Courts are a reflection of the society in which they operate, and theoretical arguments like this which take no account of pragmatic considerations usually go badly for the proponent.
But let's say that you argue there's an important principle at stake here, and get the court to agree about the fundamentally mathematical nature of computers and the programs that run on them. How then do we deal with the fact that board games are patentable? After all, a board game is just a set of tokens and some rules for manipulating them, whose utility lies in its capacity to entertain or edify the players. If we outlawed software patents tomorrow, then couldn't patent trolls simply switch to patenting 'games' in which their algorithms are presented as rule systems? True, few people would fancy playing Super Bubble Sort or Mem Cache Plus all night, but patents are not granted on the basis of popularity.
Again, I'm not out to defend software patents - I'm just bringing up these arguments to point out why 'programs = math, therefore software patents = invalid' isn't the irrefutable legal argument that so many people seem to think it is. Where to draw the line of what can be patented is a much trickier question than it may at first appear, and if our approach to this Gordian knot is to get rid of the patent system altogether, then one needs to address the problems that predated its creation.
The neat part about mathematics is that your approval, or anyones approval for that matter, is not necessary. If the proofs are solid, it holds. If you want to properly "disagree", demonstrated rigorously why the proofs are flawed.
"If it were that simple to overturn software patents it would have happened years ago."
You assume that the people in the position to make decisions are competent.
You assume that the people in the position to make decisions are competent.
Not at all; there's a large volume of patent litigation, and it's reasonable to assume that at least some of the decision makers are competent to evaluate such elementary arguments. Your argument requires universal incompetence by litigators and/or decision-makers.
Incompetent and or comprimised. Yes.
Seeing as we're talking about lawyers and politicians here, I don't think this is all to stunning.
On the other hand, the numerous proofs that software is math are fairly trivial for anyone with a modest background in mathematics.
It's the modeling of physical systems that its patented, not the physical object itself. Those patents usually protect the inventor from people creating any number of variations on their exact design because it's the approach to solving a particular problem that is being patented.
I think there are a lot of people who take an absolute position against software patents and end up going through all sorts of contortions to differentiate between why ideas in the physical realm should be protected and ideas in the software realm should not.
That said, I certainly agree that most software patents are far too obvious and not deserving of any sort of protection. The challenge, of course, is how to fix the system to afford protections to real innovators and not to those who simply connect the dots.
Algorithms are mathematical equations. They cannot be patented.
I know the mantra. I just don't buy it. Math provides the building blocks used to produce creative (and sometimes very innovative) solutions to problems in the form of software. Material properties and laws of physics similarly provide the building blocks used to produce creative solutions to problems in the form of physical devices or mechanisms.
Just because the basic building blocks used to formulate an innovation aren't patentable, it doesn't necessarily follow that the innovation itself shouldn't be patentable if it's truly innovative and worth protecting (which most software patents certainly aren't, but some undoubtedly are).
That leaves the patentability of math. Man I wish I had a time machine so I could go back in time and convince Pythagorous to patent his little triangle formula in the context of architecture. I could make a killing.
That said, this argument is a bit of a non-starter: software is mathematics, sure, but mathematics are not patentable by legislation (at least in the U.S.). Legislation is easy to change, and it likely will be when people finally accept the "mathematics = software" argument.
I think that software should only be protected by copyright if the source code is placed in escrow and made available when the company goes belly-up or when the (strictly limited) copyright period expires.
I think that the patent system needs to be thoroughly reformed so as to do a better job of covering software, hardware, and a blend of the two. John Carmack's example is compelling but if patents were handled properly the odds of such a thing occurring would be as remote as the odds of doing the same thing in your backyard workshop with a lathe.
No. The difference is that PHYSICAL TANGIBLE things exist in the "analog" realm have infinite possibilities. Things that exist in the digital realm have a finite number of possibilities, and if you limit yourself to a particular subset of things you can even possibly do (such as those things which are implemented in computer programming languages), the odds go up greatly. If I tell someone to build a table leg on a lathe, there would probably be many variations between skilled builders. If I tell someone to make an efficient file store (or in patent speak "digital storage"), lots of people would probably come up with something similar...but that's patented: http://www.google.com/patents?q=digital+storage&btnG=Sea...
1. The length can be infinitely long, therefore the number of possibilities can be infinitely long.
2. For all practical purposes the space is so large it is infinite. How many possible permutations of 1s and 0s can you get in a 1024 KB program. Many.
3. If we go into the more practical example you raised I doubt there is much difference between the variance in resulting table legs and digital storage applications. If anything, I would say there would be more variation in the software, simply because the high cost of iteration and experimentation (and stricter physical constraints) have narrowed the design space of table legs, in a way which is much less apparent in software.
I'm not a fan of software patents. To be honest, I wish we didn't need a patent system at all. But since we don't live in the Star Trek universe and world communism turns out not to be the economic panacea that its creators hoped, we need something to protect the rights of inventors. Same thing with copyright - before it came into being, artists and writers had to rely either on fickle patronage or else hope to make some money on their first sales run because after that it was a free-for-all. Although I hate the way IP law and institutions have swung towards the opposite extreme and are now damaging to consumers and the general cause of innovation, those rules exist to solve a genuine economic problem.
It would be easier to overturn software patents if there were some alternative proposal to reliably secure the fruits of innovation to the inventor. If that task is left to the market, then a) there's abundant evidence that profit will win over ethics, and consumers won't know or care and b) people whose time is best spent innovating will have to spend more effort on marketing and monetizing their IP and fending off competitors, which is inefficient for solo inventors or small firms. So is spending a lot of time on patent work, admittedly, but a patent is a more reliable shield against having one's invention ripped off.
Coding is a creative process - I write pages of code each day and every single line and idea I use in there might be covered by a patent of which I haven't heard yet. How is that supposed to work? We don't have patents for writing, music, painting, etc. although you could use the same arguments about original work and the danger of people ripping it off (we do have copyright!).
Would you still be in favour of abolishment, and if so why?
Basically, you can't prove 1 person did not read it. But, you can be positive 100 people did not read it. Now clearly this depends on the number of people working on the problem. So, while 100 is excessive in most fields, somewhere around 3-10 is probably a good lower bound.
Every time I stare at that patent submission form I can't help but to imagine somebody doing a cool thing which does something similar, getting squashed by a lawyer.
I've a couple of those forms which I filled, but never submitted.
So...
So while, yes "the same applies", the cost/benefit ratio of the two situations is totally different.