> Just as the US Patent Office problematically gave out patents in the past for computers doing simple things... the office seems prepared to give out patents on "using machine learning in obvious and expected ways." Companies like Google and Microsoft are seeking to acquire, and in some cases have acquired, patents on "fundamental machine-learning techniques," Nazer writes.
I find myself in a weird situation. Patents are a drag, and they're misused and wasteful, etc. etc. But it feels like the author here isn't acknowledging or appreciating what patents are intended for or good for.
We can't say patents are bad because there are obvious uses of a technology. Patents protect the people who develop the technology, not the competition who wants to use it for free after it works.
The issuing of a patent doesn't depend on how obvious the use is, it depends on how obvious the actual solution is. And deep convolutional neural nets trained using backprop or adversarial networks, these things are not obvious. They are even counter-obvious, for 30 years people knew about them and claimed they wouldn't work.
Again, I know and agree that bad/stupid patents are being issued, and that trolls who don't develop tech are siphoning money, and all that.
But when someone invents something that works, the patent system is supposed to apply a drag force on everyone else using it, that's it's intended function. And sometimes, maybe not that often these days, but sometimes it actually works as intended and deserving people get to see their work come to financial fruition.
I used to feel that way. Unfortunately we've reached the point where patents have so damaged and corrupted our industry that none of us can write any software free of patents. If someone wants to annihilate you with a patent suit, theoretically they can. Unless you have a patent portfolio.
They are the ultimate anti-individual-programmer. Which is another way of saying they're a threat to hacker culture.
You can argue that hacker culture had its day in the sun, and that the world should move forward. But it's important to be clear to yourself that the culture that built the internet and so many of the tools we now enjoy for free is being thrown under the bus.
I cannot guarantee LuaJIT to be free of third-party IP however. In
fact nobody can. Writing software has become a minefield and any
moderately complex piece of software is probably (unknowingly to
the author) encumbered by hundreds of dubious patents. This
especially applies to compilers.
Are you sure you want to live in a world where people can't legally write and release LuaJIT for free without its users facing legal ramifications? Same deal with machine learning. What will the LuaJIT of machine learning be?
I am playing devil's advocate here, but Mike's statement doesn't amount to evidence. I understand he's afraid, and he's saying he thinks it's now too onerous to do due diligence. And I agree -- he's right. OTOH, it's not normal to guarantee that a piece of software is free from patent liability. Nobody could even if they wanted to, and even if the patent system was healthy. Company lawyers have told me not to look for patent infringement when I write code, they say just write algorithms that you believe nobody else invented, and "they" (competition) will let us know via the legal system if they see a claim.
> Are you sure you want to live in a world where people can't legally write and release LuaJIT for free without its users facing legal ramifications? Same deal with machine learning. What will the LuaJIT of machine learning be?
I don't want to live in that world. But is there not a flip side from the inventors point of view? If I invented something very useful, and very non-obvious, and say just for purposes of example, that Mike Pall put that idea in LuaJIT, released it for free, and my commercial competition then downloaded LuaJIT and put me out of business, I would probably be some combination of sad, mad, and poor.
I don't want to live in that world. But is there not a flip side from the inventors point of view?
I would 100% agree with you if the resources to litigate were distributed evenly. Unfortunately they're not.
If you were sad, mad, and poor, you wouldn't be able to anything, because "poor" would disqualify you. No one would even represent you pro bono, probably.
The only people that meaningfully benefit from patents are corporations. If you don't buy that argument, let me know, because it's pretty important that I persuade you. :) Of course, that tends to be the least effective way to persuade someone, but still.
In September 1990, users of the popular XyWrite word processing
program got a disturbing letter in the mail from XyQuest, Inc., the
program's publisher:
"In June of 1987, we introduced an automatic correction and
abbreviation expansion feature in XyWrite III Plus. Unbeknownst to us,
a patent application for a related capability had been filed in 1984
and was subsequently granted in 1988. The company holding the patent
contacted us in late 1989 and apprised us of the existence of their
patent.
We have decided to modify XyWrite III Plus so that it cannot be
construed as infringing. The newest version of XyWrite III Plus (3.56)
incorporates two significant changes that address this issue: You will
no longer be able to automatically correct common spelling errors by
pressing the space bar after the misspelled word. In addition, to
expand abbreviations stored in your personal dictionary, you will have
to press control-R or another designated hot key."
That's the kind of world we live in thanks to patents. Is that healthy?
My mind is open too: If that's a good thing by you, I'd love to hear the reasoning.
> That's the kind of world we live in thanks to patents. Is that healthy?
I agree, it's not healthy.
And I agree completely about the resources angle, if I'm alone, I'm SOL. If I'm in a huge company then I can fight. This is definitely the core failing of the patent system that it's biased toward wealth, and being abused by the wealthy.
> My mind is open too: If that's a good thing by you, I'd love to hear the reasoning.
I really appreciate you saying it that way. I don't think it's a good thing, I just appreciate the intent. And I don't think it fails 100% of the time, I think it works sometimes and fails a lot. I think getting rid of software patents has a chance of improving everything, but I'm not 100% certain. There might be unintended consequences. Like, I guess I'd put it this way: it's not very likely that the rich & resourceful will stop winning, no matter what happens, right?
> You can argue that hacker culture had its day in the sun, and that the world should move forward.
I don't want that, I want more hacker/maker culture, not less. I also want to figure out how to fund my own hacker/maker habits, but that's a separate topic. ;)
Patents do seem to be getting more toxic, but I base that on media reporting and stories of patent trolls, and not stats on the economy or number of lawsuits. So I'm curious to know more about the health of the system from a statistical perspective.
Ultimately I don't know what the solution is, and I might change my mind, but right now I don't feel like nuking the patent system is the right answer. But I do wonder if something like disallowing patent sale or transfer would help -- a company can only have a patent if the person who did the inventing worked for them at the time. They can keep it if the inventor quits or dies, but they can't sell it. Maybe something like that would stop the shell companies?
Well, from a game theory point of view, look at it like this: You can't meaningfully execute on patents (enforcement nor acquisition) unless you have resources. Those resources tend to come from companies that programmers work for, not individual programmers working at home.
So if you want more hacker/maker culture, your position would seem to run counter to that goal, no?
I love playing devil's advocate too, but there are situations where it's not quite so easy. If you feel that the hatred for patents is an overblown concern, I suppose it would be best for the people in this thread to post stories about how patents have materially affected their lives and their work. There are plenty.
Even lacking that, though, the core argument is that you need money to be able to do anything patent-related. Most hackers don't have these kinds of resources. And since patents can be used against them, advocating for patents leads directly to the disenfranchisement of hackers.
EDIT: One thing that makes it difficult to see the kinds of statistics you'd like to see: Chilling effects. When patents hang over us like a specter, you'll never see how many ventures are aborted before they're even started due to fears about patents.
The problem is twofold: Firstly, when bad/stupid patents far outweigh the good, then the net negative effect renders any positive effect meaningless.
Secondly, the complexity of modern engineering means any individual invention is worthless by itself. If a lone inventor has an idea for a cool smartphone feature, they cannot practically bring it to market, because building a smartphone is too difficult and capital intensive, and requires licensing myriad other patents, mostly owned by incumbent vendors with no interest in allowing another competitor emerge.
This means that, even if every patent in an area is "good", a patent thicket[1] will nonetheless emerge in a field following a major breakthrough, as core and ancillary techniques are patented. A handful of large, dominant vendors come to monopolise the market, new players are locked out, and progress slows to molasses for the following twenty years. Only when these core patents begin to expire can progress start again, until some new major breakthrough is made, and the entire process repeats itself.
Through this lens, the rise of patent trolls makes sense. Faced with impenetrable, monopolised markets, individuals and smaller players are incentivized to engage in parasitic behaviour, gaming the patent system to extract what value they can, since actually using their patents to compete is either impossible or impractical.
Agreed with all the above. I am honestly curious - is there evidence that we're at the point where patents are a net negative? I hear a lot of strong opinions, but I am ignorant of meaningful data.
In my experience, the patent thicket is today's corporate strategy. The large companies I've worked for have undertaken a broad patent-everything strategy as a defensive way to turn any competitive claims into a game of patent tennis.
The patent in question is a patent on the obvious use, not the underlying method. "Deep convolutional neural nets trained using backprop or adversarial networks" is not the thing being patented here. "Using deep convolutional neural nets trained using backprop or adversarial networks to solve a specific problem" is what's being patented. The article argues that the known techniques aren't being applied in a particularly novel or interesting way.
I agree, and yes that happens. But the author concluded based on one example that the whole system is bringing down a whole industry. I didn't title the piece, Joe did.
And in the article he argued "the [patent] office seems prepared to give out patents on using machine learning in obvious and expected ways."
That is not and cannot be the criteria for or against issuing patents.
Luckily if I'm going to use a hammer for some job I don't have to go check to see if someone holds a patent on using the tool in that specific way. It makes some sense to patent the invention of the tool but not the use of the tool in the ordinary ways that it is meant to be used. There are thousands of types of data that can train a neural net. We shouldn't allow whichever company happens to be the first one to use it on some specific type of data to hold a monopoly on using this important new tool in that fashion for the next 15 years.
> Luckily if I'm going to use a hammer for some job I don't have to go check to see if someone holds a patent on using the tool in that specific way.
If you buy a hammer at Home Depot, the patent system doesn't affect you directly. (But it might affect the price of hammers.)
If you make hammers and sell them, you might get a cease and desist from the owner of the hammer patent. If they have a valid patent, then you don't have the legal right to produce hammers for sale without licensing the hammer.
If you build a homemade hammer and don't sell it, nobody's going to know or care or sue.
> It makes some sense to patent the invention of the tool but not the use of the tool in the ordinary ways that it is meant to be used.
Again, ordinary use is not the criteria, and it can't be. The idea is to protect the investment of the inventor. Don't forget that I agree the system is unhealthy. But if I spent a trillion dollars to invent warp drive, the use case is obvious, travel far in a short amount of time. You don't get to steal the solution just because everyone has the problem.
> We shouldn't allow whichever company happens to be the first one to use it on some specific type of data to hold a monopoly on using this important new tool in that fashion for the next 15 years.
I completely agree that the patent in the article is crap-tastic. You shouldn't be able to monopolize things you didn't invent, and you shouldn't be able to monopolize things that are too easy to invent. But if someone truly invents something useful, works hard at it, invests time and money, then - according to the patent system - they should get to monopolize it. That's the point of protecting the inventor.
(*and btw, the problem is the rich people & big companies are the ones with the time & money. I agree with others here that that is bad.)
Patents are state enforced monopoly rights, let's be clear about that.
In what circumstances do we want to have monopolies doled out, even timed ones? Even in the classic image of the sole inventor who does something shrewd but ends up with nothing because he didn't patent it; is it really the best outcome to have this one person get rich while lives are lost and technological progress of society slowed because the monopoly pricing imposed is prohibitive for all but the wealthy?
The best scenario for a patent is as a subsidy for inventions that could not or would not exist without very substantial capital investment. Software methods by and large do not fall in that category.
> Equally true of people developing pure math, but math is not supposed to be patentable (except for algorithms apparently).
Yeah, exactly, and this is why software is getting more contentious, right? Software is pure math, and it's also method and apparatus. The patent system was designed as a line between concepts and physical inventions, but software perches right smack on top of that line.
Software is very clearly on one side of the line and software patents actually depend on that. On some level it comes down to this: does the patent cover a particular representation of an algorithm, or all possible representations? I think the former is very clearly not what software patents cover as it would imply that just compiling your code or using a different programming language would leave you in the clear. If it covers all possible representations, then it really covers only a method or "concept," not any particular apparatus (the hypothetical apparatus you might use is just a detail of the concept that the patent covers; in any case, software patents are almost never specific about what sort of computer you will use, so it is not clear what "apparatus" is being described).
> in any case, software patents are almost never specific about what sort of computer you will use, so it is not clear what "apparatus" is being described
Well yeah, that's what I meant about it being on the line. The patent system was designed before computers, and it clearly was built with the idea that physical things people built, and mathematical ideas people imagined, were two separate categories. With computer software, there's no distinction. I really can build a physical machine that does things using only mathematical ideas. The patent system wasn't designed to see that possibility.
There is absolutely a distinction in the case of software: it is a mathematical idea that people "imagine" (and write down etc.). The fact that we now have tools to automate our mathematics does not change anything.
Consider what I said: software patents necessarily cover all possible representations of an algorithm. It is well known that one representation of an algorithm is a lambda expression, and there is really no doubt that lambda calculus is a field of math. It is also well known that you can convert any other representation into a lambda expression (there are explicitly algorithms i.e. you could write a compiler that does this). In other words, any representation of an algorithm is just a mathematical expression, and when you are writing software you are doing math (maybe expressed in an unusual way compared to other fields of math, but it is math regardless).
The separation is this: you can write your algorithm on paper and you still have a representation of your algorithm. Only when you represent it in a particular way that a particular computer can evaluate will you be able to automatically run the algorithm. There is no requirement that you do so; you can also evaluate your algorithm by hand with pen and paper, or in your head (as most programmers do while they are writing code). You probably evaluated sorting, addition, subtraction, multiplication, and division algorithms by hand at some point in your life (you may have also done square roots, sines and cosines, etc., depending on your age and interests); you could have also used a computer to evaluate the same algorithms (even if they are not what most programming libraries would include). In principle you could evaluate any software by hand; in practice it would be too tedious and less accurate.
I'm getting the feeling that I think we're agreeing and you think we're disagreeing. But in any case -- I hear you, I see the distinction you're making, and I agree with all of what you said. I think it's weird that math isn't patentable and software is. There was a time when that made more sense, but I think today it no longer makes sense.
That said, the line I'm talking about isn't the representational line, it's the physical line. Math can be written down in multiple representations too. The reason that math was deemed not patentable isn't because I can or can't write it multiple ways, nor whether I can solve the math problem by hand.
Patents were just designed around products made out of physical devices and physical processes. If I had to figure out how to build a machine using gears and hydraulics, or wires and chemicals, then it was patentable. If I used math to design a better airplane wing, and built the wing, then the wing was patentable along with the methods to design the wing. If I came up with a better Laplace transform, then it's pure concept and not physical product, so it was decided not patentable. I believe the distinction is mainly about you having to build & sell the product you invented, because the patent is a business protection and not a copyright. If you invent something in theory but don't build it or try to sell it, then you don't get patent protection.
My understanding is that the reason math is considered unpatentable is that mathematical statements are considered facts. This is somewhat motivated by a "religious" idea that math is discovered; there is a very ancient philosophical debate about math as a "discovery" versus as an "invention." I am squarely on the "discovery" side, but there is a legitimate question of "where" the math is prior to its being "discovered." It is kind of hard to think about "discovering" something by applying your imagination; of course, "inventing" math is a bit odd as well since truth cannot be "invented."
Yeah, math might have been considered facts. But now we know better, now our improved understanding is showing that software and math are two different representations of the same thing.
> there is a very ancient philosophical debate about math as a "discovery" versus as an "invention."
Yes, and it's a super interesting idea & debate too. Not to get too far off topic, but I'm a little bit more of a mind that representations are invented, while many fundamental truths are discovered (and can only be expressed through representation).
One math example that for me relates to software just a tiny bit, and illustrates why this is a debate is the 0^0 problem. We've mostly figured out how to better classify and represent that, but not before having big arguments where smart people say 1 and other smart people say 0. Mathematicians and programmers have mostly picked a convention, even though both answers are right depending on context. I would call that picking of a convention part of the "invention" side of math, as is calling it indeterminate.
But yeah, agreed, invention and discovery are both weird and problematic when you talk about math.
As a software engineer, Software is not math! its a clever arrangement of mechanisms to adapt a problem to a set already existing very generic physical processes (CPU/GPU/etc). sure at the end of day as Max tegmark argues everything in universe is math but its a really wrong level of abstraction. its like saying all biology is just complex physics.
> Software is not math! [...] its like saying all biology is just complex physics.
I hear you, and I agree with your points. But this general idea isn't exactly what I was talking about, and I don't draw such a hard line, personally. I did say that software was both method and apparatus, and I feel like you might have overlooked the apparatus part. Math has been normally viewed as only method and no apparatus. But this all really depends on what software and what math we're talking about.
I'm claiming that for the purposes of evaluating patent criteria, it's becoming more difficult over time to draw a line between math and software, not less, and I stand by that. It's possible to use math for what should be patentable inventions, and it's possible to use software to represent mathematical statements that should not be patentable.
Software to evaluate PDEs by numerical method, or to integrate expressions symbolically, is hard to say it's not math. Software to send email is harder to say it's math, except that unlike biology, we know the mathematical details of every step along the way, whether it's character encodings or network routing or spam detection or UI.
The distance between software and pure math in my mind is a lot shorter than the distance between biology and physics. But I agree that there is distance in both cases. The argument that software is math is (I think) easier to make, due to Turing and to the fact that we turn our code explicitly into binary math and CPUs only consist of arithmetic operations on numbers. The abstraction doesn't yet seem big enough to separate them.
As a computer scientist, software absolutely is math. Software is not bound to CPUs/etc.; you can evaluate algorithms by hand with a pen and paper if you want to, and you will get the same answers (maybe more slowly, but likewise if you use a slower CPU or a non-optimizing compiler). Lambda calculus is without any doubt a field of math; any code can be represented by equivalent lambda expressions and you can convert to lambda expressions automatically (a common compiler strategy for functional languages).
Yes, C and Python do not look like the expressions in a typical algebra textbook -- but algebra does not look like calculus or geometry either. Representation of your algorithm is irrelevant; as you say, it is the wrong level of abstraction.
Oh, also, in case you were thinking that there is some important difference between software and math, here is something to think about:
I find myself in a weird situation. Patents are a drag, and they're misused and wasteful, etc. etc. But it feels like the author here isn't acknowledging or appreciating what patents are intended for or good for.
We can't say patents are bad because there are obvious uses of a technology. Patents protect the people who develop the technology, not the competition who wants to use it for free after it works.
The issuing of a patent doesn't depend on how obvious the use is, it depends on how obvious the actual solution is. And deep convolutional neural nets trained using backprop or adversarial networks, these things are not obvious. They are even counter-obvious, for 30 years people knew about them and claimed they wouldn't work.
Again, I know and agree that bad/stupid patents are being issued, and that trolls who don't develop tech are siphoning money, and all that.
But when someone invents something that works, the patent system is supposed to apply a drag force on everyone else using it, that's it's intended function. And sometimes, maybe not that often these days, but sometimes it actually works as intended and deserving people get to see their work come to financial fruition.