Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Every once and then I remember that you can actually patent algorithms. Terror ensues, and a general feeling of frustration and helplesness. Then I try to forget this fact slowly, just to be able to continue living in this crazy world.

As a mathematician, i see algorithms as examples of theorems, and the idea to "patent" a theorem, a mathematical truth, is so foreign!



> i see algorithms as examples of theorems, and the idea to "patent" a theorem, a mathematical truth, is so foreign!

I'm not defending the patenting of algorithms [1], but what is protected by algorithm patents is not their mathematical truth -- quite the opposite, in fact, as I'll explain -- just as what is protected by mechanical patents is not some physical truth.

You are free to publish a patented algorithm (provided you don't copy your text verbatim from a copyrighted source), teach it, study it, etc. to spread that truth and expand it. What you're not allowed to do without permission from the patent owner is to implement it and run it on a computer; i.e. what is protected is not a truth but a certain human action. This is the same for mechanical inventions, which could be equally said to be "physical truths": a mechanism built in this way would, according to the laws of physics, behave in that particular way etc. Similarly, you are allowed to publish and study that physical truth -- what you're not allowed to do is to build it.

Again, I'm not saying whether this is right or wrong, only pointing out that it is not truth that's protected by patents, but application. In fact, one of the original motivations for patent protection is precisely to encourage people to not keep doscovered truths secret by promising them that profitable applications would be reserved to them for some period of time. So patents were designed to help spread truth in exchange for protecting applications. That this is what patents are intended to do is a fact.

It's fine to object to patents -- there are good arguments both in favor and against -- but completely misunderstanding what patents are and what it is that they protect is not one of them.

[1]: I'm not in principle against that, either, except that in practice few patented algorithms rise to the level of inventiveness that patents are intended to protect.


> This is the same for mechanical inventions

And just like with software patents, people come up with weird workarounds:

> Sun-and-planet motion. The spur-gear to the right, called the planet-gear, is tied to the center of the other, or sun-gear, by an arm which preserves a constant distance between their centers. This was used as a substitute for the crank in a steam engine by James Watt, after the use of the crank had been patented by another party. Each revolution of the planet-gear, which is rigidly attached to the connecting-rod, gives two to the sun-gear, which is keyed to the fly-wheel shaft.

http://507movements.com/mm_039.html

If you look at the animation at the link, you can see it's just a crank with two extra gears attached


> Note that the axle of the planet gear is tied to the axle of the sun gear by a link that freely rotates around the axis of the sun gear and keeps the planet gear engaged with the sun gear but does not contribute to the drive torque. This link appears, at first sight, to be similar to a crank but the drive is not transmitted through it. Thus, it did not contravene the crank patent.

Pretty interesting stuff. Although visually similar it is actually a different principle. And we can readily tell that the arm doesn't contribute to the drive as the sun is rotating faster than the arm would drive it.


This seems like a distinction without a difference.

Being granted exclusive access to put a fact to productive use (or any use) seems roughly equivalent to "owning the truth" to me.


But it is not equivalent. The fear was that without patents people won't be able to teach and spread truths because they wouldn't know them. Patents exchange the ability to study and spread truths for protecting their profitable applications. You may be against that compromise because you think it does not achieve its goals or object to such compromises on principle, but it is a very real compromise between very real alternatives -- at least alternatives envisioned by the creators of the patent systems. Denying that alternatives that people have actually been choosing between for centuries [1], and so ignoring the distinction between keeping some truth as a trade secret and making it public but obtaining a time-limited protection on applications -- both are "owning the truth" (if that's what you want to call it) but in different ways -- is completely missing the entire issue, namely which form of ownership is preferable to the other.

One could argue about effectiveness, but it is a common historical intepretation that the choice between different kinds of IP has had a real impact[2], so the distinction is very much one with a difference.

[1]: https://en.wikipedia.org/wiki/History_of_patent_law

[2]: https://www.repository.law.indiana.edu/cgi/viewcontent.cgi?h...


> “It has long been accepted that 'intellectual information', a mathematical algorithm, mere working directions and a scheme without effect are not patentable.”

http://manuals.ipaustralia.gov.au/patents/national/patentabl...


(Also as a mathematician) Many constructive proofs involve what one could loosely categorize as algorithms. (Not to mention in some computational fields, some proofs can be strictly categorized as algorithms.) Now that I think about it, these can be patented too. Then one can "teach it, study it", but one's not allowed to prove without permission other results using constructions in the same spirit. Geez, thanks for letting people study it, I guess.


> but one's not allowed to prove without permission other results using constructions in the same spirit.

No, that would be allowed. Please, if you want to form an opinion about patents, you should first learn what they are and what they protect.


To be clear on your application point, you could use the same algorithm (theorem) for a different purpose, and it wouldn't infringe the patent.


Does this imply that the PageRank algorithm I wrote for a uni assignment is actually illegal? Or does this fall under "studying it"? Note that I'm from Europe.


Only if you made/used it commercially and also that Google did not decide you can use it

("What rights does a patent provide? A patent owner has the right to decide who may – or may not – use the patented invention for the period in which the invention is protected. In other words, patent protection means that the invention cannot be commercially made, used, distributed, imported, or sold by others without the patent owner's consent.")

And being out of the country, the US patent doesn't apply to you

("Is a patent valid in every country? Patents are territorial rights. In general, the exclusive rights are only applicable in the country or region in which a patent has been filed and granted, in accordance with the law of that country or region.")


Europe doesn't have software patents


Same here(though not a mathematician). Patenting algorithms is so horribly wrong on every level, it's still beyond my comprehension how this could ever be allowed. Some of the patents are ridiculously absurd and luckily rarely enforced. I remember the guy on sci.crypt who had a patent on "cascading ciphers", which covered almost any cipher build out of smaller cryptographic building blocks. It basically concerned almost any stream cipher mode and any attempt of combining more than one building block with XOR somewhere. Luckily, the guy never had the money to enforce it although he might have earned some royalties from doing nothing.

Heck, Siemens used to have a German patent on the Internet, except that it wasn't called Internet but something like "making available of structured textual data representations via long-range data transmission", etc.


> As a mathematician

You don't need to be a mathematician to see that the current system of IP is completely contrary to the nature of the universe. It will be over soon.


I'm curious to know what gives you confidence that it will be over soon?


Partially in jest, once/if Chinese companies start to hold more patents than American companies (as in "value", not numbers) you will see the US attitude versus patents to be different.


You may be correct regarding American response. I'd suggest that alongside that, what we're likely to see is the Chinese government significantly tightening up on IP-rights enforcement because it would then be to their advantage to do so. So a nett result of greater IP-rights enforcement globally rather than the original optimistic/hopeful "it will be over soon" assessment.


Thats quite optimistic.

I'd say that if they steal from the Chinese, they won't talk about it much (or say it was the other way around) and continue just the way it was in case they come up with something patentable again.


Did the British attitude to patents change when German companies started owning more patents than British companies?


Yes. For example the British arranged to cancel all German patents after ww2. This led to eg the development of the Japanese camera industry among many other things.


I fail to see the parallels between Germany after World War II and China in 2019. China's patent situation is much closer to Germany in the late 19th century and the British didn't throw away their patent system in the 19th century just because Germany patented more.


Yes, when those patents started pointing guns at British interests :)


Not a patent example, but there's a reason "asprin" is a generic term in the US.


There is nothing in the nature of the universe that's contrary to trade agreements among people, of which patents are one example. You could say that some agreements are unenforceable under current conditions or perhaps undesirable or even silly, but unless people agree to violate the laws of physics, the universe is agnostic to human contracts. As I wrote in another comment, patents do not protect some truth -- actually, their entire purpose was to help spread truths -- just applications (and human ones, not natural ones).


contrary to the nature of the universe? That seems a few levels lower than merely unworkable, I mean a penny falling slower than a bowling ball is contrary to the nature of the universe, I don't think patents contravene anything as primary as gravity.


You can't patent math theorems because they are not considered inventions, but rather discovering a logical laws of the universe. I treat algorithms in a similar manner.


Hyperbole | /hʌɪˈpəːbəli/ | noun

Exaggerated statements or claims not meant to be taken literally.

— The Oxford Dictionary


The current IP system is pretty decent.... Just all time limits should be adjusted to 1 year.

If I invent something, a 1 year headstart in the market should be plenty of reward.


Seems short, especially for low-yield ip like music. 10-20 is probably good


They are talking about patents here. It has nothing to do with copyright which concerns music and which is perfectly alright.

It certainly does not help that they use the ambiguous term IP that does not really mean anything.


If copyright only lasted a year, you can bet the industry would move to much shorter release cycles and still capture most of the value.


Actually research would move in the direction of things whose value can be captured within a year. The patent system shapes the IP industry as whole.


> It will be over soon

The universe or the patent system?


I am not super pro-patent, but I don't think it's totally wild to patent an algorithm.

Algorithms can be extremely hard to discover and extremely valuable. Together these facts are why the patent system can usefully apply, same as traditional patent classes.

And lots of traditional types of patents are "algorithms" too, really.

It's not that different from, say, patenting a drug. The algorithm to manufacture [insert expensive drug here] probably isn't that hard to follow, but it was very hard to discover, and we want to encourage more people to discover more algorithms like this.

The real issue is that the people in the court system can't understand the different between trivial, straightforward, somewhat advanced, and truly sophisticated algorithms. Also, since you don't need to risk health and life to test them, computer algorithms are typically easier to test than drugs, so it's likely that few-to-none of them satisfy the "difficult to invent" standard that drug molecules do. It costs like a billion dollars to develop a drug; PageRank was made by a few guys in a room in a matter of months.

As another interesting point of comparison, a lot of old weird gun designs from the late 19th/early 20th century were made to get around patents. It's dumb to make a "blow-forward" pistol but there was a time when the straightforward "blow-back" system was patented. Whole countries used quite weird and suboptimal weapons for a long time simply to avoid patent entanglements. I'm sure to them it seemed similar - how can you patent putting these 2 pieces of metal together in this shape? These systems were not very complicated.


I totally cannot bend my mind around this. It is irrelevant if patents on algorithms are useful and good for society in some cases. They are so much self-evidently wrong that the point is moot. The fact that "trivial" algorithms can be patented is a different question that I am not addressing. I am talking only about the non-trivial algorithms that require a stroke of genius.

Imagine that Euclid's algorithm was patented? Or Pythagoras theorem? Or the definition of exterior derivative? Or the expression of a function as Fourier series? All of these are valuable ideas that are non-trivial to come by. The same argument for software patents applies to each of these cases, and in all these cases it is evident (to me) that these mathematical constructions cannot be patented, and that society cannot grant monopoly of their usage to their discoverers.


> Imagine that Euclid's algorithm was patented? Or Pythagoras theorem? Or the definition of exterior derivative? Or the expression of a function as Fourier series? All of these are valuable ideas that are non-trivial to come by. The same argument for software patents applies to each of these cases, and in all these cases it is evident (to me) that these mathematical constructions cannot be patented, and that society cannot grant monopoly of their usage to their discoverers.

You are forgetting that patents are only granted for limited time. If we applied the current system, those things would be patented only for 20 years after their discovery. Would it still be unimaginable?

Maybe your opinion is still the same but the situation is not as clear-cut as it seems. For example, I would guess that if patents were cancelled the industrial budgets for research would somewhat decrease, because there would be smaller advantage in figuring things out first.


Patents should be understood as an alternative to trade secret.

The original reason for patents is enabling more information to become a public. When the patent system did not exist, the only way to protect inventions was to keep them secret. Patent is way to separate information from the economic use of the information. Without patents you must protect the information if you want exclusivity.

Imagine that some extremely important and new algorithm is not patented but kept a secret instead. Today it's possible use provide software as a service and keep the algorithm within protected servers.

> cannot grant monopoly of their usage to their discoverers.

Current patent system is too restrictive and should be reformed. Instead of monopoly, it would be better to have mandatory licensing for algorithms for short period. For example 5 years with some fancy auctioning system to discover the correct price.


Patents on algorithms are bad because any sane person would feel revulsion at the though of them? Is that the content of your argument?

If Euclid's algorithm was patented in a system similar to our modern one, he would have... cornered the marked in ancient Greek cryptographic protocols for 20 years or so before other ancient mathematicians were allowed join in?


>Imagine that Euclid's algorithm was patented? Or Pythagoras theorem? Or the definition of exterior derivative? Or the expression of a function as Fourier series?

This is an interesting point and I'm not sure it cuts the way you want it to.

The world had to wait thousands of years for each of these algorithms to be developed. There are broad reasons for this, but one of them was probably the fact that nobody had any incentive to develop them. Mankind literally had to wait around for some random nerd to come up with these in his spare time.

Now imagine that they were patentable and exploitable for money (for 20 years). Perhaps they would have been developed centuries or millennia earlier. You would have teams of mathematicians from 1000BC onward, working to try to make money inventing theorems and machines and medicines.

20 years under patent seems like a small cost to pay to have something invented possibly thousands of years earlier (or, not kept under trade secret, as e.g. Damascus steel was).


While I understand your point of view (though I believe patents that last for a couple decades wouldn’t have ruined mathematics), the strongest point, at least to me, of the argument you’re responding to, was drugs.

Drugs, according to the comment, are like an algorithm, with a simple set of inputs— hard to discover these inputs, but then easy to replicate. Yet we seem to feel differently about patenting drugs?

Do you have a response to that part?


> Imagine that Euclid's algorithm was patented...

As a mathematician with a patented algorithm / open source advocate... I'm extremely squeamish about this and not super comfortable with it. On the other hand... Cardano's formula was once a trade secret. He's dead and we know the trick now.

As others have pointed out, patents expire in 20 years or less. Nothing is stopping you from building on somebody else's patent (popular among trolls: a patent on applying your patent in a novel area, or a more optimized version, a dual version, etc, of your patent). In that situation you can't use your own patent without paying them... and neither can they use yours. Implementation might be a problem, but you can still prove your theorems.


Euclid and Pythagoras are not, and cannot, be patented. So it seems somewhat illogical to argue against patents with the hypothetical of those algorithms being patented.


I wonder if some real algorithms were ever patented? I mean, just read Knuth, there are brilliant algorithms there that I would never invent myself. Various sorting algorithms, graph algorithms and so on. They are a foundation for our computing. But I never heard that quick sort was ever patented. Why is that?


> But I never heard that quick sort was ever patented. Why is that?

Quick sort is from a time before the USA decided that algorithms could be patented. In fact, most foundational algorithms of computer science are from that time. IMO, the development of computer science would have been hampered for a couple of decades had it been possible to patent algorithms back then; we're very lucky that this wasn't the case.


Latent Semantic Indexing (LSI) - used in Inforation Retrieval systems - is one example of a patented algorithm.

https://en.wikipedia.org/wiki/Latent_semantic_analysis

http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=H...


There are a lot if algorithms that are patented that stop people doing stuff, eg in cryptography, mp3, erasure codes etc.


Example: the Lempel-Ziv-Welsh algorithm, used in gif files, was patented by Unisys.


"Algorithms can be extremely hard to discover"

Can be, most aren't. Most are specializations of a well known thing, applied to a new area. Page rank is (maybe) a good example of this. Not quite old enough to transfer myself back to the time, but diffusion on graphs and power methods have been around for a while.


I run into this scenario a lot as a freelance developer.

Companies often request that any code you write that's a part of their contract work must not leave that project and they own all IP rights to every line of code you deliver.

Which isn't reasonable most of the time because technically if you imported a library from Python's standard library you can't import that library again in another project without violating the contract. Or if you pasted in a snippet of code from a library's documentation, since you did it on their time, you can't use it again on another project.

I always do my best to get things reworded to differentiate generic code from business / trade secrets code, and then for the generic code they either license the code from me as MIT or I license the code from them as MIT.


Would you, as a mathematician, prefer a world where innovative theorems become covered in secrecy if it means such things couldn't be patented anymore?


I do not understand what you are talking about.

In our world, you cannot patent theorems but people publish them anyway. Why? for the honor of human spirit, or to impress chicks, whatever.


> In our world, you cannot patent theorems but people publish them anyway. Why?

You'll never have enough information to know what theorems went unpublished. You can only speak to the probability based on incentives. Public institutions and Universities may be incentivized to publish theorems, but that same incentive doesn't exist in corporations. A valuable money making theorem that could give competitors and advantage would never be published unless a patent could be formed using the technique that circumvents the limitations by including other processes.

Even with the existing patent system, trade secrets still exist: WD-40, Coca-Cola, Twinkies...etc. When it comes to money, the default is to preserve.


I wouldn't take it for granted that people publish. Many mathematicians work on wall street, and they would never publish something they came up with if it wasnt 10000% certain the theorem isnt a commercial secret. Money wins all, especially in mathematics half of which was invented to make counting money easier.


Yes, of course. Not all known theorems are published immediately. What is the problem with that?

Hiding a truth you have discovered is OK.

"Owning" a truth that you have told everyone is absurd.


Owning a truth for a limited period of time in return for telling everyone instead of keeping it a secret is not absurd. Society would rather you tell people so people can build on it (at least in noncommercial ways, or via license) while you own it than keep it secret, so we created the patent system. The alternative could easily be trade secrets until you die and never reveal it, and as a society we decided to incentivize you to not do that


I think what he's referring to is that you have to publish your invention to get it patented. The idea of patents was basically to get a temporary monopoly for publishing the secret sauce so that anyone can use your invention after the protection period is over.


Companies have mostly stopped patenting computer algorithms outside of narrow areas where there are strong interoperability requirements e.g. video codecs. Few algorithm are practically enforceable as patents.

I think you seriously overestimate the incentives to publish. In several computer science domains, and certainly the ones I work in, the academically published algorithms are often a decade or two behind the state-of-the-art that is never published. Valuable algorithm advances are often explicitly treated as trade secrets. As an equally common case, the inventor(s) simply have zero incentive, either personal or financial, to spend their time publishing it -- they did it to solve a problem, not to publish, so they prioritize spending time with their family etc. This disadvantages open source software, and academia spends much of its time reinventing algorithms already known in the industry. In my experience, surprisingly little hardcore algorithm R&D happens in academia, so any model of information dissemination that makes this assumption is going to be suboptimal.

As an example that is unrelated to my current work, I developed a set of novel algorithms that massively improved the efficient parallelization of graph traversals in 2009 -- a true step function in both scalability and throughput per CPU (I was working on supercomputers at the time). Fast forward a decade to 2019 and these algorithms still haven't shown up in academic literature even though people built systems based on them and they are superior to what is currently in the literature. In this case, the algorithms are not even secret. I've also learned some brilliant and as yet unpublished algorithms of unknown origin via these same oral traditions over the years. As a social dynamic, it feels inappropriate to publish an algorithm that you learned this way.

This is a challenging problem to solve. Companies spend serious money on algorithm R&D hoping to obtain a commercial advantage. Outside of that, publishing is often an unattractive use of one's personal time if you are not an academic. This reality disservices the software community at large and I'd like to arrive at a better solution, even though the current reality benefits me greatly as an insider who sees loads of amazing, unpublished computer science.


I think the only sane answer would be a clearcut Yes, but the question is also highly misleading by insinuating that software patents actually cover innovative theorems. The vast majority of them don't.

Austin Meyer, the maker of the X-Plane flight simulator, was sued for millions of dollars because his app used an in-app purchase option made available by an existing 3rd part SDK.

There is a whole industry of inventing bogus software patents that take utterly trivial everyday business processes like giving someone money for a product, dress them up in fancy lawyer talk and general descriptions of non-existent, "systems" or "methods" without any example or prototype, and then sue people over it. In-app purchases? Better pay up! You have a fax machine or scanner? Pay! Storing business data on some electronic device for later retrieval? Better pay an arbitrarily high patent license fee!

It's absurd.


That is a business method patent, not an algorithm patent. They are completely unrelated.


I also gave an example of an equally silly software patent. Besides, I would not call different sorts of patents "completely unrelated". All of them have trolls, have been granted for silly and trivial things, and the system is completely broken. It´s bizarre enough that there are judges and lawyers who apparently think that "business logic" and "algorithms", as well as "mathematics" and "logic", are different entities that can be distinguished from each other...


The majority of patents are for things that are essentially obvious and would have been replicated if not publicly released. If you put a bit of hardware or software out then people will reverse engineer it and know how it works pretty soon. If you don't put it out then it will be difficult to get any benefit from it.


False dilemma.

There are multiple alternatives.


Ah, but you’re not patenting the theorem!

Remember what happens when drug companies re-discover a useful molecule that turns out to have “prior art” as a molecule that people have been consuming in some every-day herb or some-such. They can’t patent that molecule (because they didn’t invent it), and there’s no profit motive to go through FDA compliance for a non-patented drug.

But, there’s nothing stopping them from finding the “theorem” behind the “algorithm”—figuring out what it is about the molecule’s structure that makes it have the effect it has—and then discovering another molecule in the same class (another “algorithm” constructively proving the same “theorem”), and then patenting that.

Same is true for actual algorithms: if PageRank is patented, I can just look at the theorem behind it—efficient eigenvalue derivation—and then come up with a different constructive proof of it. It’s easy once you know it’s possible. And, because there are so many known isomorphisms between algorithms (e.g. between algorithms on pointer machines vs. RAM word machines) there are often “obvious” transformations of the algorithm that aren’t considered the same algorithm from the patent office’s POV. (And, I mean, technically they aren’t; they might have a very slightly higher time-complexity, by a factor of the inverse Ackermann function or something. But these are things that don’t matter in practice, just like the random extra bits that the drug companies tack onto their molecules don’t matter in practice.)


See: Johnson & Johnson/Janssen Pharmaceutica esketamine patent. [0]

The FDA just approved the use of the drug, [1] which is basically a ketamine molecule cut in half (ketamine is a racemic molecule), [2] and J&J is selling it for HUNDREDS of dollars per treatment, while regular Ketalar brand ketamine is damn-near as cheap as saline.

[0] https://patents.justia.com/patent/20140093592

[1] https://www.npr.org/sections/health-shots/2019/03/05/7005099...

[2] Arketamine (R(-) - isomer) https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Ar... Esketamine (S(+) - isomer) https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Es...


Whether or not an invention is really covered by a current patent is not the issue; the issue is that patent holders can keep anyone who tries to exploit an invention in perpetual legal jeopardy, by continually filing patents on _related_ inventions.


I have helped patent my work for my company against bonuses and it's a source of personal shame even though most people I tell this seem to think it's very honorable.


It makes a bit more sense if, like the patent office, you view it through the lens of "subject matter directly reducible to an electronic circuit design". Algorithms that meet this criterion are, by necessity, patentable in every country that allows patenting of electronic circuit designs. Most theorems in mathematics are not like this.

(This is a deep rabbit hole. All mechanical patents have the same theoretical equivalence to computer algorithms, though less obvious. The lines that define patentable subject matter do not have a rigorous basis, it is an arbitrary convention.)

This is also why so-called business method patents (i.e. doing X, but on the Internet), which are often improperly conflated with algorithm patents under the rubric of "software patents", are generally not patentable.


Every patent and even every technology is basically an algorithm. And they are valuable because they are true (not sure how mathematical truth is different from any other type of truth).


agreed ! Also their is a lot of hard work and engineering in offering the solution as well... Just knowing the algorithm wont help.


I think I get what you're saying. It's like patenting the theory of gravity. You're just describing some intrinsic logical fact about this universe.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: