For arguments sake, say that we create a web application , that depends on a GPLv3 licensed component, lets say Ext JS.
Based on Section 0 of the license, the common notion is that the entire web application (the client side javascript) falls under the definition of a covered work:
A “covered work” means either the unmodified Program or a work based on the Program.
and that it will therefor have to be distributed under the same license
Ok, so here comes the fun part:
This is a short 'program' that is based on Ext JS
Case 1:
var myPanel = new Ext.Panel();
The question that arises is: Have I now violated the GPL by not including the source of Ext JS and its license?
Ok, so lets take another example:
Case 2:
<!doctype html>
<html>
<head>
<title>my title</title>
<script type="text/javascript" src="http://extjs.cachefly.net/ext-3.2.1/ext-all.js"> </script>
<link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-3.2.1/resources/css/ext-all.css" />
<script type="text/javascript">
var myPanel = new Ext.Panel();
</script>
</head>
<body>
</body>
</html>
Have I now violated the terms of the GPL?
Doesn't based on imply that the original, or modified program, in fact is a part of the conveyed product?
The code conveyed by me to you is in a non-functional state - it will have to be combined with the actual source of Ext JS, which you(your browser) will have to retrieve, from a source made public by someone else to be usable.
Now, if the answer to the above is no, how does me conveying this code in visible form differ from the 'invisible' form conveyed by my web server?
As a side note, a very similar thing is done in Linux with many projects that depends on less permissive licenses - the user has to retrieve these on its own and make these available for the primary lib/executable. How is this not the same if the user is informed on beforehand that he (the browser) will have to retrieve the needed resources from a different source?
Just to make it clear, I'm pro FLOSS, and I have also published a number of projects licensed under more permissive licenses.
The reason I'm asking this is to try to get to the bottom of this. Not necessarily to avoid having to pay for a commercial license, but to know why I'm paying for it.
So, if any of you can shed some light on this, please do - but please refrain from pure guesses :)
UPDATE
Okay, lets try a different twist:
If I tell you to create a HTML document with the following content
Case 3:
<!doctype html>
<html>
<head>
<title>my title</title>
<script type="text/javascript" src="ext-3.2.1/ext-all.js"> </script>
<link rel="stylesheet" type="text/css" href="ext-3.2.1/resources/css/ext-all.css" />
<script type="text/javascript">
var myPanel = new Ext.Panel();
</script>
</head>
<body>
</body>
</html>
.. and that I then tell you to download the Ext JS framework from http://www.extjs.com/products/js/download.php and store it in the same directory, and that you continue by loading the document in a browser.
At what point, if any, is the GPL violated? And by whom? You or me?