According to the GPL FAQ
Where's the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).
If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.
By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But 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.
Overall this definition seems to focus a lot on compiled code, but does not really consider interpreted code.
What I read from the above is, if it's a single executable/library, it's one program. If it's many executables/libraries communicating (but not directly linked together) it's not. Now my question is regarding PHP. PHP itself is an interpreted language which means code written in PHP is not compiled and executed, but rather is interpreted. In addition, all PHP code is typically ran under a webserver meaning all PHP code is ran under a shared resource pool.
My question is where is the line between a PHP website which incorporates GPL libraries and therefore needs to be released under the GPL and a PHP website which merely calls upon another PHP service to do the same. As a more concrete example, assume PHP library:
Now as a practical example consider Steve Clay's minify and assume that the authors had made the decision of relesing it under the GPL (they did not but for the sake of argument assume they did).
This library in particular is not generally directly included in any other PHP script, bit is added in a PHP project's list of "dependencies". The functionality of this library is accessed via e.g.
http://example.com/min/?f=script.js and this URL is added as an "external script source" in a website. My question is, in this case would using this library require the project which includes it to be licenced under the GPL?