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?"
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?"
Yes, it is perfectly within the spirit of the GPL to add exemptions to the license terms. Plenty of GPL projects, even those from the GNU project, have exemptions to the GPL terms such as linking in GPLed libraries, etc. Stop being such a freetard.
Third-world problems are nothing either. You should see what's happening on Vorgon 3, my friend. Humans have it easy.
The GPL has never been about data (e.g. the Doom WAD files), but just about the code.
The fact that so many themes and what not are violating the principles of separation of content and presentation and interaction (HTML, CSS, and JS) is a problem. But, if they weren't doing it, then it wouldn't matter if the JS and CSS were Free or not. Because the content would be usable without the crap.
Personally, I just say, don't use themes that aren't all Free. Solves the issue for me.
HELP MY ACCOUNT HAS BEEN HACKED BY AN ILLIBERAL ART STUDENT SET TO DESTROY THE INTERWEBZ!
Whether or not it's legal is a different matter, but the spirit of the GPL is clearly the proliferation of open source software. Split licence variations have always been very much a compromise on the ideals of the GPL. The line gets muddier when GPL'd software relies on third party extensions to operate effectively. However, at the end of the day, if you're a developer and you don't like the idea of split licence models, then don't develop code for them. There are thousands of other projects out there which are pure GPL.
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.
Okay, but if you are violating the license of someone else in doing so, you have considerably less room to talk. If you do everything from scratch, you aren't going to face a lawsuit.
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.
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.
So.... is RedHat Linux non-Free since you can't redistribute their proprietary images/icons/wallpapers/etc ? After all, isn't CentOS the same code base, compiled the same way, with the same configurations, etc. but without RedHat's logos, etc?
Don't blame me, I voted for Kodos
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
Okay, but if you are violating the license of someone else in doing so, you have considerably less room to talk. If you do everything from scratch, you aren't going to face a lawsuit.
But that's the point - it is not violating the licence. You may not like it, but it;s not in violation of the licence. This is the "Tivo problem" all over again. What Tivo were doing wasn't against the GPLv2, so something was done to shut all that down, and we've ended up with GPLv3.
I'm sure there will be more "but that's not what we meant! you're using it wrong!" wailing from the sidelines and we'll have a GPLv4 that will put a stop to it.
I remember 10 years ago I actually saw a retail boxed package of Red Hat Linux in a store in a small northern Wisconsin town, I thought it was funny.
The software in the box was of course "free". The box itself, the manual, the support, and the media inside the box cost $39.95.
Ok, he'd chew his hair and wax poetic. We know that already, but what would the poem say?.
I suspect it'd say: I'm sorry, but CSS very much is code. Not in the sense true languages are like C++, Python and PHP are. Ok, I'm not so sure that PHP qualifies. But anyway, the reason that even so piddly not-real-languages are part of the code is that it's nearly impossible to use the real code with the underlying CSS underpinnings that, actually, pin the boxes to the right place on the screen. Go ahead, take some huge news site, remove the CSS from it and see if you can still use it. I bet you can't. It frequently ends up looking like an application that magically put all their widgets rooted at 0,0 in the window. It's useless. Sure, it's all there, but it's useless. Thus, it has to be a rather important part of the "code". It takes both the output of the underlying framework langue and the CSS to make the result usable. Otherwise it's like compiling C-code into assembly, but for the wrong chip.
I'm quite sure this violates the principal of the GPL. I'm not sure about the letter of the law, since IANAL. But it sure smells like a GPLv4 is ripe for the picking.
The next site to slashdot will be ready soon, but subscribers can beat the rush and start slashdotting it early!
Is your law degree from the University of Uranus?
http://en.wikipedia.org/wiki/Good_faith_(law)
The GPL license under which I give away my work says that IF YOU WANT TO DIDTRIBUTE A MODIFIED VERSION , you have to also license "the complete work, as a whole" as GPL.
You are free to sell image sets that can be used with WordPress and user any license you wish . However, if you want to distribute my code with it as a complete theme, the only license you have for distributing my code is if you distribute the whole thing as GPL. Icons and CSS COULD be sold as completely separate works, but that would mean not including any WordPress derived PHP in the package.
I don't hate the GPL, I just hate the politics behind it.
When something is GPL, the people come out of the woodwork to fork it, reverse engineer it and otherwise turn it into something it was not supposed to be. I've had this experience first hand, and quite honestly I'm not willing to deal with this again.
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.
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. This works up until you get into Patents.
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.
This is also what happens with these split licence PHP/Javascript/CSS things. The font or image may be subject to CC SA, but not CC ND. So someone may produce a theme or plugin for a CMS like wordpress or Joomla, but the only part that is really open is the part that inter-operates with the CMS. The Javascript and CSS ... well let me just tell you this, I've DMCA'd people for taking my javascript because they didn't ask. If you want to learn how it works, I'm don't care, but if you outright copy it, that is not learning, that's stealing, and I never licence anything under the GPL. I will licence things under BSD if it's basically throw-away code. Otherwise it's "All rights reserved." As I said earlier, I won't deal with GPL projects because people will just fork it so they don't have to give their changes back.
I'm quoting the plain text of the license. Section 5(c) for you:
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy.
This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged.
I don't understanding what it's implying, you say? That's not an implication, that's a plain declaration, and in case anyone was too dense to understand
"you must license the entire work, as a whole", they repeated it AGAIN, saying "the whole of the work, and all its parts".
As for "if you're using the stock GPL license" look at the VERY FIRST LINE of the license, even before the preamble:
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
So yeah, you're using the stock GPL license. Funny you want to act like you're an expert on the GPL, even though you've clearly not even read the FIRST LINE of it.
Seriously dude, it's okay not to be THEexpert on everything. You don't have to act like you know more than everyone else on every topic and act like I"M clueless when
I've actually taken legal action under the GPL, so I kind of know WTF it says. Next time, instead of arguing from ignorance, try reading the darn thing and learning what it says. It's not that long.
That is not true at all. The GPL was devised for a very specific purpose and that purpose has been explained and discussed at work.
What is true is that using force to prevent people from exercising their rights here would be wrong and against the spirit (ie if you actually sue someone in for violating the spirit of the license that suit should not be a winner.) But expecting people that claim to be oriented towards the ideals of free and open source software to avoid circumventing that spirit does not seem unreasonable at all. It's not exactly a fine line, but a pretty broad one, between 'what you are doing is not illegal' and 'what you are doing is positively good.'
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
They absolutely did sell boxed packages of Linux. This was very important in the days when people didn't usually have decent internet connection speeds; and could still be useful today if stuck on dial up.
What complete nonsense!
Free software and money aren't diametrically opposite, many programmers are getting paid in order to write free software (like, most developers of the linux kernel).
Stop spouting bullshit for the grace of the flying spaghetti monster!
Comment removed based on user account deletion
Companies have formed around developing and supporting free software. You just change the business model away from selling per-unit packages into selling services and support. There are even people who contract to create software who will then retain rights to software, minus the customer's tweaks, and release that as free software elsewhere.
There's a lot more to software than the original creation of it. The vast majority of all programmers don't write everything from scratch, instead they are modifying pre-existing software. They are adding new features, fixing bugs, integrating with other programs, customizing, etc. If so many companies are willing to pay people to modify existing software then there is indeed a large market to to pay people to modify existing free software as well.
If I make free software that looks terrible, and someone else pretties it up, complies with the terms of the license, and manages to sell a product, good for them.
This is really no different from the debates around proprietary blobs in open source. Some people want freedom as a matter of principle. Some people want it for simplicity, so that you know any drop-in replacement is distributable.
And of course there are those who simply don't want to keep track of who has which rights - and let's not forget those who post code with no license, thinking it is public domain.
I don't see a problem here. Especially when someone can take a free thing and add enough value to it, without writing code, that people are willing to buy a free product.
WordPress has decided to enforce their philosophy by restricting people who contribute a product that, some can argue, enhances WordPress. And restrict them from interacting with the WordPress community. That is a difficult situation, to restrict contributors because what they contribute isn't free.
If these people are only selling interoperable components, WordPress would have no teeth, and could only object in text. But the only power they have is to restrict outside interactions, which may boost popularity or use of their products.
Joomla actively welcomes outside sellers, going on the other side of the fence. I think the point is, if Joomla is apparently okay with it, why do you take the position that Joomla is wrong?
really? why? They did so successfully. They literally sold box cds as indicated. They are selling their software, even if people are paying for support.
it is difficult to make money with free software, more so than commercial software.
I have seen no evidence that this is true. Most people that start a free software business fail. Most people that start a proprietary software business fail. But among the people I know, the failure rate for the former is lower.
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.
These trademark issues aren't even specific to RedHat or CentOS. Debian even rebrands their version of Firefox and Thunderbird as IceWeasel and IceDove, also due to trademark restrictions.
If it's possible to rebrand a program easily in this way, I take that as proof the artwork involved is not really an essential part of the program. The changes of the CentOS and Debian artwork forks do not diminish any feature of the software. That can't be said about most CSS and Javascript, and even some images are mandatory for a program to be useful.
The GPL license isn't that long . You could probably read it in one trip to the bathroom.
If you read it, you'll find that:
No, you do not have to make your modifications public .
If you CHOOSE to distribute a binary, you must offer to distribute the source as well.
The intent, the spirit, IS made explicit in the first paragraph, the preamble.
Redhat doesn't sell software.
They sell subscription to software, which in practice is selling software. You go to them, you pay money, you get software.
How often is it said "You haven't bought the software, you've bought a license"?
So Microsoft Windows, you buy the license which is ONLY the limited right to install. No manual, no service contract (if OEM).
So does this mean that you can't sell closed source software?
Must do.
So then why single out OSS software for this "problem"? It exists for all software that is under copyright.