Software patents have never contributed anything to society. Software is materially antithetical to patents. You can only ever clearly observe the output of software, and in many cases it's either hard or impossible to investigate the actual method (i.e. the patentable part).
Regular patents work because they are easily** enforceable. If your competitor brings a rip-off of your machine on the market, you can buy one, take it apart, see the similarities with your own eyes, and have a case. If Meta rips off your method to apply an image filter, you better have 10 years of experience in reverse-engineering obfuscated code. Actually, don't even bother. The code runs on their servers and you will never have the opportunity to even investigate it.
The upside to all of this is that a fun, creative interpretation of this exists. Which is that if you really want software patents, obfuscation and DRM should be forbidden so that patent claims can be investigated.
**: Yeah I know that's no longer true in many cases.
> Software patents have never contributed anything to society.
this is very noticeable because the truly useful software algorithms don't get patented, they get protection via trade secrets instead (and enforce it via courts and various internal processes).
I say abolish software patents. Software copyright is good enough.
Especially recently we've seen the widespread acceptance of copyright and license laundering through large machine learning systems such as copilot and chatgpt, backed by enough microsoft laywers to prevent meaningful push back from the copyright owners. They'll output verbatim copies of what was previously copyrighted code.
If it is true that software copyright can be cleaned away in such a fashion, maybe patenting the algorithm itself actually is necessary to avoid big tech companies like microsoft from forcibly strip mining the ideas of independent creators.
These are not necessarily good examples, but most multimedia encoding is patented and widely used. Companies like Fraunhofer only exist to create these algorithms and make money licensing their patents.
I think this is because you have experience with software, so you see pretty much all software patents should have never been granted, but same goes for things like hardware.
I would partially blame the VC culture for this, when they state as a requirement for funding that product needs to be patented. So engineers try to patent whatever they can and as it seems these patents don't go through any scrutiny and are approved as they go.
> If Meta rips off your method to apply an image filter, you better have 10 years of experience in reverse-engineering obfuscated code. Actually, don't even bother. The code runs on their servers and you will never have the opportunity to even investigate it.
That's not quite correct. You won't get to look at Meta's source code, but you will be able to have people you designate look at it for you.
Here's what happens.
1. From what you can readily see of their product and from what they've said publicly about it (documentation, press releases, presentations at trade shows, etc) you suspect that they are using your patented thing.
2. You do some reverse engineering and/or experiments to get more evidence to support or refute that.
3. If you get enough evidence to convince a patent litigation firm that they could file an infringement lawsuit for you without running afoul of Rule 11(b)(3) of the Federal Rules of Civil Procedure [1] have your patent litigation firm file such a lawsuit.
4. Your attorneys ask Meta's attorneys to provide a copy of Meta's source code. Meta does so. Typically they do so by turning it over to their attorneys and their attorneys set up a place in their offices where it can be viewed.
5. Your attorneys can go to that place and view the code. You can also hire outside experts to go look at the code and write reports to be presented as evidence at the trial.
6. Your attorneys can ask Meta to provide someone knowledgeable about the code to be deposed, where they can ask your attorneys and/or outside experts have about it.
This will work both ways. Meta's attorneys and outside experts will get to see your source code too if it is relevant to their defense or counterclaims. For example they might ask for your source to your image filter using products that were released before you filed for your patent, in order to try to show that they also used your patented methods and you failed to file the patent early enough.
BTW, patent trials are usually open to the public. It can be quite interesting because a lot of internal details from both plaintiff's and defendant's products can come out. I once spectated at a patent suit where Microsoft was a defendant, concerning some technology they used in Windows.
Plaintiff was using information from Mark Russinovich's books and articles about Windows internals. Russinovich's books were basically the Bible for third parties that needed to know Windows internals. Microsoft had engineers who actually worked on those parts of Windows testify and they specifically described several errors in Russinovich's books.
This was long after I'd worked on anything that needed to use undocumented Windows internals, but back when I'd worked for a company that made Windows system utilities and was spending half my time dealing with undocumented Windows internals the kind of information at that trial would have been a goldmine.
I’ve always wondered. In cases like your Facebook example. What prevents Facebook from giving a different source code instead of the actual code? Like if they were using a patented code, they could in theory quickly write some new code and show that in court. Who’s going to know?
Software patents are working exactly right: if I think that my patent is infringed, I am going to the court, court checks for visual similarities and then subpoenas infringer's source code.
The binary executable is easily transformed into a 1:1 ratio assembly code. Assembly code is readable by humans, and the algorithm deducable. So the method is researchable to anyone wanting to investigate.
Having said that, I despise all patents, including software patents. The head start a company has should be enough to capitalise on RnD.
I can turn a simple A* implementation into a behemoth of self-modifying, virtualised, encrypted code that will suddenly turn into Dijkstra as soon as you try to trace its behaviour.
The time that assembly code was readable by humans is long past, and I can't afford to pay NSA-level crackers who can reverse-engineer the 60MB of executable code in the Facebook app because I have a hunch that they're violating the image processing patent I have.
Except when the binary executable lives on a server somewhere inaccessible, a locked-down device,
behind protection mechanisms like VMProtect which actively thwart debugging/dumping, etc. Software patents apply to much more than "vanilla" fat binaries.
It's pretty easy to predict what would happen in practice if this policy proposal were adopted.
An entire category of bullshit jobs would be created to write "source code" that met the regulatory requirements but had little connection to the actual code deployed in production. This code would largely be derived from the claims, and, like much patent language, be crafted to be as vague and general as possible. Most of this work could be automated by ChatGPT, as no insight is required. Another class of bullshit jobs would be created to interpret and analyze the code, as it's outside the skill set of lawyers and examiners.
Any code published as part of a patent would immediately be anti-open source, as people actually creating things would be strongly discouraged from even looking at it, as doing so would support "willful infringement." The average level of code quality would be such that nobody would want to, anyway.
There's lots that could be done to make the patent system more beneficial to society (including, in my personal opinion, dropping software patents entirely), but I don't think a code requirement would be particularly helpful.
A patent makes claims, patents should be shown to work, code is a proof of that. They are computational existence proofs. We should hold our systems to higher standards of rigor.
You are shooting something down for how it could possibly be subverted, rather than do that, how about we think of ways that it could be made less corruptible? Is this not a pro-fatalistic stance?
Not only should the patent require the code, the product should require the code to be held in escrow. And for safety critical systems, the formal checked models should be presented in a way the proves that the bits on the system were generated from the formally checked code.
Would it fix all problems? Hell no! Would it prevent some entities from innovating in the market, hell yes!
As it currently stands, you don't even have to have a working system. Corporations are effectively patenting problems, not solutions. Patents themselves are a worthless way of transferring knowledge, this is what needs to change.
I may be wrong, and overall I'm very sympathetic to changing the patent system to incentivize actually making things. That said, I think changes to policy must be interpreted in an adversarial context, assuming that people will game the system as much as possible. With this policy, patent filers will clearly be incentivized to give away as little of the store as possible. Also, determining whether the code really works, and really represents the system being protected, is just as difficult a problem (if not more so) than interpreting claims today.
Maybe. Or, maybe such CodeGPT would become subject to obvious "does it actually work?" tests. Joe Average in the jury box might feel pretty confident saying "a Patent for an apple-peeler ain't valid if the so-called peeler completely fails to peel apples". Similar for software that fails to run, or to do anything resembling the claims.
When I was at one of the FAANGs, the corporate legal people wanted to make a patent for a recommendation system I was the tech lead on. They called me into a room with two patent layers for a disclosure meeting. In general, I have an issue with software parents, but I definitely didn't believe our work was patentable since everything seemed like an obvious extension of standard practices to me (think agents reaponding to events).
I then proceeded to spend the next hour telling the lawyers that there is nothing novel in our system, that all of the connections and features would be obvious and intuitive to anyone familiar with the trade of software engineering, that all technologies in the system are common practices, and just in general refusing to let them reframe it in legalese to make it sound like something it wasn't. I could tell they were getting frustrated by the end, but it was one of the best hours I have ever spent. I'm proud I didn't let a megacorp patent standard software practices.
I check for it every few months. If they do publish it, I plan on filing a challenge with the PTO. It has now been long enough that I don't think it will be published.
So, put it another way, you, a person with an axe to grind, decided to be completely unhelpful, because of the axe you have to grind? Inventiveness is a legal concept in the patent world, not exactly coextensive with whatever you seem to think the concept means in your head.
It sounds like they called him in to give his opinion and he did that. I don't see how that is unhelpful. An employee's job is not to ensure that the employer gets its way no matter what.
A software patent without source code (or at least psuedo code) is effectively patenting "all possible implementions of this idea". That should be considered too broad.
That's what a patent is though. Protection for the idea, not the implementation.
You can disagree that software concepts can be patented (I tend towards this view), but you can't have a patent that only protects a particular implementation. That would be copyright.
> That's what a patent is though. Protection for the idea, not the implementation.
No, you can't patent "drug that alleviates headaches", you can only patent a specific formulation, and a competitor is still free to create any other formulation that achieves the same result.
Wouldn't I be able to patent the idea of landing a rocket using a reverse launch process and stabilization fins and jets, even if I'm not even capable of landing a stone? If the implementation doesn't matter than I just locked everyone else out of landing rockets for decades.
The idea is worth something but so is the implementation because ideas are generic and the more specific you make them, the more you actually define an implementation, in the physical world at least.
Law is about word-smithing, so apologies for this:
You patent an invention, not an idea. Section 112 says you have to identify the Best Mode of making your invention. Patents are also careful to say "in one embodiment, the invention..."
> you can't have a patent that only protects a particular implementation. That would be copyright.
Yes, you can. Claims are drafted to not be limiting, but it can happen.
“ That's what a patent is though. Protection for the idea, not the implementation.”
So in theory an evil corporation could patent popular design patterns? Can a company patent the decorator pattern?
In concept you cannot (enforce) patented sky castles.
But you may patent them.
A patent becomes worthless when it is invalidated after you try to enforce it. The enforcement proceedings are the real legal test of a patent. The mere granting of a patent doesn't prove validty. Contrary to what lay people usually expect.
The reasons for having this sort of system are mostly diplomatic, economic, and administrative, so far as a I understand.
A) The patent system is an international patchwork
B) For obvious reasons testing all inventions comprehensively is extremely time consuming. It would increase the cost to register patents.
C) It's far more efficient to let the market sort it out by invalidating patents on sky castles when someone tries to enforce them.
> For obvious reasons testing all inventions comprehensively is extremely time consuming
that's true, but the 112 section of the statute says you have to prove that you "have" the invention, with a Written Description and an Enabling specification. Examiners do make 112 rejections all the time. This merely implements the intentions of 112.
One of the more interesting documents that accompany some patents is the examiners opinion as to the novelty, inventiveness and applicability of the patent.
While the authors post seems to try to critique a US legal issue, the auto-generated ambiguous nonsense content is kind of disrespectful to readers.
Having gone though the Patent process several times, I have observed the following:
1. The company president was primarily focused on locking down the business IP anyway possible. This also bumped the valuation by around $300k each time.
2. People will clone low-hanging fruit, and simply ignore patent trolls in places Software Patents aren't valid. Note, going after users for dimes is a bad business model.
3. The author/programmer usually solves some key feature for a business use-case, and submits the draft to an IP legal firm. First-to-file patent systems essentially get flooded with business-intelligence cloners, and novelty can become rather illusive.
4. The lawyers and business owners try to strip any sensitive information, create the most generalized abstract interpretation of the IP, and convert English into obfuscated legalese. People want to capture a market, sue savvy cloners, and seize competitors inventory which _may_ violate IP.
5. The entire Patent is basically just describing the context of how the claims section is to be interpreted, and how the IP is related to other IP class areas. Note, generally this also means only the claims section itself at the end of the Patent is actually enforceable.
6. In a global economy, the cost to enforce IP is beyond the reach of most startup budgets. Thus, overly aggressive business owners tend to go bankrupt trying to imitate a large firms policies, and discover most funding channels will give a hard "No" to chasing Patent rights.
7. The best plans don't require secrecy, offer economic incentives encouraging competitor cooperation, and punish cloners in a tit-for-tat model.
8. While technically it was only a few thousand dollars to challenge pending Patents, as far as I can tell it is a very rare occurrence due to the volume of works.
Personally, I think once source-code is published it should fall under copyright , and invalidate current/future associated Patents. =)
I would also say No Source Code == No Copyright, we should require companies escrow their software source code so that when their software becomes abandonware, users can continue development of it.
This would also get closer to a right to repair software.
Add on that No Tooling == No Copyright. Source code is one thing, but particularly for large projects or ones ... creatively abusing compiler features depending on a specific version, you're straight fucked without the build environment used.
And that's not all... there is one elephant left in the room: code signing keys. Like, what is it worth when you have the source code and the build environment, but the computer running it is locked down hard by an actually capable TEE? For now, a lot of these can be bypassed by the arcane art of power glitching, but that won't be the case forever - and some console makers, like Microsoft or Sony prior to removing Linux from the PS3, took away the incentive many elite hackers had to make homebrew possible so it's a good question if there will ever be an Xbox Series X modchip.
Something not mentioned here is that software itself is rarely the subject of a patent. Instead, it is a "computer system running software". This, I think, is a trick to get around software itself not being patentable in some jurisdictions.
I really like this proposal but it lays bare the fact that the invention lies entirely within the software itself. When the patent industry has been pretending for years that the "invention" is a hardware thing that could, optionally, use software.
>Lawyers and politicians don’t want to solve a problem; they want to make a living from it. Lawyers want to add it to their practice areas, and politicians want to raise campaign funds from it. Solving it would defeat the purpose.
Ugh, this is so true. We (US) stopped trying to solve problems after we created one of the biggest problems with the war on drugs. That was the last time we tried to solve anything. Everything else has been the quote. A debate to raise funds or add "expertise" feather in the cap so they can charge $500/hr to discuss it.
For those outside the US. America went to war on people of color in the late 70s until 2014. It’s still the primary police handbook training guide for dealing with people of color. People of color is a racist way of saying Not White. We targeted the very social and economic policies we created for the poor and disenfranchised and then had the gall to be offended when they resorted to exactly what we created. This racism against black humans has been raging since 1776 in this country. With no signs of stopping. We would arrest people of color for drugs we put on the market and gave them ridiculous prison sentences where the white guy would walk with a fine, black people would get 10 years. Anyway, rant over, it’s fucked up.
Regular patents work because they are easily** enforceable. If your competitor brings a rip-off of your machine on the market, you can buy one, take it apart, see the similarities with your own eyes, and have a case. If Meta rips off your method to apply an image filter, you better have 10 years of experience in reverse-engineering obfuscated code. Actually, don't even bother. The code runs on their servers and you will never have the opportunity to even investigate it.
The upside to all of this is that a fun, creative interpretation of this exists. Which is that if you really want software patents, obfuscation and DRM should be forbidden so that patent claims can be investigated.
**: Yeah I know that's no longer true in many cases.
this is very noticeable because the truly useful software algorithms don't get patented, they get protection via trade secrets instead (and enforce it via courts and various internal processes).
I say abolish software patents. Software copyright is good enough.
To play the devil's advocate: Is it though?
Especially recently we've seen the widespread acceptance of copyright and license laundering through large machine learning systems such as copilot and chatgpt, backed by enough microsoft laywers to prevent meaningful push back from the copyright owners. They'll output verbatim copies of what was previously copyrighted code.
If it is true that software copyright can be cleaned away in such a fashion, maybe patenting the algorithm itself actually is necessary to avoid big tech companies like microsoft from forcibly strip mining the ideas of independent creators.
But what if we do the opposite - abolish copyright abd keep patents?
I think this is because you have experience with software, so you see pretty much all software patents should have never been granted, but same goes for things like hardware.
I would partially blame the VC culture for this, when they state as a requirement for funding that product needs to be patented. So engineers try to patent whatever they can and as it seems these patents don't go through any scrutiny and are approved as they go.
I think I fixed that for you. Patents have only caused Corporations to battle each other and bully normal people into compliance
That's not quite correct. You won't get to look at Meta's source code, but you will be able to have people you designate look at it for you.
Here's what happens.
1. From what you can readily see of their product and from what they've said publicly about it (documentation, press releases, presentations at trade shows, etc) you suspect that they are using your patented thing.
2. You do some reverse engineering and/or experiments to get more evidence to support or refute that.
3. If you get enough evidence to convince a patent litigation firm that they could file an infringement lawsuit for you without running afoul of Rule 11(b)(3) of the Federal Rules of Civil Procedure [1] have your patent litigation firm file such a lawsuit.
4. Your attorneys ask Meta's attorneys to provide a copy of Meta's source code. Meta does so. Typically they do so by turning it over to their attorneys and their attorneys set up a place in their offices where it can be viewed.
5. Your attorneys can go to that place and view the code. You can also hire outside experts to go look at the code and write reports to be presented as evidence at the trial.
6. Your attorneys can ask Meta to provide someone knowledgeable about the code to be deposed, where they can ask your attorneys and/or outside experts have about it.
This will work both ways. Meta's attorneys and outside experts will get to see your source code too if it is relevant to their defense or counterclaims. For example they might ask for your source to your image filter using products that were released before you filed for your patent, in order to try to show that they also used your patented methods and you failed to file the patent early enough.
BTW, patent trials are usually open to the public. It can be quite interesting because a lot of internal details from both plaintiff's and defendant's products can come out. I once spectated at a patent suit where Microsoft was a defendant, concerning some technology they used in Windows.
Plaintiff was using information from Mark Russinovich's books and articles about Windows internals. Russinovich's books were basically the Bible for third parties that needed to know Windows internals. Microsoft had engineers who actually worked on those parts of Windows testify and they specifically described several errors in Russinovich's books.
This was long after I'd worked on anything that needed to use undocumented Windows internals, but back when I'd worked for a company that made Windows system utilities and was spending half my time dealing with undocumented Windows internals the kind of information at that trial would have been a goldmine.
[1] https://www.law.cornell.edu/rules/frcp/rule_11
Having said that, I despise all patents, including software patents. The head start a company has should be enough to capitalise on RnD.
The time that assembly code was readable by humans is long past, and I can't afford to pay NSA-level crackers who can reverse-engineer the 60MB of executable code in the Facebook app because I have a hunch that they're violating the image processing patent I have.
An entire category of bullshit jobs would be created to write "source code" that met the regulatory requirements but had little connection to the actual code deployed in production. This code would largely be derived from the claims, and, like much patent language, be crafted to be as vague and general as possible. Most of this work could be automated by ChatGPT, as no insight is required. Another class of bullshit jobs would be created to interpret and analyze the code, as it's outside the skill set of lawyers and examiners.
Any code published as part of a patent would immediately be anti-open source, as people actually creating things would be strongly discouraged from even looking at it, as doing so would support "willful infringement." The average level of code quality would be such that nobody would want to, anyway.
There's lots that could be done to make the patent system more beneficial to society (including, in my personal opinion, dropping software patents entirely), but I don't think a code requirement would be particularly helpful.
A patent makes claims, patents should be shown to work, code is a proof of that. They are computational existence proofs. We should hold our systems to higher standards of rigor.
You are shooting something down for how it could possibly be subverted, rather than do that, how about we think of ways that it could be made less corruptible? Is this not a pro-fatalistic stance?
Not only should the patent require the code, the product should require the code to be held in escrow. And for safety critical systems, the formal checked models should be presented in a way the proves that the bits on the system were generated from the formally checked code.
Would it fix all problems? Hell no! Would it prevent some entities from innovating in the market, hell yes!
As it currently stands, you don't even have to have a working system. Corporations are effectively patenting problems, not solutions. Patents themselves are a worthless way of transferring knowledge, this is what needs to change.
I then proceeded to spend the next hour telling the lawyers that there is nothing novel in our system, that all of the connections and features would be obvious and intuitive to anyone familiar with the trade of software engineering, that all technologies in the system are common practices, and just in general refusing to let them reframe it in legalese to make it sound like something it wasn't. I could tell they were getting frustrated by the end, but it was one of the best hours I have ever spent. I'm proud I didn't let a megacorp patent standard software practices.
[1] https://m.youtube.com/watch?v=j_1lIFRdnhA
[2] https://m.youtube.com/watch?v=O95fnszzI6I
You can disagree that software concepts can be patented (I tend towards this view), but you can't have a patent that only protects a particular implementation. That would be copyright.
Is it, though? Like the lightbulb patent was for the specific way of making a lightbulb, not on "something that makes light from electricity".
No, you can't patent "drug that alleviates headaches", you can only patent a specific formulation, and a competitor is still free to create any other formulation that achieves the same result.
No, that's not true. A patent is on an invention, not an idea.
The idea is worth something but so is the implementation because ideas are generic and the more specific you make them, the more you actually define an implementation, in the physical world at least.
You patent an invention, not an idea. Section 112 says you have to identify the Best Mode of making your invention. Patents are also careful to say "in one embodiment, the invention..."
> you can't have a patent that only protects a particular implementation. That would be copyright.
Yes, you can. Claims are drafted to not be limiting, but it can happen.
A patent becomes worthless when it is invalidated after you try to enforce it. The enforcement proceedings are the real legal test of a patent. The mere granting of a patent doesn't prove validty. Contrary to what lay people usually expect.
The reasons for having this sort of system are mostly diplomatic, economic, and administrative, so far as a I understand.
A) The patent system is an international patchwork B) For obvious reasons testing all inventions comprehensively is extremely time consuming. It would increase the cost to register patents. C) It's far more efficient to let the market sort it out by invalidating patents on sky castles when someone tries to enforce them.
that's true, but the 112 section of the statute says you have to prove that you "have" the invention, with a Written Description and an Enabling specification. Examiners do make 112 rejections all the time. This merely implements the intentions of 112.
Having gone though the Patent process several times, I have observed the following:
1. The company president was primarily focused on locking down the business IP anyway possible. This also bumped the valuation by around $300k each time.
2. People will clone low-hanging fruit, and simply ignore patent trolls in places Software Patents aren't valid. Note, going after users for dimes is a bad business model.
3. The author/programmer usually solves some key feature for a business use-case, and submits the draft to an IP legal firm. First-to-file patent systems essentially get flooded with business-intelligence cloners, and novelty can become rather illusive.
4. The lawyers and business owners try to strip any sensitive information, create the most generalized abstract interpretation of the IP, and convert English into obfuscated legalese. People want to capture a market, sue savvy cloners, and seize competitors inventory which _may_ violate IP.
5. The entire Patent is basically just describing the context of how the claims section is to be interpreted, and how the IP is related to other IP class areas. Note, generally this also means only the claims section itself at the end of the Patent is actually enforceable.
6. In a global economy, the cost to enforce IP is beyond the reach of most startup budgets. Thus, overly aggressive business owners tend to go bankrupt trying to imitate a large firms policies, and discover most funding channels will give a hard "No" to chasing Patent rights.
7. The best plans don't require secrecy, offer economic incentives encouraging competitor cooperation, and punish cloners in a tit-for-tat model.
8. While technically it was only a few thousand dollars to challenge pending Patents, as far as I can tell it is a very rare occurrence due to the volume of works.
Personally, I think once source-code is published it should fall under copyright , and invalidate current/future associated Patents. =)
What do you mean with this?
Some people think anything humorous is disrespectful.
This would also get closer to a right to repair software.
And that's not all... there is one elephant left in the room: code signing keys. Like, what is it worth when you have the source code and the build environment, but the computer running it is locked down hard by an actually capable TEE? For now, a lot of these can be bypassed by the arcane art of power glitching, but that won't be the case forever - and some console makers, like Microsoft or Sony prior to removing Linux from the PS3, took away the incentive many elite hackers had to make homebrew possible so it's a good question if there will ever be an Xbox Series X modchip.
https://sfconservancy.org/blog/2021/jul/23/tivoization-and-t...https://sfconservancy.org/blog/2021/mar/25/install-gplv2/
I really like this proposal but it lays bare the fact that the invention lies entirely within the software itself. When the patent industry has been pretending for years that the "invention" is a hardware thing that could, optionally, use software.
The Facebook patent whose diagram I showed was all filed after the Alice decision that was supposed to clear out bad software patents.
Ugh, this is so true. We (US) stopped trying to solve problems after we created one of the biggest problems with the war on drugs. That was the last time we tried to solve anything. Everything else has been the quote. A debate to raise funds or add "expertise" feather in the cap so they can charge $500/hr to discuss it.
EDIT: Down voted to suppress the truth.