When GPL Becomes Almost-GPL — the CSS, Images and JavaScript Loophole
New submitter sobolwolf writes "It has been apparent for some time that many developers (mainly theme designers) are split-licensing PHP-based GPL distributions, releasing proprietary files alongside GPL files with the excuse that CSS, JavaScript and Images are 'immunized' from the GPL because they run in the browser and not on the server. This is almost always done to limit the distribution of the entire release, not just the proprietary items (most extensions will not function in any meaningful way without the accompanying CSS, Images and JavaScript). Some of the more popular PHP-based GPL projects, like WordPress, have gone as far as to apply sanctions to developers distributing split-licensed themes/plugins. Others, such as Joomla, have openly embraced the split-licensed model, even changing their extension directory submission rules to cater specifically to split-licensed distributions. In light of all this, I would like to ask the following question: While it seems to be legal to offer split-licensed GPL distributions, is it in the spirit of the GPL for a project such as Joomla (whose governing body has the motto 'Open Source Matters') to openly embrace such a practice when they can easily require that all CSS, Images and JavaScript be GPL (or GPL-compatible) for extensions that are listed on the Joomla Extensions Directory?"
Actually, there usually is a spirit of legal document, and it can differ from the letter. For example, the CTEA might be argued to fit the letter of the Copyright Clause, since continual extensions are technical limited times, but it certainly doesn't fit the spirit of the constitutional there, as it can't feasibly promote literary progress to reward authors retroactively. Two Justices were aware of this fact, but the majority was not, unfortunately.
While GPLv3 may not have been the most elegantly exectuable change, it was driven by 3 needs. A new technological means of circumventing end-user control, an increasing threat of patent lawsuits under a new legal means, and better compatibility with existing licenses. The changes you decry are the result of treating a license somewhat like software, making what will hopefully be mostly improvements and patch flaws, but this inevitably results in some regressions. Honestly, 3 releases in over 25 years isn't bad at all.
This is my signature. There are many like it, but this one is mine.
I have asked FSF about this specific issue.
They basically consider HTML as a container, like a ZIP archive. So, the "bundling" that occurs when HTML is combined and rendered to the browser is not considered a derivative work in the eyes of FSF, just like if you bundle GPL files with non-GPL files in a ZIP file, the contents of the ZIP do not all fall under the GPL.
This means that when things are combined in to an HTML file, even if parts of the HTML file are GPL, the entire resulting document, is not GPL.
I find this view inconsistent, and disagree with it, but it's their license, so who am I to judge. Mind, if my view were followed, then things would be quite different on the web. So, their view is probably the "correct", and most certainly "pragmatic" view. I just think it's inconsistent.
Now, how that applies to externally loaded files (like JS and CSS) is not clear to me, but I assume the same rules apply. In a normal program, were you to link them together, the entire finished product would be GPL. But not under the auspices of the browser environment, apparently.
I think if the "HTML is a container" view is the correct stance, then the included files would also be immune to the GPL for the same reasons.
Actually, you could do that with GPL code as well. Just use trademark law. Firefox does the same thing, which is why Debian ships iceweasel. Now, it might be a bit more complex if you are building your project off of someone else's GPL code, but in that case, you are likely the one who is "it into something it was not supposed to be."
Actually, you don't need to share your contributions in you don't distribute your code.
Patents break everything everywhere. Where GPL patent clauses get messy is when you are shipping a product where you license a patent from someone else.
As for binary blobs, that's usually not tied to patents. Otherwise, distros from countries without software patents would ship with Nvidia drivers. Binary blobs are the results of non-free code. I believe a large portion of it is that the code is already under a restrictive copyright license for reasons like sharing a decent chunk of code with a proprietary windows driver, which they may not retain all the rights to. There's also fear that competitors will reverse engineer their products via this source code or similar such nonsense.
This is my signature. There are many like it, but this one is mine.