top | item 35596819

No Source Code == No Patent

329 points| AlbertCory | 2 years ago |albertcory50.substack.com

181 comments

order
[+] detuur|2 years ago|reply
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.

[+] chii|2 years ago|reply
> 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.

[+] varispeed|2 years ago|reply
Regular patents also have really low bar.

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.

[+] beached_whale|2 years ago|reply
I think RSA was a good software patent, or even lzw. Both had significant impacts and where novel
[+] mughinn|2 years ago|reply
>Patents have never contributed anything to society.

I think I fixed that for you. Patents have only caused Corporations to battle each other and bully normal people into compliance

[+] tzs|2 years ago|reply
> 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.

[1] https://www.law.cornell.edu/rules/frcp/rule_11

[+] SamReidHughes|2 years ago|reply
Sure they contributed. They incited the development of better media compression formats.
[+] SergeAx|2 years ago|reply
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.
[+] smallstepforman|2 years ago|reply
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.

[+] raphlinus|2 years ago|reply
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.

[+] nerpderp82|2 years ago|reply
You are wrong on this.

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.

[+] bell-cot|2 years ago|reply
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.
[+] frob|2 years ago|reply
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.

[+] judge2020|2 years ago|reply
Did they lead with "we award $x for each patent"?
[+] AlbertCory|2 years ago|reply
This is about "obviousness" (103). That's next week's post.
[+] freejazz|2 years ago|reply
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.
[+] onion2k|2 years ago|reply
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.
[+] MattPalmer1086|2 years ago|reply
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.

[+] BartjeD|2 years ago|reply
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.

[+] Joel_Mckay|2 years ago|reply
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. =)

[+] pabs3|2 years ago|reply
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.

[+] mschuster91|2 years ago|reply
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.

[+] freejazz|2 years ago|reply
That's already the case with copyright, which is distinct from patent.
[+] xipix|2 years ago|reply
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.

[+] gabereiser|2 years ago|reply
>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.

[+] gabereiser|2 years ago|reply
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.

EDIT: Down voted to suppress the truth.

[+] BartjeD|2 years ago|reply
I enjoyed reading it, but I have a few comments from a (non US) legal perspective. I also shared these in the substack. I put them here for discussion.

A) One import aspect not hightlighted about the patent system is that it's intended to only verify the authenticity of a patent (substantially) if a conflict arises when the holder tries to enforce it. The checks to register a patent are comparatively minimal and formal.

B) If companies file an ARP sample dated to the time they filed the patent they have already proven that they 'built' the software idea which the patent covers. The point of the patent is then to describe the application is sufficient detail that it may be enforced.

If it is challenged the patent holder will have to prove his ARP meets the requirements of the patent. If it's too basic or the patent is too broad, the patent may well be invalidated.

C) I am curious why there is so much emphasis on CRP patents. Are most software patents are CRP patents?

[+] nullc|2 years ago|reply
Patent applications I've been party to have included source code (maybe all of them? don't recall). I think it should be required. I'm not confident that it would actually solve a lot, but it would help.

We mentioned source code in a position paper on patent policy I helped write a number of years ago, https://www.ftc.gov/sites/default/files/documents/public_com...

--- For software, such disclosures are particularly poor, as the October 2003 FTC report on The Proper Balance of Competition and Patent Law Policy [7] notes: “Several panelists discounted the value of patent disclosures, because the disclosure of a software product’s underlying source code is not required.”

[7] http://www.ftc.gov/os/2003/10/innovationrpt.pdf ---

The best counterargument I can make is that applicants would provide obfuscated or fake source code, just like the many other ways they cheat the application process.

Still better than not requiring it. I liked the point that most counterarguments are effectively arguments that the patent absent the source doesn't constitute disclosure.

> Believe it or not, many of the examiners in software have Computer Science backgrounds and are perfectly capable of this.

I assume it's still the case that you need an appropriately shaped engineering degree, which does exclude many CS people.

But absolutely it wouldn't be to surprising to see an examiner try to run the code. Even if they're not CS people they're technical and smart and would figure it out quick enough.

[+] hnbad|2 years ago|reply
A good bunch of comments here tapping into the old fallacy of "intellectual property is {good,bad} except in these other domains I don't understand the problems of and my work isn't directly affected by".

