Slashdot Mirror


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?"

6 of 224 comments (clear)

  1. Re:First world problems by king+neckbeard · · Score: 5, Informative

    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.
  2. HTML is a container by Anonymous Coward · · Score: 5, Informative

    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.

  3. Re:This is what happens by poetmatt · · Score: 5, Insightful

    dual licensing is a licensing issue. Nothing about free software prevents you from making money off it, that argument has never been true. Look at redhat.

  4. Re:Yes by Archangel+Michael · · Score: 5, Insightful

    Realistically, I'm not sure how this is even a problem since one could create a CSS, JavaScript, and Images of their own, and have a working version. In the two cases above, Wordpress and Joomla, you can have fully working versions of these without adding in custom CSS, JavaScript or Images. These named types do not change the functionality, they are SKINS for the actual program. I'm not sure how OS advocates can claim GPL flows down to skins, being unlinked items not required for functionality of the core software.

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  5. GPL "Infection" by LordLucless · · Score: 4, Interesting

    It's people like this poster who promote the whole "infectious" GPL crap that Microsoft et al have been capitalising.

    This behaviour ("split licensing") is perfectly fine, legal and moral.

    The GPL is all about preserving access to code. If you use GPL code, you have to publish that code. If you make changes to it, you need to publish those changes as well. This is to stop people "proprieterizing" GPLed code by making a few incompatible changes and releasing it.

    The GPL doesn't mean that if you include a GPL library, you need to open source your whole project. But people are afraid it does mean that, due to people like the poster, and Microsoft's FUD. If you want to know why people are shying away from the GPL, and view it as a threat, look to the article submitter.

    --
    Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
  6. Re:First world problems by king+neckbeard · · Score: 4, Informative

    On the other side you have the BSD licence where redistributing the source is not a requirement, and you can pretty much keep it as it was designed to by telling people who fork it to change the name of the product.

    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."

    What I'm getting at is that the spirit of the GPL is to keep software "open", not so much free. When software is open you can download it, compile it and add whatever tweak you need to it to make it work in your environment. You can do that with BSD and you can do that with GPL, but the latter would like you to contribute your changes back.

    Actually, you don't need to share your contributions in you don't distribute your code.

    As soon as Patents come into play the GPL is now unworkable, since those tweaks may violate patent licences. So this is why the "binary blobs" exist in Linux via shims to skirt the GPL licence.

    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.