this post was submitted on 28 Aug 2023
671 points (91.5% liked)
Programmer Humor
32566 readers
1192 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I know this is a joke, but assuming you're the author, then you're under no obligation to follow the license. Only people to whom you transmitted the code are bound by its terms.
I think you're wrong about that?
If in my hypothetical, I'd used the GPL rather than the AGPL, or if I'd neglected to let the other student access the main page, you'd definitely be right.
But AGPL is basically "GPL but also accessing the software over a network counts as distribution."
So, if I let you access my AGPL software over a network, I've granted you the right to demand the source code from me, just as if I distribute a compiled executable to you under the GPL, I've granted you the right to demand the source code from me.
No, because you never licensed the software to yourself. You are the copyright holder. The license is a grant of rights to the recipient of source code, who isn't the copyright holder. Whatever the AGPL says about what counts as distribution: that doesn't matter because the license never applied to you.
As the sole copyright owner, you always have the right to change the license by which you distribute your code, and to violate it yourself. No license can remove those rights which you possess: in fact the power of the license is because of your copyright rights.
The big thing is that as soon as somebody else contributes code to your project, you lose that right, and now you'll need to get their agreement to relicense. And of course anybody whom you distribute the source code to, they are required to follow the license.
Ok. After doing a little more research and thinking, I think you're right.
That's got some interesting implications. Like, I could write a program with an EULA window before it runs that says "this program is under the GPL", give you a copy of the compiled executable, and then if you requested the source code I could tell you to jump in a lake and you'd have no legal recourse.
What's more, if you gave a copy of the same compiled executable to someone else and they requested the source code from you, you'd have a legal obligation to grant their request, but no way to get the source code from me in order to be able to grant the request.
(The GPL even has a clause that says "If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all." So I guess don't convey compiled GPL'd code until you're certain you have a copy of the source code in hand.)
Maybe in that case you could bring some kind of promisory estoppel case against me? But then again, I'd imagine it'd probably be pretty difficult to argue that any of what I (in the hypothetical above) did constituted a "promise" to provide you the source code unless you could argue that by putting the GPL in the EULA, I was promising to abide by the terms as if I had received the software under the GPL.
Courts granted recently in Software Freedom Conservancy, Inc. v. Visio, Inc. that the GPL could be interpreted in some cases not just as a copyright license but also as a contract, but on reflection, I don't think that changes the conversation any either.
All that said, I think if I incorporated an AGPL piece of code not owned by me into my homework assignment and then let you access my homework assignment over a network, that would probably obligate me to give you the source code if you asked.
Thanks for correcting me there. I honestly love learning about intellectual property and contract law. I still have a lot to learn it seems. :)
I do think that if you distribute a binary along with the GPL license text, then you've obligated yourself to provide source. If you distribute the binary of your own program without the GPL license text, then I don't think you're obligated. But I'm nowhere near being a lawyer :)
Thankfully in practice none of this really matters.
The person licensing the code as GPL generally wants to share it. The license becomes much stronger as more people contribute code under the same license (but their own copyright), since it means everybody is obligated to share under the GPL (or else strip out all code which they don't own copyright over). And as more people use/contribute, the value of the code generally increases, so it's better that the protection becomes stronger.
And of course, supposing there's a GitHub page for a project with a GPP license attached, then anybody who has cloned that repo is automatically granted all those rights. The owner of the copyright (assuming they own 100%) can still release the code under a different license or terms, but they can't revoke the rights granted to anybody who already received the code.
Yeah, probably true!