(Unsurprisingly, there was a very very strict rule against using, coming within 100 meters of, looking funnily at, or even thinking in a passing way of any AGPL source internally when I was at a particular large internet company that was otherwise pretty open-source-friendly...)
Amazon was the pioneer of SaaSifying AGPLv3 software.
The implication here is that OP is not simply providing a web service.
* If you don't modify the AGPL program, you don't have to offer source.
* The AGPL is viral in exactly the same way as the GPL. Programs don't become subject transitively to the AGPL just because they communicate over a network.
If busybox was AGPL, you wouldn't have to distribute source code unless you modified busybox and it communicated over a network with users. Even then, you would only have to distribute the modified code for busybox, not other services that it might communicate with.
A more relevant example might be something like my web-facing software, `bitcoin-top`, which I release under the AGPL.
https://bitcoin.esotericnonsense.com
You are free to copy the source code and run it on your website, as a part of your website (e.g. link to it on a subdomain), etc.
In that case the matter of whether you have to offer the source is kind of immaterial - it's the same source I'm offering and have mirrored at least 4 times, and in this year 2019 we don't need to be shipping CDROMs about.
I don't believe that your statement: * If you don't modify the AGPL program, you don't have to offer source. is strictly correct, rather that it's simply the case that if you don't modify it, you're already offering source, you can just point people to my github or whatever.
If you modify it and serve a different version, say a litecoin node monitor or you tweak and improve it or whatever, you must release the source code because our software would be licenced under the AGPL.
Clause 13 of the AGPL specifies that you must offer the Corresponding Source via "a network server at no charge". It doesn't say it has to be your network server. But if upstream shut down for some reason, you'd have to come up with some other method to offer users the source.
It's right in section 13:
> Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network [the source code]
This is simpler than the rules for distributing the binary.
If I have a factory, and my line workers use terminals that talks to my central server, do I have to provide them with a copy of my source code?
If I own a store that has price scanners that check a central database, do I have to make source code available to all customers?
If I have an airline that contains in-flight entertainment units, do I have to provide source code to every passenger?
If you modify AGPL code and redistribute it or offer its services over a network, you've created a derived work which is not solely 'your source code'. What you need to provide is the collective including the modifications.
You can avoid this by not using AGPL licensed code.
No, and the FAQ for AGPL (http://www.affero.org/oagf.html) explains that AGPL and GPL works identical in this matter. Organization that just makes the copies for itself is not distributing, and as such not bound by the conditions for distributing (https://www.gnu.org/licenses/gpl-faq.en.html#InternalDistrib...).
> If I own a store that has price scanners that check a central database
> If I have an airline that contains in-flight entertainment units
Grey zones. It depend on copyright law. All interaction with copyrighted material is not distribution. I can look at a building without the architect being owned money. I should be able to sleep in a hotel without the architect having a copyright claim. Can I take a photo? That is debated. Can I buy and sell the building? maybe.
I would personally think that a price scanner is not conveying the work of internal workings of the store, but a agpl game in an in-flight entertainment units is conveying copies of the art to passengers just like a movie.
Ask a lawyer and the answer should be "it depend", just like any other legal area which does not have clear bright lines.
My rough understanding is that aggregating is permitted providing that the aggregation is merely that.
For example, an image that can easily be extracted, for which it can be seen that busybox exists as a seperate binary, and for which the source code is made available by you (say, by virtue of the fact that you identify it as the unmodified BusyBox v1.31.1 and the source is on git.busybox.net), would be fine.
Where it gets hazy is if you have some sort of proprietary image format going on and it cannot be verified that unmodified BusyBox is being distributed, or that you're not linking against it or using it as a substantial part of your logic.
Bear in mind that the intent of the GPL, quite apart from how a lawyer would intepret it, is precisely that if you use GPL software in your software, you should release your software under GPL. If you're looking for loopholes then you're not really playing the game and should be looking for alternatives.
My intent when writing GPL software is that it should not be included in proprietary solutions at all. I release my own personal projects under AGPL precisely because it's stricter. I don't ask for you to pay for my code in money - I ask for you to pay for it by providing the source code so that the wider ecosystem can benefit from your and my work.
https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation
A distribution of Linux you happen to use (like Debian) might be entirely freely GPL components. If you ship anything that includes those, you are also required to provide (or at least provide if asked) a copy of the source code, For that Component.
If you have a proprietary program that happens to run inside of that Linux distribution, but otherwise does not use GPL/etc sources, that doesn't need to be distributed as such. It's generally better for your customers to not stand in the way of them fixing things/using newer versions of the free upstream, and re-combining in the provided application to form a new version of the whole. That's one of the issues later versions of the GPL tried to address.