6

TL;DR: Can you publicly release your own implementation of a patented algorithm as a free research tool for others, under the GPL, when you do not hold the patent (but will happily give clear and thorough attribution to the owners of the patent)? see below for clarification.

First off, apologies if this question has already been answered. After ~30 minutes of googling and stack-exchanging, I haven't found anything that quite answers what I'm facing.

I work in an academic group and part of our work has been implementing a CT reconstruction algorithm similar to what is done clinically by a major manufacturer. This manufacturer has a patent that definitely covers what we have implemented. (I did the implementation from a paper published almost 10 years earlier, only to find that they had also patented the algorithm a little over a year ago. Damn.)

They have a patent on the method of reconstruction and several of the equations utilized, but no source code or anything of the sort. The code implementation is 100% unique to our group. We're talking patents, not copyright.

We are planning to write a "technical note" about our implementation (gpu-based, more detail on how we implemented the published algorithms (i.e. much more detail than what's patented), etc. all stuff which is not described in the patent) for publication in a major journal ** AND ** this would include releasing our source code. I would like to release it under GPLv2.0 to provide folks with a research tool.

The GPL would prevent us and anyone down the road from using our code in proprietary software, and if anyone were to use it to make money, they would have to pay rights to the patent owner (and release any code derived from ours). I would like to somehow make clear that we are not claiming any rights to the algorithm, and the only the implementation would be covered by the GPL, however I recognize this distinction may not be possible under the current US legal setup (blegh).

Even if we could somehow make that distinction clear when/if we release, are we violating any of their rights with the patent? I'm thinking they would have to somehow show that our release damaged their business covered by the patent.

Any thoughts from more experienced folks are much appreciated! I think this may be kind of a gray area (or not! I'm not a lawyer! haha).

We do NOT wish to infringe upon the patent and don't pretend to have any claim to. We have a good relationship with the vendor, so we'll most likely end up figuring it out with them, but if they said no, I was curious if it's just because of their feels or if thay have a legitimate claim against our group.

John H
  • 79

3 Answers3

10

The short answer

In order to license something to others, you have to hold the rights to it. So your ability to license your code covered by the patent may depend on what you can work out with the patent holder.

The long answer

There are a number of ways this can go. You can get a release from the patent holder. You can release your code and hope the patent holder doesn't care; they might not. You can come up with an algorithm that is unencumbered by the patent. You can pay a negotiated patent royalty.

Whether anyone makes money from the GPL'd code may not matter, if public dissemination of the code hinders their ability to profit from the invention. The choice of license may not matter either; it's still a patent issue whether the source code is "copyleft" or not (though your vendor might have a preference as to which license you actually use).

The actual answer

This is one of those times where it might be useful to consult an attorney that specializes in patent and licensing law. They can not only advise you how far you can go with your source code without invoking the patent, but also how an agreement can be correctly crafted between you and the vendor.

Robert Harvey
  • 200,592
2

Code doesn't infringe on patents. Code running on a computer can infringe on patents. There was a major (billion dollar) case where Microsoft wa accused of patent infringement, and it turned out that an infringing device was created at the moment when the software was installed on a computer, and not earlier. For example not when a million CDs or DVDs with the software were pressed. And there are open source implementations of mp3 encoders and decoders, for example. Which the user has to install himself, which is fine because the mp3 patent owners only want money if you install many thousands of copies.

You won't be able to use GPL v.3 because that requires that you give every user a license to use the patents, which you obviously can't. You should be fine with GPL v.2.

All that covers whether you can write the software and give it to others. It doesn't cover whether these other people can use it. If they install the software on a computer and run it, that may be infringing on the patent and require a patent license.

gnasher729
  • 49,096
0

You need to speak to a lawyer before proceeding any further with this.

Implementing the methods covered by this patent will constitute use of the patent, and if permission has not been given by the vendor for the exact use case proposed, then you are infringing on their rights, and are opening yourself up to legal action if they are not happy with what you are doing.

The license in which you release the software is irrelevant, you are using their patent, and therefore need their permission to do so. As part of granting this permission, they will also specify under what terms you may release the software. You will need to ensure they grant explicit permission for it to be released as GPL.

You are also wrong in assuming that because it is released as GPL that people cannot make money from the code. You can still use the code in a commercial application and charge a fee for it, you just need to also release the code for your application. But that's another discussion.

So in short, you need to speak to the vendor and get their explicit permission before proceeding.

Gavin Coates
  • 1,054