Seems that unless someone is dumb enough to use AGPL, commercialize it and open source their code they would never be caught. Same with most licenses, really.
Seems that unless someone is dumb enough to use AGPL, commercialize it and open source their code they would never be caught. Same with most licenses, really.
> AFAIK that means they have to release the code running on their server(s)
This is incorrect. If they want to comply with the license, then that is what they have to do. They don't have to comply with the license. You never have to comply with a license. However, by not complying with the license, you are infringing on copyright. If they sue you then you may get an injunction to stop using the software, and/or you may have to pay money. It's certainly not a good situation to be in, but it's copyright infringement -- no more and no less.
I don't think it would be an "enormous lawsuit", except against the individual trying to maliciously introduce code against policy in order to harm their employer. Torts ahoy.
btw -- "flout" is usually what's meant in terms of breaking laws, rules etc. It's basically a pedant's dream, which is doubly appropriate in a legal context.
Well I think most companies need stronger guarantees than "[probably] never be caught".
If Google put Citus (for example) on their servers, they would have to release the source code for Citus and everything it's linked to, which might include PostgresSQL but wouldn't include anything else.
It's a pretty big stretch to believe that just checking Citus into their monorepo, exposing it to the world and accessing it from an internal service would constitute a link and require release of any of their proprietary code.
Google may not want to take that risk, but that risk is miniscule IMO. IANAL.
The details of what would occur almost certainly depend on the circumstances (was it known, when was it known, was it on purpose, did it have any real effect or was it a random bit of source code that was basically unused, etc.) and jurisdiction as well. Regardless it's definitely not the case that the GPL just magically infects any code it touches. That is a ridiculous simplification that is mostly spread by ignorance or those spreading FUD. Hell the GPL doesn't even do anything at all until the programs themselves is distributed.
It's perfectly reasonable to prefer other licenses over the GPL, but let's not make up reasons to dislike it.
The questions with the monorepo and having code checked in is the perfect example.
On the other hand, it is understandable. In a crazy jurisdiction like the US where Oracle can win with absurdly claiming copyright on Java-APIs I can understand everyone trying to minimize risk.
The “viral” description of the GPL is reasonably accurate. At least for people don’t who want to engage in illegal behavior. Forced (re)licensing is specifically the intent of the GPL.
One of the original examples here in this thread (by bryanlarsen above) was even about checking GPLed code into a repo. Any company can do that and can experiment and decide they really like the code and then they can e.g. contact the copyright holders and offer to license under different terms or another large number of options. This sort of misconception is widespread only one example of why most people's understanding of the "GPL is viral" is simply wrong. Calling this splitting hairs is ridiculous. It's fundamental.
Bryanlarsen above specifically called out that checking into a repo is not linking.
The only real misconception is that use of GPL software by a company will somehow result in all software owned by that company becoming GPL licensed. This is of course not true. It is true that linking proprietary software to GPL code and then distributing executables must result in either the proprietary software being licensed under the GPL or a copyright violation.
Your comments about getting different license terms is proving my point. Your proposed solutions to the GPL redistribution clause all boil down to not using GPL software.
Other than the fact that you can of course negotiate another license to that GPLed software, I agree. Said more succinctly, distributing copyrighted materials without a license is a copyright violation and that has nothing to do with the GPL. My point is that the remedy for the copyright violation need not result in your original codebase being GPLed. This is even true if the original authors absolutely refuse to issue you a separate non-GPL license or refuse to negotiate. In that case they can probably get an injunction and statutory damages (of course assuming they pursue legal action).
Regardless, I don't think we disagree here. However, you seem to be ignorant of the FUD that is often spread about the GPL. Many people believe claims like if Microsoft linked GPLed code into Office that they would have no choice but to GPL all of Office. That is false. As long as we agree about this I don't see any point in discussing this further.
> Your comments about getting different license terms is proving my point. Your proposed solutions to the GPL redistribution clause all boil down to not using GPL software.
Well if you'd like a clear statement about my beliefs it's this: Don't use software if you aren't prepared to meet the terms of its license. But that doesn't really have anything to do with the GPL specifically.
“Regardless it's definitely not the case that the GPL just magically infects any code it touches. That is a ridiculous simplification that is mostly spread by ignorance or those spreading FUD.”
The GPL does infect the code it touches. If you link your proprietary software to GPL software, now and forever the binaries you produced with that linking are “tainted”. You distribute the source under the GPL or you do not distribute those binaries (or you violate the law). You can certainly back out the offending change and future binaries will clean and clear, but the GPL does, by design, force the choice between copyright violation and opening up proprietary software. It does not, however, perpetually “taint” source that touched it in the past and anyone who thinks it does is misinformed.
The characterization as viral/infectious remains reasonable, though, given the intent and the legal implications.
We are in agreement that you can of course also negotiate another license right? (Assuming the copyright holder(s) go along.) I don't want to beat a dead horse here, but I just want to make sure we're clear about that one thing. Your sentence here seems to present a binary choice when of course it isn't binary.
edit: I only bring this up because another misconception many (not necessarily you) have is that software cannot be simultaneously GPL as well as another license. This should be basically obvious to most when they think about it (basically all business to business software is negotiated under different licenses for example), but most somehow still don't realize it when it comes to the GPL for some reason.
Of course. If you negotiate a different license, then of course you are no longer bound by the terms of the GPL. That doesn't say anything about the intent or effects of the GPL itself, though.
> edit: I only bring this up because another misconception many (not necessarily you) have is that software cannot be simultaneously GPL as well as another license. This should be basically obvious to most when they think about it (basically all business to business software is negotiated under different licenses for example), but most somehow still don't realize it when it comes to the GPL for some reason.
That is an option in theory, and lots of software is dual- or multiple-licensed. It depends on how the software was written, though. If a single entity (or small number of entities) owns the copyright to the software, this is definitely viable. Lots of authors who retain their own copyright on their contributions gets a lot harder. You technically need all contributors to agree to the relicensing if they haven't signed over their copyrights to someone else (as the FSF requires for software they maintain).
I'm actually not sure about the legality of some of the open-source relicensing that happens. I've seen projects announce that they are relicensing without getting signoff from all contributors. This is shady and unlikely to be legal. Using software that's been relicensed this way is probably a terrible idea (from a dev standpoint; doesn't matter much for end users).
Lots of people for debatable but legitimate reasons believe that GPLv2 does this.
They don't realize that this doesn't apply to GPLv3, nor to the AGPLv3.
> Lots of people for debatable but legitimate reasons believe that GPLv2 does this.
> They don't realize that this doesn't apply to GPLv3, nor to the AGPLv3.
Honestly I simply think you're not understanding me. Let me summarize: linking GPLed code without GPLing your own code and without having any other license to do so is copyright infringement. There are multiple ways to avoid infringement. You can pay the authors for another license, you can possibly remove the code and pay the authors enough so they're drop the matter, you can go to court, or you can release your own code under the GPL.
You do understand that that is not the same as saying that "linking GPLed code to your code makes your code GPLed" right?
edit: Apologies if I misunderstood you when you said: "Lots of people for debatable but legitimate reasons believe that GPLv2 does this." Maybe you don't believe this yourself (which is what I assumed when drafting my reply here). I agree with you that lots of people believe this, but it basically isn't debatable and certainly is wrong. Put another way: What is the legal rationale for the claim that linking GPLed code immediately makes the linking code GPLed?
Yes, one ignore laws and licenses, but aside from ethic reasons you will typically run into problems sooner or later.
On a slightly more serious note: that's what legal is for; engineers don't get to do it, and if they do, they'll take the fall for it, not Google.
I don't think they have to do anything, even if they did had AGPL.
The license is only relevant if they distribute the source (or a product written in it), not as to what they privately do with it on their servers.
Now, if they had used that code on, say, Android, that's a different thing.
There are some contentious points with AGPL. For example, lets say your website is backed by an AGPL-licensed database. Do you have to open-source your website? Or only modifications you make to the database software? Or only if you expose the database software directly? Very often these questions are not clear with the AGPL, but just having these ambiguities is enough for a company like Google to stay clear completely.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. [2]
[1] https://www.gnu.org/licenses/why-affero-gpl.en.html [2] https://www.gnu.org/licenses/agpl-3.0.en.html
So basically yeah, Google would have to distribute the source code as well. Hence the ban.
If I have open source code that estimates your shoes size based on your IP address, and I make a website that will output your result... which category of code is this? What if I use this code to customize the UI for a shoe store?
Honest question, is there an established way of deciding whether something counts as "distributed"? Is it simply a question of what machine it runs on?
AGPL roughly says that a website a user interacts with counts as distribution (in addition to what GPL would count as distribution)
EDIT: Damn, too slow. :)