Let's say I develop an algorithm, and I get a patent for that algorithm. Could I create a patent license that requires anyone implementing the algorithm to license their code under the GNU GPLv3?

As I understand it, if I implement the algorithm myself, then I could license that code under the GPL, but someone else could potentially re-implement the entire algorithm from scratch (for example, in a different programming language, but using the same core steps), and their implementation wouldn't necessarily have to be GPL-licensed. My goal would be to create something stronger, requiring any implementation to be free software.

I know people can get around patents sometimes by changing "just enough" that it's no longer covered by the patent (like in the case of OpenSimplex noise) but my understanding is that patents tend to be stronger than copyright when it comes to software and algorithms. Is my understanding correct?

And more importantly, is my goal even possible? I understand that the GPL has several provisions designed to weaken patents (and stop patent trolls); would these provisions make my goal impossible?

1 Answer
1

As I understand it, if I implement the algorithm myself, then I could license that code under the GPL, but someone else could potentially re-implement the entire algorithm from scratch (for example, in a different programming language, but using the same core steps), and their implementation wouldn't necessarily have to be GPL-licensed.

Basically, and IANAL/IANYL, no. If you, patent in hand, release an implementation under GPLv3 and someone releases a competing implementation, then by P or not P one of two things must be true.

Either the other implementation is a deriative work of your implementation, in which case the implementer has a licence to use your patent (by GPLv3 s11) but they must also release it under GPLv3 (by ss 4, 5b);

or it isn't a derivative of your implementation, in which case the implementer has no licence to your patent, and may be stopped in the usual way.

I know people can get around patents sometimes by changing "just enough" that it's no longer covered by the patent

Sailing close to the wind around patents isn't really, to my mind, within the scope of this site. But yes, if some third party issues code that doesn't infringe your patent (for whatever legally-valid reason), and isn't a deriative of your code, then there's not much you can do about it, whether the licence on it pleases you or not.

I didn’t think about the fact that if someone writes code that is infringing on the patent and is questionably derivative under copyright law, that this would incentivize them to argue that their work is derivative, so that they could use it under the terms of the GPL. I like that outcome, thanks!
– FinnSep 6 '19 at 11:56