News for hackers. Stuff that matters.
Re:'Windows 10 destroyed our data' Microsoft taken to US court by derekp7 on Saturday March 25, 2017 @03:01PM (#13957044)
If I write a program, that launches (the GNU version of) /usr/bin/ls and uses its output, did I just create a derivative work of "ls"?

What if I take the source code for "ls", turn it into a library, so that I could do the same thing but more directly -- the library is obviously a derivative work, but would my program that calls it also be a derivative? (note, in this case the hypothetical library would be GPL, not LGPL).

And, if I want to link to a GPL (not LGPL) library, if I write a wrapper for it that turns it into a stand-alone executable (sort of like how you can call openssl functions, or you can run the openssl executable passing command line arguments), does one form of calling create a derivative and the other form not?

Re:'Windows 10 destroyed our data' Microsoft taken to US court by pdkl95 on Saturday March 25, 2017 @09:16PM (#13958452)
> did I just create a derivative work of "ls"?

No, output of a program isn't the program itself, so it doesn't fall under copyright[1]. Why would you expect that it would be a derivative work? It should be obvious that e.g. when gcc outputs a compiled program it doesn't automatically become tied to the GPL.

The only exception - which is mentioned[2] in the GPL - is if the output of a GPL licensed program is part of the licensed program. (quines, other rare utilities)

    2. Basic Permissions.

    [...] This License explicitly affirms your unlimited permission
    to run the unmodified Program. The output from running
    a covered work is covered by this License only if the output,
    given its content, constitutes a covered work. [...]
> would my program that calls [a library derived from GPL licensed program] also be a derivative?

Probably[3], but see the FAQ[4] for answers to common situations and a real lawyer for actual legal advice.

> does one form of calling create a derivative and the other form not?

Correct. They are different. The intent is that the GPL licensed code is still open. Users that receive copies of the new stand-alone executable can exercise their right to examine and modify that code. They can easily replace it with a version they have modified without touching your other programs that merely use the output.

[1] https://www.gnu.org/licenses/gpl-faq.html#GPLOutput

[2] https://www.gnu.org/licenses/gpl-3.0.en.html

[3] https://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL

[4] https://www.gnu.org/licenses/gpl-faq.html

Re:'Windows 10 destroyed our data' Microsoft taken to US court by derekp7 on Sunday March 26, 2017 @12:08PM (#13961426)
I wasn't expecting the output of 'ls' to be covered, however by making my program dependant on calling the 'ls' program, it could be that we now have a combined work of the two. Arguably, this is no different than calling a hypothetical "lib-ls" function, but if "lib-ls" is GPL (not LGPL), then that is usually considered a combined work.

My point, however, wasn't these specific scenarios, I was using them as examples as examples in response to the parent's comment inferring that you know exactly what it means. "Consult a lawyer" kind of just reinforces the point.

Of course, I do agree that most community licenses such as the GPL are infinitely more readable than most proprietary software licenses.

Re:'Windows 10 destroyed our data' Microsoft taken to US court by kakarot on Saturday March 25, 2017 @09:17PM (#13958455)
Do you consider python scripts invoking libraries derivative works?
Re:'Windows 10 destroyed our data' Microsoft taken to US court by derekp7 on Sunday March 26, 2017 @12:11PM (#13961438)
It can be -- that was part of my point. Good example is the GNU readline library -- this is GPL, not LGPL. So you can't call it without making your work a derivative. Or maybe you can in some cases. Again, it is not really clear by just reading the license (and the license can claim on thing, but the courts may not agree)
Re:'Windows 10 destroyed our data' Microsoft taken to US court by kakarot on Sunday March 26, 2017 @09:04PM (#13964363)
Requiring other people's tools in your build process doesn't necessarily make your tool derivative. Just dependent.