maybe my thinking is off then, but in my mind it’s mainly for first and second parties? as in, orca and bambu both have to share the source when sharing the binary, not necessarily immediately but on request. anything built on top of gpl code can be closed unless it’s agpl. as a third party to all this, can rossman share the code bambu has made on top of orca?
Your thinking is off, the GPL and derived licenses like the AGPL are viral on purpose. They apply to everybody who uses, downloads, or accesses the software (in the case of the AGPL) and they are explicit about this:
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License.
what i’m reading from that is that both parties must agree that the work has been conveyed. with the risk of going all sovcit, if the conveyed item is a binary, and the producer does not send the source code to the consumer as instructed by the license, can the consumer really pull the source and distribute it? surely if the license is broken the work falls back on default permissions, e.g. all rights reserved?
In the general case, the person or persons who distributed the binary would then have done so illegally. In order to distribute, you have to follow the terms of the license. So them attempting to go after anyone downstream of them at that point is sort of like calling the police because someone stole your drug stash. And if there’s an upstream beyond the illegal distributors, they’re practically waving a “Sue me now!” placard in their direction.
The originator of the code, above whom there is no upstream, is allowed to offer it under more than one license (including a mixture of free and closed licenses), but the specific license in force has to be specified with each distributed copy.
The first one that comes to mind is Qt (the widget toolkit). While I’m not sure the current owners still do this, Trolltech offered the earlier versions under both the GPL and a commercial license that I think included paid support. I assume any sales under the commercial license were to companies who wanted to include it in their closed-source software.
But the language defines that if you distribute a binary, you must make the source available, and that source is allowed to be taken, modified, redistributed as binary and source, as long as the person doing the modifications attributes you and all other previous authors.
It doesn’t matter if that binary comes as a firmware on a device the user purchased.
The distributor does not have to distribute the source with the binary, they just have to make it available, for free, and they cannot stop anyone using it as defined above.
Breaking the license does not change how the software is licensed, it just puts the entity doing the violations in violation of a license.
AGPL can be closed too, the license bases the right to the source based on the access to the end product:
GPLv2/v3 - if you have the binary executable output of the GPLv2/3 covered source, you must be granted access to the exact source used to make the binary. This applies to legitimately sourced binaries only - if you were to hack into a company’s servers and get a binary of a modified GPL product, this wouldn’t apply. But extracting a binary from a device you own IS a legitimate access (so e.g. if your phone uses U-boot, the manufacturer must grant you access to their modified U-Boot sources used to build the bootloader)
AGPL - if you have (legitimate) access to a service you can request the source. This is so e.g. web services can be made into GPLed code where modifications must be released (negating the requirement of possession of a binary, since you can’t possess a binary that runs on a remote server). e.g. let’s say I run GTK app via browser using kasmVNC - if the app is GPL, I don’t have to provide the source, if it’s AGPL, I have to provide the source.
I’ve managed to force multiple Chinese companies to release sources that were adamant they don’t have to, just by threatening to report them to the FSF and SFC - both bodies have been wildly successful in prosecuting licence breaches.
Also both the EU and the US have now precedents and laws in place that allow fast-tracking obvious licence violators’ blocking from the market. For a small Chinese company whose main target market is the west, it’s a major blow if their sales and export are blocked because they won’t release the source.
So they try to play hardball, but it’s like modern lifts - the moment you press the right buttons suddenly they do exactly what you want them to.
I remember this happening to Linksys with the WRT-54g routers. They shipped with firmware based on open software (I don’t remember the exact license) and they were brought to court and forced to release the source code.
In the end it really helped the sales of that model because hobbyists wanted it for the freedom of running their own code on it.
oh yeah i remember that. pretty sure that was gpl.
this is sort of a predecessor to that situation thus far: bambu is obviously in the wrong with regards to not handing out gpl’ed source, but they are in their full right to refuse handing out stuff they’ve built on top. so the question then is, is rossman in the clear for having taken their source code? if he has bought one of their printers (most likely) it’s pretty cut and dry, but if he took the code from somewhere else he has technically stolen it and the license does not apply. at least that’s my read.
Normally the copyright holder has to take them to court to enforce copyleft licenses like the AGPL. Hopefully we will soon find out if users can also enforce it, as a 3rd party beneficiary under contract law.
maybe my thinking is off then, but in my mind it’s mainly for first and second parties? as in, orca and bambu both have to share the source when sharing the binary, not necessarily immediately but on request. anything built on top of gpl code can be closed unless it’s agpl. as a third party to all this, can rossman share the code bambu has made on top of orca?
Your thinking is off, the GPL and derived licenses like the AGPL are viral on purpose. They apply to everybody who uses, downloads, or accesses the software (in the case of the AGPL) and they are explicit about this:
what i’m reading from that is that both parties must agree that the work has been conveyed. with the risk of going all sovcit, if the conveyed item is a binary, and the producer does not send the source code to the consumer as instructed by the license, can the consumer really pull the source and distribute it? surely if the license is broken the work falls back on default permissions, e.g. all rights reserved?
In the general case, the person or persons who distributed the binary would then have done so illegally. In order to distribute, you have to follow the terms of the license. So them attempting to go after anyone downstream of them at that point is sort of like calling the police because someone stole your drug stash. And if there’s an upstream beyond the illegal distributors, they’re practically waving a “Sue me now!” placard in their direction.
The originator of the code, above whom there is no upstream, is allowed to offer it under more than one license (including a mixture of free and closed licenses), but the specific license in force has to be specified with each distributed copy.
Do you have an example of a project that has both free and commercial licenses? How does that work in practice?
The first one that comes to mind is Qt (the widget toolkit). While I’m not sure the current owners still do this, Trolltech offered the earlier versions under both the GPL and a commercial license that I think included paid support. I assume any sales under the commercial license were to companies who wanted to include it in their closed-source software.
Maybe read the GPL ;)
But the language defines that if you distribute a binary, you must make the source available, and that source is allowed to be taken, modified, redistributed as binary and source, as long as the person doing the modifications attributes you and all other previous authors.
It doesn’t matter if that binary comes as a firmware on a device the user purchased.
The distributor does not have to distribute the source with the binary, they just have to make it available, for free, and they cannot stop anyone using it as defined above.
Breaking the license does not change how the software is licensed, it just puts the entity doing the violations in violation of a license.
the fsf is off the opinion that you explicitly can paywall the sources separately from the product. that’s why i find this interesting.
AGPL can be closed too, the license bases the right to the source based on the access to the end product:
GPLv2/v3 - if you have the binary executable output of the GPLv2/3 covered source, you must be granted access to the exact source used to make the binary. This applies to legitimately sourced binaries only - if you were to hack into a company’s servers and get a binary of a modified GPL product, this wouldn’t apply. But extracting a binary from a device you own IS a legitimate access (so e.g. if your phone uses U-boot, the manufacturer must grant you access to their modified U-Boot sources used to build the bootloader)
AGPL - if you have (legitimate) access to a service you can request the source. This is so e.g. web services can be made into GPLed code where modifications must be released (negating the requirement of possession of a binary, since you can’t possess a binary that runs on a remote server). e.g. let’s say I run GTK app via browser using kasmVNC - if the app is GPL, I don’t have to provide the source, if it’s AGPL, I have to provide the source.
are you sure about that first one? yes they have to give you the source, but what happens if they don’t? i’ve genuinely not thought about that before.
That’s where legal actions come into place.
I’ve managed to force multiple Chinese companies to release sources that were adamant they don’t have to, just by threatening to report them to the FSF and SFC - both bodies have been wildly successful in prosecuting licence breaches.
Also both the EU and the US have now precedents and laws in place that allow fast-tracking obvious licence violators’ blocking from the market. For a small Chinese company whose main target market is the west, it’s a major blow if their sales and export are blocked because they won’t release the source.
So they try to play hardball, but it’s like modern lifts - the moment you press the right buttons suddenly they do exactly what you want them to.
I remember this happening to Linksys with the WRT-54g routers. They shipped with firmware based on open software (I don’t remember the exact license) and they were brought to court and forced to release the source code.
In the end it really helped the sales of that model because hobbyists wanted it for the freedom of running their own code on it.
oh yeah i remember that. pretty sure that was gpl.
this is sort of a predecessor to that situation thus far: bambu is obviously in the wrong with regards to not handing out gpl’ed source, but they are in their full right to refuse handing out stuff they’ve built on top. so the question then is, is rossman in the clear for having taken their source code? if he has bought one of their printers (most likely) it’s pretty cut and dry, but if he took the code from somewhere else he has technically stolen it and the license does not apply. at least that’s my read.
Normally the copyright holder has to take them to court to enforce copyleft licenses like the AGPL. Hopefully we will soon find out if users can also enforce it, as a 3rd party beneficiary under contract law.