I've yet to see a case against software patents that doesn't also apply to all other modern patents rather than being compared to some easily comprehensible mechanical contraptions from the 1920s.

[+] Kim_Bruning|2 years ago|reply
I once talked with someone who was writing a book about (among other things) how patents delayed development of aviation in the USA so much that they entered WW I without any aircraft of their own. (Despite the fact that the airplane was <ostensibly> invented in Ohio).

So, your view might well be correct.

[+] AlbertCory|2 years ago|reply
Read some drug patents. They contain chemical formulas that a Third World company could easily implement, without the legal protection of the patent.
[+] AlbertCory|2 years ago|reply
HN'ers: Thanks! What a difference a title makes.

Last week's article was more of an anti-software-patent screed, and ended with a vague statement about copyright. I got some feedback and realized the copyright part looked thrown in (which it was), and I took it out.

That doesn't mean that copyright isn't well worth discussing, but I haven't spent as much time on that part of the law. This week's article is more focused on a specific issue, which would make a huge difference in the patent landscape.

AMA.

[+] dig1|2 years ago|reply
Consider this: if math could be patented, IMHO we'd still be in the stone age. Maybe patents made sense two hundred years ago, but these days, they are mostly used as a tool for fighting between big corps and scaring the hell out of small players.

On the other hand, if solo inventors do not know how to monetize their invention, they should give/sell it to someone who will know, not to milk the idea it for decades.

[+] pclmulqdq|2 years ago|reply
> On the other hand, if solo inventors do not know how to monetize their invention, they should give/sell it to someone who will know, not to milk the idea it for decades.

That's partly what patents are for. So a small inventor can sell a technology without getting reverse-engineered in the sales process. If they do get reverse-engineered, then there is a whole new set of patent customers who will buy the patents in order to sue over them.

[+] tptacek|2 years ago|reply
A source code requirement would not meaningfully impede software patenting. The teeth of a patent are its claims, not its enablement. The premise of this post seems to be that a patenting entity would be required to disclose its actual commercial source code, but of course, were source code required, even given the best mode requirement, it would still be horseshit source code.
[+] dctoedt|2 years ago|reply
> even given the best mode requirement

The best-mode requirement was pretty much neutered as part of the America Invents Act, because:

1. USPTO patent examiners normally don't inquire about best mode unless there's a pretty-obvious failure; and

2. in litigation about an issued patent, "failure to disclose the best mode shall not be a basis on which any claim of a patent may be canceled or held invalid or otherwise unenforceable ...." (35 U.S.C. § 282(b)(3)(A), at https://www.uspto.gov/web/offices/pac/mpep/mpep-9015-appx-l....)

[+] denton-scratch|2 years ago|reply
I think the first software patents were for things like UI elements - the Lotus 1-2-3 design, or one-click ordering. I don't see any point in releasing code for something like that; the code is competely orthogonal to the design. You don't even need source to prove you are in posession of the invention; a working instantiation would seem quite sufficient.

Code only becomes relevant if the "invention" amounts to an algorithm. But algorithms aren't eligible for patents are they? Well, they aren't here. So ironically, if you need to provide code to support your patent application, then you've proved you aren't eligible for a patent.

[+] kloch|2 years ago|reply
Working (!) source code should absolutely be required BUT there should also be a requirement that it not be unnecessarily complicated or obfuscated. Otherwise malicious compliance would be common.
[+] vivegi|2 years ago|reply
Not every jurisdiction allows computer programs or algorithms to be patented.

Having said that, a jurisdiction such as the US that allows software to be patented, already doesn't require source code as part of the patent application/regsitration/grant process.

Good luck trying to invalidate every active software patent existing as on date with this clause. Ain't gonna happen!

[+] parentheses|2 years ago|reply
Thinking purely using a non legal mind trying to grasp legal concepts:

If source code is akin to a machine whose inner workings can be patented, then data is akin to a physical object. A physical object could be a machine or it could be a creation made by a machine or both. Data is similar - it can be made by software or it could be software or both.

Is this the right way to think about how the legal system views software and data?

PS I’m in the US but interested to hear how this may vary from one country to another.

[+] hghid|2 years ago|reply
Nice idea, but at some point GPT + "generate code to implement this patent", may develop plausible enough code to satisfy most Patent Examiners. I don't see this fixing the issue in the longer term - maybe a "use it or lost it" rule + much shorter enforcement period for software patents is what is needed?