Is this scenario in compliance with GPLv3?
- by Sean Kinsey
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
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
<!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?
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 that I still haven't found anyone offering a definitive answer to this.