Hacker News new | past | comments | ask | show | jobs | submit login

Saying “software is math” is akin to saying “books are just letters”; the building blocks of software is not what people want to protect, it’s the idea and the effort to invent.

Whether software should be patentable or not is obviously open for discussion, but saying it’s just math isn’t really enough of an argument.




The best of the mainstream arguments against software patents has always been: What does Intellectual Property and Copyright not cover that patents do when it comes to software?

I only have a few friends I trust on such a topic, and my understanding is between IP and Copyright laws from them (ones a public policy researcher, the other a lawyer), it would be more than sufficient for protecting companies work and patents were lobbied only because their enforcement is more heavy handed, IE, it can stifle competition under the guise of "patent infringement"


> What does Intellectual Property and Copyright not cover that patents do when it comes to software?

Copyright cannot and does not prevent someone from clean-room engineering a replacement for your software. Patents can do that. (Whether or not they should is a different question, but that's not what you asked).

FWIW, patents are one of the forms of intellectual property.


Presumably clean room implementation takes the same amount of effort as production of specification, so it doesn't save effort of invention.


Oh, no, that's not true at all. An invention might not even be possible, let alone having a clear and (literally, provably) correct specification of inputs and outputs. Just seeing that it exists, to say nothing of getting the correct proportion of inputs and outputs, could shave a decade off your invention cycle.

Take, for example, the nuclear bomb. Just knowing that it could be done put you ten steps ahead. What if cold fusion or a warp drive were known to be possible because you could see it (even if from a great distance with little detail)? Airplane manufacturers leapt ahead (literally) after the Wright Brothers.

A tremendous amount of effort for worthy inventions is often involved simply in proving that it can be done. Once you know it can be done, you don't have to prove it anymore, and also large companies will throw buckets of money at a clone of something that's proven to work.

A patent (sometimes) prevents that -- at least, when everything is working as it should be. (In this case, clearly not!)


Possibility of data compression was known since 1977, video codecs exist since 1984.


Shannon, C. E. (1948).

A Mathematical Theory of Communication.

Bell System Technical Journal, 27(3), 379–423.

doi:10.1002/j.1538-7305.1948.tb01338.x

https://sci-hub.ru/10.1002/j.1538-7305.1948.tb01338.x

https://en.wikipedia.org/wiki/Shannon%27s_source_coding_theo...

https://faculty.uml.edu/jweitzen/16.548/classnotes/Theory%20...


>FWIW, patents are one of the forms of intellectual property.

To keep the discussion well focused, I didn't want to get into the nuance of "patents are IP law too" since in broader discussions, IP and patents are usually discussed separately, even though yes, they exist under the same legal umbrella (Intellectual Property).

> Copyright cannot and does not prevent someone from clean-room engineering a replacement for your software. Patents can do that. (Whether or not they should is a different question, but that's not what you asked).

That's a fair point, only patents give an entity the legal "teeth" to do this, though there is room for argument that a clean room engineering replacement would then show novelty and non obvious aspect of a patent to be invalid, and could be grounds for patent invalidation

[0]: Arguably, the fact that courts are sorting this out and not specialized experts at the USPTO is one of the main drivers for why our patent system is broken. Federal judges are not required to be technical experts to oversee a patent case. In addition, this allows the USPTO to liberally grant patents as they pass the validity concerns off to the courtroom


Copyright can do that, in exactly the same way that patents can. It just happens not to as currently configured.

You might observe that a clean-room replacement is in and of itself evidence that a patent covering it was obvious and therefore not validly granted, which would tend to imply that patents cannot prevent this.


The application of patents and copyrights to software are identical to how they are applied in chemistry and other physical engineering disciplines -- I've worked with both. A patent covers the physical algorithm, a copyright covers the design of an implementation of the algorithm. In chemical engineering, these are licensed separately, but the patent is more important and the copyright is worth little in practice.

The algorithm is the expensive step, design of a novel implementation (a copyright) is purely mechanical and any engineer can produce this part. If there was no patent, everyone would just pay an engineer to produce a new implementation of the chemistry algorithm. This would put the inventor of the chemistry at a huge disadvantage, since the costs of producing a new copyright is the same for everyone but only the inventor would have to amortize the cost of the invention. It would be more economical to never license the copyright from the inventor in many cases.

Regardless of the mechanism, the question ultimately comes down to who is going to pay for the cost of R&D. Copyright does not answer this question either in theory or in practice.

The alternative to patents is trade secrets, which have their own issues. In areas of software that use trade secrets almost exclusively, the state-of-the-art in software is often decades ahead of academic literature and open source. The cloud has been a huge boon for software trade secrets in that it makes reverse engineering difficult. Trade secrets makes it difficult for outside people to advance the state-of-the-art because the know-how is not public and creates negative externalities in terms of employment contracts.

To address another notion, virtually no R&D is done in open source. This is an empirical observation made by many. The incentives for doing R&D in open source are very poor. There are already large gaps in technology between what is available in open source and what exists in closed source software. Again, it all comes down to who is going to pay the significant costs of R&D.


Your wording is a bit confusing I think. Algorithms are not physical as far as I'm aware. Since (pure) algorithms and formulas are different ways to express mathematics, my impression was also that they were not patentable as such. Maybe you meant something slightly different?

Also, do you have sources for the statement "virtually no R&D is done in open source"?


Algorithms are not physical either in software or chemistry. Patents in chemical engineering are essentially a set of differential equations that can be applied to a real system, no different than software algorithms. If you replace “molecules” with “bits”, it is identical to software. Patents in chemistry have no connection to specific physical machinery, they are abstract concepts. The reason software algorithms are patentable everywhere is that they can be manifested as concrete logic circuits and electronic circuits are patentable.

I have no source for the lack of R&D in open source. It is a widely held view even within parts of open source, often commented on, and generally not considered controversial. As an example I am personally familiar with, database technology is virtually all developed privately and is far ahead of what is available in open source. Open source tends to copy whatever bits leak out, is decades behind the state-of-the-art, and the gap has been getting worse over time.

Software that requires man-years of extremely specialized expertise to produce tends to be a poor fit for open source. The people with these skills are well-paid and in high demand, often with contractual clauses that do not allow them to work on open source. They have families and other interests. There are few incentives to spend years of their lives building this software for free.

If this kind of software is to become open source, it will require incentives that are not a pure loss for those that know how to build it. This is the current situation. Someone has to pay for it.


So, algorithms are not automatically (supposed to be) patentable like you suggest, quite the opposite. Although on both sides of the Atlantic people have been bending the rules one way or the other for quite some time.

US: https://en.wikipedia.org/wiki/Alice_Corp._v._CLS_Bank_Intern...

EU: https://en.wikipedia.org/wiki/Software_patents_under_the_Eur...

Nevertheless, Software Patents do not appear to be suitable for purpose.

> "[open source, and thus public information!] is decades behind the state of the art"

It would appear that software patents are not actually actually incentivizing the disclosure of workable methods-of-the-art to society. In fact, I don't hear of people using software patent documents to make something, like mechanical people sometimes do. I would love to be shown to be wrong on this. AFAIK, a practitioner of the art cannot take a software patent and trivially implement it.

Unlike a patent, a practitioner of the art can take a unit of FLOSS code and implement and/or improve it. So, based on your view of the world, open source seems to be taking the niche that software patents should have been creating.

On the one hand, fortunately the situation isn't quite as horrible as you suggest, and there are in fact innovative FLOSS projects. In part because some companies are incentivized to release their work as FLOSS to begin with, or work with a central FLOSS pool. On the other hand, this is all voluntary. There are often good incentives to defect from many different voluntary IP arrangements, even those that do include use of patents (see the case of H.265 ).

I think -with regards to software- that we are going to need a very different way of approaching IP. The current patent system is quite clearly useless at getting people to actually disclose their secrets, so we'll need a different method.


To be clear, I am entirely in the camp of algorithm patents being largely ineffective in software. I am not advocating for them, just recognizing the reality today.

In my view, the default outcome will be trade secrets, and it is already the case in many software areas. This has limits in practice as software trade secrets do have a tendency to leak out. I know a few clever database algorithms that are almost certainly trade secrets somewhere (origin is unclear), passed down but not in any public literature. On the other hand, I am aware of major (qualitative) tech advancements in e.g. graph algorithms that have not leaked after 15 years.

I think we need to be clear about the objective with IP law.


> The best of the mainstream arguments against software patents has always been: What does Intellectual Property and Copyright not cover that patents do when it comes to software?

Instinctively, that’s where I think it should be, agreed.


Why not patent actual math then? For example, math that is used in machine learning: linear algebra, quadratic error etc.


Presumably there’s plenty of prior art, maths has been around for quite a while now ;)




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

Search: