1

Lets say there is a GPL library written in C++ for example a library that finds some value using some algorithm and there are two individuals A and B. A uses Emscripten on it to convert it into Javascript . B writes an assembly port of the program. Can A or B release their source under MIT licence or develop a closed source application with that code?

1 Answer 1

4

Person A definitely can only use that Javascript code under the GPL license. For copyright purposes, there is no difference if source code is mechanically translated to machine code (a.k.a. it is compiled), or if it is mechanically translated to another language.

For person B, it makes a difference if they translated the GPL source code into assembly code, or if they replicated the behaviour of the library without looking at the source code.

If they replicated the behaviour without looking at the GPL source code, then the version of person B is an independent work for copyright and they can use any license they want.

If they did inspect the GPL source code and wrote the assembly port based on that knowledge, then the assembly port is considered to be a derived work and, per the GPL, must be under the GPL license as well.

4
  • How does the owner determine wether the GPL software is inspected or not? Oct 27, 2020 at 17:17
  • 5
    That could be inferred from the structure of the code, careless statements by B or the fact certain bugs exist in both libraries. Oct 27, 2020 at 17:56
  • 4
    @compenthusiast The degree to which the author of a work has had exposure to another work is an evidentiary question to be decided by the court. Likely arguments to be made by the plaintiff might include "there is no way the defendant could have made such similar code without exposure to ours first" and the defense might say, "we have documentation of our rigorous clean-room approach to ensure authors of our software never saw the original".
    – apsillers
    Oct 27, 2020 at 17:57
  • Ok .This answer answers it. Oct 28, 2020 at 1:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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