That sounds like a very dangerous opinion to present as if it were a fact.
Is it not more a matter of whether a piece of software is a "derivative" of the GPL software?
Looks like even the FSF does not have a clear black&white answer to this question: http://www.gnu.org/licenses/gpl-faq.html#MereAggregation: "if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program"
I remember the mysql guys used to claim that any software connecting to a mysql server would be "infected" with GPL, at least if it was written to depend on the official mysql client libraries, even if the software in question didn't actually copy a single character from any mysql distributions. (?)
I misspoke, what I should have said is that GPL's distribution clause only pertains to binary software.
clearly if you provide someone a piece of GPL software (such as a perl script to do something useful on their server) it's GPL so it's free software and it's already source code.
The point is that the Affero clause is very clearly targets software that is being used over a network connection rather than being distributed.
It is not possible in the least that the "semantics of the communication are intimate enough" to qualify -- the semantics of the communication are HTTP, an open standard used for extremely varied purposes.
I'm quite sure the MySQL guys are simply wrong on that, but even if they're not, it's clearly not the case for HTTP.
Well, the question here is if the PHP code someone wrote to power a public web site would be considered to be a partly derivative or combined work of the AGPL testing library, wouldn't it?
Just a leftover test function inside the main app referencing this library would probably be enough to consider it a derivative or combined work, no?
(Not sure how HTTP comes into play regarding the linking and combining of a project and this AGPL library?)
I think the terms are difficult to understand. In the general case who knows what a library author intended or how think they understand the license??
(Also, claiming GPL only pertains to binary software sounds really quite imprecise too. Just because you receive source code does not mean you can use it or distribute it in any way you see fit. You would still need to abide by whatever license accompanies the non-binary software)
I'm not sure why you would have a test function in the main app as opposed to separate testing - but yes, it would.
The intention of the AGPL is clear in my opinion and not really up for author interpretation. If someone is accessing code on a server (binary or interpreted), they have a right to obtain and modify that source code.
Aside from SaaS testing suites, I do not know of any examples where test code is accessed by users over a network.
It is, thus, 100% OK to use this source code to test a closed source project.
If the GPL had the same added clause as the AGPL, then there would be a serious number of infringing web apps.
The first sentence of the wikipedia page explains it best:
"Both versions of the AGPL were designed to close a perceived application service provider "loophole" (the "ASP loophole") in the ordinary GPL, where by using but not distributing the software, the copyleft provisions are not triggered."
No use == no copyleft requirement, and I would hope it's pretty clear that simply by having a piece of AGPL software in the same directory as another piece of software that it is not inherently using it.
I'd just like to clarify the problem I see with this: When the library is added to the project and is on the include-path (in the IDE, whatever), I think there's a non-zero risk that some developer on the project ends up putting a reference to it in the main app. At least it's something one needs to be careful about.
I find this completely insane though! Everything is just 0s and 1s that are transformed and ultimately can be passed through the logic gates on a CPU to do math. Whether code is compiled or interpreted has no effect on the end goal - such as an instruction to the CPU to add two numbers.
What I am trying to get at is that traditionally web software is not distributed at all. That is, the software itself is never provided to the user and the user just interfaces with it externally.
The point regarding binary stuff was as it applies to distributed projects because if PHP or any other interpreted language is "distributed" in a traditional sense, it is already in source code.
I feel as though the confusion here is because people are looking at the initial distribution to other developers and thinking that's it. But that distribution completely allows for a developer to "link to it", modify it, and keep it behind closed doors if it is never distributed. And it isn't if it's sitting behind a web server... someone is just interfacing with it through a completely open protocol.
The point of the AGPL is to say that someone who is using a program, regardless of the fact that the program itself is never being distributed to them, has a right to get the source.
Is it not more a matter of whether a piece of software is a "derivative" of the GPL software?
Looks like even the FSF does not have a clear black&white answer to this question: http://www.gnu.org/licenses/gpl-faq.html#MereAggregation: "if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program"
I remember the mysql guys used to claim that any software connecting to a mysql server would be "infected" with GPL, at least if it was written to depend on the official mysql client libraries, even if the software in question didn't actually copy a single character from any mysql distributions. (?)