You can patent a data structure!? Seriously? This is straight up an abstract idea. I think non-abstract patents are beneficial and help society. This is just plain idiocy.
Did you see how complex the data structure actually is? If I had to choose between implementing a Judy array and implementing JPEG, I'd much rather try to write the JPEG code.
Patenting a data structure sounds ridiculous, but it's a little less ridiculous once you consider how complex the underlying algorithms actually are.
That's not what I'm saying and you know it. Please don't turn my point into a caricature.
JPEG was patented. I can understand why. It was novel, it was not obvious, and it was useful. That trio makes a pretty good case for patentability, ignoring whether algorithms can/should be patented in general.
From what I've read, Judy arrays are novel, not obvious (moreso than JPEG, in my subjective opinion), and useful. So it doesn't seem far fetched to patent Judy arrays, ignoring whether algorithms can/should be patented in general.
Which is why I said "a little less ridiculous". This has nothing to do with complicated math, even though both data structures/algorithms involve complicated math.
Trivial math with a relatively inaccessible notation. The notation is why most people seem to have a hard time recognizing it as math I think, people have tunnel-vision and think of "math" as the stuff they learned in primary school.
No, some inventions are describable with math. Some 'inventions' are math. A Wankel engine is not math. You can model it and describe it with math, but that is irrelevant.
Any equation that you can make will merely describe a Wenkel engine, not be one. Equations for mathematical concepts are those concepts (expressed in a particular format).
If I write out a book parametrization a Wankel engine and describing the chemistry and physics of the system necessary to make it turn, I have not implemented a Wankel engine, and I am in violation of no patents. It is a description of the engine, not an engine.
A mathematical description of an algorithm can be executed. It is the algorithm. The description is an implementation and any implementation is the description. There is literally no line between the two, the only thing that you can change is the notation in which you write it.
If you don't see the difference, you are just being obtuse. The difference is as plain the difference between physics and mathematics.
To be completely honest, I'm not sure where I stand because it's a very complex issue.
JPEG met the novelty, non-obviousness, and usefulness tests, as did LZW. That they're considered nearly trivial these days is because they were such influential algorithms that they've become part of the programming canon.
That said, please don't represent my stance as a matter of a cutoff. Many things in this world, including the question of patentability, are fuzzy distinctions that require some subjective "good judgement." Common law legal systems are bad at handling this, which is partly why judicial philosophy is so complex.
If I oppose patenting an algorithm/data structure, it's because I don't think patent protection is necessary in order for people to push the state of the art forward.
You're calling it trivial with over 30 years of advancements in computer science behind you. Also, thanks for picking the shortest sample on the page to show that it's trivial.
If it were trivial when the patentability question came up, it wouldn't have been a published paper in the IEEE Transactions on Information Theory and an active area of publication for at least the next six years.
Whether or not it's trivial today, this was the cutting edge of computer science when the patent was granted.
All of those examples are trivial, they're all the same algorithm. I merely picked one of the more terse, which really has nothing to do with triviality.
Seriously, read that.
You're calling it trivial with over 30 years of advancements in computer science behind you.
Yes, of course I fucking can. The ability to do that is part of what makes a "person having ordinary skill in the art" an important concept. Even 30 years ago LZW represented an incremental improvement on the current state of the art.
Regardless of the novelty of the idea, LZW has always been trivial to implement.
> it wouldn't have been a published paper in the IEEE Transactions on Information Theory and an active area of publication for at least the next six years.
I am not arguing that it fails the usefulness test, nor that it was not important.
Your "this looks like a pain in the ass to implement" defense of the patent is absurd. You clearly would support the patent regardless, since you seem to be fine with the LZW patents.
You didn't read everything I said about software patents. I oppose software patents because I don't think our society needs them. But then again, you can try to pidgeonhole my opinion if you want to.
I'm talking about patents. You're answering that LZW is trivial today. Yes, it is, but the time difference is huge when you're talking about a patent that is 30 years old and now public domain, especially when you're talking about a "person having ordinary skill in the art" regarding a patent application.
The great thing about threads like this is that we probably agree on the key points, but it becomes a disagreement the moment you escalate your language.
Both the LZW patents and the Judy array patents are software patents...
I am not saying that LZW patents were bad patents because LZW is or was trivial. I am saying that defending Judy array patents because of Judy arrays are hard to implement is foolish because no such defense can be mounted for LZW.
The reason both should be unpatentable is that they are both algorithms.
Regarding patents, people always complain a particular patent couldn't have been granted because it's not novel enough, anyone could have thought it, or that it's math.
Patent law is a black-on-white subject, either you support it or not. It's impossible to grant some patents under subjective premises and be fair at the same time.
Patent law is not a black-and-white subject, and you certainly don't have to support all of it to support some of it. All law necessarily involves line drawing, and line drawing is subjective. Welcome to the wonderful world of being human and dealing with human society.
The idea behind patents is protecting the innovator. How does patent law protect anyone when it's trivial to argue a patent shouldn't have been granted in the first place (because it's not novel, or it's just math, blah blah)? You could say that about all patents ever filled.
It defeats the whole purpose behind patents. Whoever has the biggest patent pool and deepest pocket wins, not the little guy on the sweatshop. The only people to benefit from patents are lawyers.
Be careful. The idea behind patents and IP law in general isn't protecting the innovator. It's incentivizing the innovator to advance society through new ideas. The subtle difference is that, when society no longer benefits from protecting the "innovator", that person shouldn't get protection from IP law.
Unfortunately, IP law today is a perversion of this original principle.
I am not "blaming" anything on patent examiners. I am saying that they exist for their ability to interpret and decide. Were patent law black and white as you suggest, they would have no purpose.
As others have said, it is not black and white. You can support patents on "things" and not patents on "ideas." There's a big difference.
I can tell you mathematically how a windmill grinds corn but that does not make my description into a windmill. On the other hand, laying down the mathematical description of a Judy Array IS the array itself!
Well, I'm against software patents pretty much as much as anyone here, as you can verify from my comment history, but describing the mathematics of an array isn't the same as the array itself. The patent isn't violated until you start executing that mathematics of a Judy Array on a running computer. Otherwise, you could violate a patent by just talking about it.