I've found a paper describing a particular algorithm I'd like to use, and published with the paper is a GPL licensed source code for the algorithm. I am wondering if I can re-implement the algorithm from the paper (obviously without using any of the original code), distribute it closed source, and not be in violation of the original GPL license agreement.

As a corollary, what if I make some (minor) modifications to the algorithm along the way?

closed as off-topic by Andres F., GlenH7, user40980, Michael Kohne, Bart van Ingen Schenau Jan 16 '16 at 11:14

  • This question does not appear to be about software engineering within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    Um, isn't that pretty obvious? I like the ideas of the paper, would like to implement some/all of them, and don't want to be constrained by the GPL license if possible. I want to know to what extent someone else's GPL implementation restricts my own – dmagree Jan 8 '16 at 21:01
  • 1
    @DavidArno ha maybe I should have said "political aspect"? I'd like to respect the author's intent, so will try to stick to the spirit of GPL – dmagree Jan 8 '16 at 21:34
  • 1
    "Why would I help a freeloader with advice on how to bypass the ethical implications of taking something open and trying to make it closed?" This is comical. Usually people who care about ethics, want to take opportunities to tell others about ethics, so that they will also, you know, care about ethics. Also the wording seems to imply that, not only do you want free-software, but you also want freeloaders to feel bad, in particular. :) Maybe you meant "legal implications" rather than "ethical"? – Chris Beck Jan 9 '16 at 5:06
  • 1
    @AndresF., not everyone who uses the GPL understands it in the same way. For instance, the FSF decided that "tivoization" is an unfair use of free software and lobbied for terms against it in the GPL v3. And the linux kernel developers don't agree, and continue to distribute under the GPL v2 instead. If someone wants to take GPL v2 code and put it on a tivo is that ethical? I don't think you can say without more information. The point of laws and licenses is to help people figure out what they can do -- in a broad licensing question like this raising ethical concerns isn't appropriate IMO. – Chris Beck Jan 9 '16 at 22:08
  • 2
    I'm voting to close this question as off-topic because this is a question of what constitutes a derivative work and can only be properly answered by a lawyer. – user40980 Jan 10 '16 at 16:50

I am not a lawyer, and this is not legal advice:

In the US as regards to software there are generally two kinds of IP you need to worry about: Patents and Copyrights.

If an algorithm published in an academic paper is patented then you cannot use it -- the ideas and methods themselves are protected intellectual property. You would need to license it from the patent holder.

If it is only that the reference implementation is copyrighted, then if you reimplement the algorithm from scratch without using the original source code, it is then not a derivative work of the copyrighted material.

As I understand, a very safe way to do it is if you give the part of the paper describing the algorithm to your coworker, and she implements it, having never seen the reference implementation. But again, I am not a lawyer.

  • 1
    Also, I understand this sort of thing varies greatly from one jurisdiction to another. eg, in the US you're far more likely to run afoul of someone than overseas. Personally, I would contact the author of the paper first … – BRPocock Jan 8 '16 at 20:07
  • 1
    How can the OP reimplement the algorithm without looking at the original? They've already looked. You can't unring that bell. – Scant Roger Jan 9 '16 at 5:00
  • 2
    @ScantRoger, that isn't what I said. – Chris Beck Jan 9 '16 at 5:02
  • As a rule of thumb, if you find it necessary to start an answer with "I am not a lawyer" then you're safe in assuming that the question is off-topic for the site. – GlenH7 Jan 10 '16 at 16:29
  • It probably isn't necessary to start the answer like that -- I don't think very many people would confuse what I wrote for real legal advice. However it's always safer for me to write that whenever I write about "the law" in an online context like this. Is there any harm in it? Also if the question is off-topic shouldn't you argue that from the question rather than from one of the answers? – Chris Beck Jan 10 '16 at 16:58

The fact that the code is GPL licensed affects what you are allowed to do with that code. It does not affect what you are allowed to do with the paper, or what code you are allowed to write yourself.

Unless the paper itself came with some kind of license stating "you may not create closed-source implementations of this algorithm or modified versions thereof", you should be fine.

Of course, if by "reimplementing" you really meant "transcribing the GPL-licensed code token by token", then you'd be creating a derivative work and the GPL restrictions would be in full force. But I assume that's not what you meant.

And this does not exclude the possibility that the algorithm in the paper is patented or copyrighted. You'd definitely need to talk to a lawyer if that happens to be the case.

  • 1
    Since you mentioned the "moral aspect", the short version is that the philosophy espoused by the FSF (the creators of the GPL) is simply that all software should be "free". But ensuring that software remains free forever requires a "copyleft" license such as the GPL, or else someone can retroactively make it non-free by doing the sort of thing you intend to do. You evil, evil man. But in all seriousness, I suspect most programmers wouldn't mind at all. – Ixrec Jan 8 '16 at 21:26
  • 1
    I do mind. Taking something open and trying to find a loophole to make it closed... I definitely frown upon that :/ Whether it's the GPL or other Free Software license doesn't matter to me. The intent matters, and the intent in this case is wrong. – Andres F. Jan 9 '16 at 0:17

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