5 ms·
I was on my walk and I realised that I completely missed the interesting part of this discussion (which was hinted at by the OP). So I'll do my best now (with
by mikekchar 7y ago
I was on my walk and I realised that I completely missed the interesting part of this discussion (which was hinted at by the OP). So I'll do my best now (with the caveat that this is a very complex legal issue and I am not a lawyer).
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).
- sokoloff 7y agoIIRC, clisp worked just fine without GNU readline. https://www.gnu.org/software/clisp/impnotes/readline-mod.html https://www.gnu.org/software/clisp/impnotes/readline-mod.htm... 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 https://en.wikipedia.org/wiki/Fair_use#U.S._fair_use_factors )
- mikekchar 7y agoIt doesn't really matter if the code as a whole worked without readline. What matters is if the code that linked to readline worked. It's that tiny bit of code that may or may not be a derived work. If it is, then you can't distribute it. No matter how tiny it is, if you can't distribute it, then you can't distribute it. 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!
- sokoloff 7y agoFrom what I've read/studied (though I am not a lawyer), fair use is an affirmative defense against copyright infringement in the US. 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.