Now imagine that I write a book and I include your photo in it. This is an infringement of copyright. I can't distribute my book, containing your photo, without infringing copyright. It doesn't matter how much your photo contributes to my book -- including it in my book and distributing it is infringement. You might even be able to get an injunction to stop me from distributing my book without removing your photo.
Now imagine that you put your photo under a CC "share alike" license. What it says is that, while I don't generally have the right to use your photo in my book, if I decide to license my book using a CC "share alike" license, then you will give me permission to use your photo. To make things simple, you give blanket permission to anyone to use the photo as long as whatever is including the photo is licensed as CC "share alike" -- in that case it is not necessary to get specific permission to use it. Finally, let's say that you make the offer that if I infringe your copyright by including the photo in my project that you will forgive that infringement if I agree to re-license the project under CC "share alike".
Exactly same thing.
That book, standing alone, does not infringe on others' copyright, which (IMO) is closer to "exactly the same thing".
One of the most crucial things about the GPL is that it is only triggered on distribution. You are specifically granted permission to use the software for any purpose (freedom 0). This includes embedding it in another piece of software. As long as you don't distribute the result, then you are 100% OK ("distribution" has a specific definition which is stated in the license, so refer to that if you have any questions about how that works).
The "anti-GPL hack" that some people use is that they say, "Well, if I don't distribute a library that I use, then I am not infringing on the license -- because the license only kicks in on distribution. If the user links the software, then it's 100% OK because they are specifically given permission to use the software for any purpose in the license. Whoo hoo!"
This is where the argument of "derived work" comes in. Imagine that you write a poem. I then write a critique of that poem. I don't include the poem in my critique because I don't have the right to distribute it. Just referencing your poem is not an infringement of copyright. Just because I describe your poem doesn't mean it's a derived work.
However, imagine that I decide to distribute my critique in a web page. Many of the things I say depend on the actual text of the poem, so I'd really like to add it to my text. But I can't distribute the poem. What to do? You are distributing your poem on the internet too, but you have a license that doesn't allow me to use it directly. Maybe I can be a bit clever here.
What I'll do is write a web page that deep-links to the poem. I'll write some javascript that allows the user to press a button and it will copy the text of the poem into my document. That way I can refer to the poem without actually distributing it. My document won't make any sense if the user doesn't press the button to link to the original text, but the user will be doing that, not me.
Is my website a derived work of the poem? This is a good question. I think it probably is. My document does not "work" without the original poem. It depends on the actual structure of the poem in non-trivial ways. However, I am sure there are also good arguments for the opposite. Given the outcome of Oracle vs Google where the judge decided that APIs are copyrightable, I feel fairly comfortable in my position, but as far as I know it has never been decided in court. Your guess is as good as mine (and better if you are a lawyer ;-) ).
But just to reiterate -- it does not matter how much of the program infringes. If any of the program infringes than it all infringes. You can't legally distribute it. So while it might seem weird that a very small part of your code might be deemed to be a derived work of some other code and therefore you can't distribute it -- that's how it works (and, to be honest, I can't see a reasonable way of proceeding if it didn't work that way).
If Lispworks writes a compatibility layer that allows SLIME to work with Lispworks, they are not causing Lispworks to infringe on the Emacs software license.
(Side note: for your hypothetical website critiquing another copyrighted work, there is a somewhat unclear [in the sense that it's facts and circumstances dependent] fair use doctrine in the US that almost surely allows genuine critique of that work to include relevant snippets [while disallowing copying the work in its entirety under guise of critiquing it]. https://en.wikipedia.org/wiki/Fair_use#U.S._fair_use_factors )
Keep in mind that agreeing to license your work under the GPL is an offer for remedying infringement. You don't have to accept. If you don't accept, then you have to deal with the consequences just like any other infringement case.
For the side not: It is true :-) However, just to be a bit playful, I should point out that fair use is not a defense in US copyright law. If your use is fair use it is still infringing. Fair use kicks in when determining damages. So your infringing use will suffer no damages because it is fair use. However, you should always be careful when relying on fair use because it is not a defense -- your infringement case can go to court and you still have to pay your lawyers!
I'll have to think more about the readline interface bit you raise. My gut instinct suggests that's not quite right, but my rational brain isn't able to label/ID/argue why, so your point has some merit. I'll need to think about it some (so thanks for that [seriously]!)
Maybe there's another line input library with a compatible binary interface and MIT licensed and clisp is written to interface to that library. That would seem like it might fly.
https://github.com/NetBSD/src/tree/trunk/lib/libedit (cvsweb appears down)
really I just want to be able to find my previous command, and multi word-level edit it.
Edit: I always thought that was why "fair dealing" was considered better, but it's definitely possible I've got it wrong.
Extending this, if someone made an API compatible BSD licensed readline clone, and the configure script will link with either that or the GNU readline, depending on what is in the system, would that still need to be GPL'd?
clisp itself ended up being moot because the author was happy to use the GPL and if they hadn't they could have just removed the readline support, but it is an interesting corner case of the law.
If APIs are protected by copyright, such a clone could be a copyright violation (depends on how fair use analysis applies.)
So, wait on appeals to be exhausted in Oracle v. Google to have a clue on the answer.
Which is exactly why license tainting like that is not a thing and never been proven to be. If I break rules, I don't lose rights to my own works, I just pay with money and paying reparations is an entirely different thing.
> All Creative Commons licenses (including the version 4.0 licenses) allow licensed material to be included in collections such as anthologies, encyclopedias, and broadcasts. You may choose a license for the collection, however this does not change the license applicable to the original material.
IANAL, so whether a book using a photo as an illustration would count as a collection is beyond me, but e.g. an encyclopedia or photo book seems to be within scope.
https://creativecommons.org/faq/#if-i-create-a-collection-th...
He was really upset when I wrote the library license (LGPL) in the first place, though eventually the FSF embraced it, though calling it the "lesser license".
You can't infringe on the GNU license of something that is 1) not shipped with your program and 2) your program runs fine without.
CLISP has a very good FFI which could be used to attach to a user's readline installation dynamically, if so configured by the end user.
This be packaged up in .lisp file that is not even officially bundled with CLISP. Thus if there was any shred of a basis for infringment, the only offender would be that file, which anyone could share over obvious channels. (Good luck suing a file circulating on the Internet, or having all copies of it taken down ...)
If I have a proprietary or otherwise GNU-incompatible program, and some GNU library, and as user (not redistributing anything!) want to put that together with the help of some config file on the Internet, what is the basis for stopping me? And would RMS even support a state with the level of surveillance required to catch people in such acts ...
HN is a strange place where people will bemoan piracy but salivate at ways to workaround the GPL.
https://github.com/NetBSD/src/tree/trunk/lib/libedit
also:
isn't the entire GNU project itself someone 'being a prick and writing their own unix because the terms of the AT&T one were not to their liking'?
(pay no attention to the Berkely UNIX behind the curtain)
also also:
isn't this hacker news?
Of course, just because you write your own alternative doesn't mean you can't be a prick if you want. :-)
but yes, could be a misreading. cheers.
I can write a readline.lisp file for, say, LispWorks (proprietary, closed-source Lisp) which loads GNU readline and binds to it. Just my file has to be GPL-ed (no distributing it in compiled format only, etc). It doesn't make LispWorks violate the GPL.
I can cheerfully combine that GPL-ed file with readline, and make a distribution that I can give to users of the proprietary Lisp.
Those users are receiving my readline.lisp and readline in accordance with the GPL, and can use these however they want.
If I can do that, someone at LispWorks could do that too.
Y merely depending on X is not sufficient to make Y a derivative work.
Did RMS mean that if someone configured CLISP to actually build with readline the resulting binary was a derivative work of readline? If so, he was correct.
Or did he mean that the CLISP source code and build system itself is a derivative work of readline?
There was a similar situation back in the early '90s, concerning RIPEM (Riordan's Internet Privacy Enhanced Mail). RIPEM was distributed in source form. The source was public domain. To build it, though, you had to link the free-as-in-beer-but-not-as-in-speech RSAREF library from RSA Data Security. To build RIPEM you needed a big integer math library.
The RIPEM source could be built to use either libmp, the big integer library on most BSD systems then, or libgmp, the GNU big integer library that was on most Linux systems.
RMS got upset over this, claiming that RIPEM violated GPL. I seem to recall him acknowledging that RIPEM contained no copyrightable elements of libgmp, but rather arguing that because some people who downloaded the source would combine it with libgmp, distributing RIPEM induced this combination, and so counted as distributing libgmp.
Eventually, people on whatever mailing list or usenet group this was being discussed on (I don't remember which it was) got tired of trying to explain that there was nothing like this in US copyright law, and someone (I think it might have been the RIPEM author) wrote a new public domain library that provided the same interface as gmp for all the functions RIPEM needed, but was not gmp. It just provided the simple O(N^2) algorithms for everything, but you could link RIPEM with it instead of libgmp on Linux and it worked.
That made RMS happy, because after that someone downloading a building RIPEM on Linux was not implicitly going to build with gmp.
That was kind of a ridiculous solution, but also brilliant. It was ridiculous because whether or not Y is infringing X's copyright cannot be affected by any work, Z, that is created after X and Y, at least without access to Pym particles or the Time Stone. So all of us who were arguing over the legal issues were pretty much just wasting time and missing the point.
It was brilliant because whoever thought of it saw that the rest of us were missing the point, and saw that with a day or two of hacking he could address RMS' objection, regardless of whether or not that objection actually had any legal merit, and make the issue go away.