Hacker News new | ask | show | jobs
by dotancohen 2623 days ago
Of course. That is a derivative work.
2 comments

And if I compile some GNU code (for example written in C) to javascript with a compiler, then change some details here and there can I change the licence to MIT?

How derivative is defined? Manual compilation is ok, but automatic is not? But what if I beleive that humans are just fancy machines? ;)

It's somewhat interesting that someone might copyright the output of a compiler. Although in practice it's not terribly different from the source.

> How derivative is defined?

For the US, it's primarily defined in plain English in the USC. But subtle distinctions are made by court rulings/opinions.

This is actually why GCC has (or at least did at one point) an extra clause to the GPL to specifically allow its output to be used in non-GPL programs. Because the compiler output necessarily has to copy some bits from the compiler, it was the FSF's belief that programs compiled with it would become derived works and hence be forced to use the GPL. They didn't want that, so they added the extra clause.

You may think that's a strange interpretation, but before GCC many compilers took that exact same stance. You bought the compiler and you did not have a license to distribute the resultant binary. You had to pay an extra fee for the right to distribute your own compiled code. That pretty much stopped when Borland released a compiler with a mostly sane license. You can imagine why, though, that Cygnus made so much money doing contract work for GCC in the embedded space -- every other compiler required royalties for everything you shipped!

Interestingly enough, programs which generate output always seem to have a "special exception" in their license which disclaims any and all copyrights to the output of the program.

https://www.gnu.org/software/bison/manual/html_node/Conditio...

I am neither a lawyer nor experienced with anything serious, but accordingly to how copyright is often a relevant topic in this "everyone is creator" era I believe that to be derivative you need to change the purpose.

rewriting the parser to make a background image for a desktop could be derivative as being "artistic" is not anywhere near the intention of the original creation. So the picture could be MIT and the code the picture shows GPL.

In general how you use something is more relevant than how you produce something. A human translation with heavy restructuring of the code and improvements can be derivative (maybe) putting it inside a pipeline (be it a transpiler or a contractor) wouldn't.

Huh? Derived works can't be re-licensed arbitrarily. (But yes under the terms of the GPL3 you could release your derived work under GPL3).