5

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.

  • Can you make your program perform its function without making use of the patented technique?? E.g. FreeType has a build-configuration option to let user decide if he wants to enable a "hinting function" that is suspected of being patent-encumbered. If you disable it, the function is not included in the build, and a fallback function is used. If you can give the user a choice it seems like the best way. – Brandin May 11 '15 at 22:32
  • @Brandin, Theoretically yes although that would somewhat defeat the purpose. Part of the edge our software has is that it is closer to what is done clinically than anything else available to researchers, and since we'd be publishing it in a way that we'd describe in detail what's going on, it'd be tough to hide features. The more that I think about it, the more I'm thinking that there's no WAY we can release this without their explicit permission. I think we may just be kinda boned! haha. – John H May 11 '15 at 22:46
  • As I understood (at least in the US), software algorithms cannot be patented. Maybe also see this. – ziggystar May 12 '15 at 11:17
  • There's a flip side that you may not have considered. It is POSSIBLE that the paper published ten years ago constitutes prior art which would invalidate their patent. If someone else wrote that paper, whatever it disclosed may not have been theirs to patent. You REALLY need to consult a patent attorney on this one. – John R. Strohm May 12 '15 at 14:33
  • 1
    I'm voting to close this question as off-topic because it's asking for legal advice. – Ixrec Jan 6 '16 at 14:12
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.

  • Hi Robert, Thanks! It's the "if public dissemination of the code hinders their ability to profit" part that's key, and we the research group can't know that despite the fact that the answer is most certainly "no." Thanks for the thorough answer. Gotta go have a conversation with my advisor... ;-) – John H May 11 '15 at 22:51
  • 3
    The whole purpose of a patent is the public dissemination of their invention. A patent can never be secret. Exactly the opposite, everybody is supposed to be able to learn about it. – gnasher729 May 12 '15 at 21:43
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.

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.

  • "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." I definitely understand these intricacies of the GPL. Read my question, paragraph 6 more carefully. :-) This aspect of the GPL is partly why I came to stack overflow for opinions/knowledge since posting our code could potentially hinder their ability to make money. Not that I really believe everyone's going to use my code... haha. – John H May 12 '15 at 19:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.