Yesterday I stumbled upon a rather interesting tidbit of information. I opened Twitter in the middle of a conversation between between Chip Bennett and Ben Cook, and I saw this tweet:
Curiosity piqued, I dug back through the tweets until I found a link to the thread Ben was referring to. It turns out that it is a bug report on the WordPress bug tracking system, opened by user “hakre”:
The wordpress software packages to download form the website contain mostly source-code.
But as it’s known, there are files and parts in these, that are binary blobs and w/o their source as specified in the terms of the GNU GPL.
According to §1, §2 and §3 of the terms of the GNU GPL v2, the wordpress project must offer full source-code in order to distribute the whole package under GPL.
In §3 it’s made more specific what sources are:
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
I was looking over the wordpress homepage but I could not find any information where to obtain the according sources that are missing from the packages – either in full source packages or in it’s additional form.
Probably I’ve overlooked something, please help me obtaining such information. – hakre
What hakre was referring to was a specific section of the GNU General Public License v2.0, which is the license that WordPress is released under. The requirements of the license dictate that anyone is free to modify or redistribute the software package, as long as the license itself stays intact, and as long as whoever receives the software package either gets a copy of the source code, an offer in writing that they will make the source code available on request, or a copy of the offer to make said source code available if that is how it was originally offered. Basically either the actual source code must be supplied, or a clear concise guarantee that it can be supplied on demand, must be included with the distribution. For the bulk of WordPress this is no problem and would never be an issue. The core WordPress files are written in php, with some elements in Javascript or html. All 3 of those languages, unless encoded in some special way, run as is straight from the source code. Php and Javascript are “scripting” languages and html is not actually a programming language. If someone wants to see or edit the “source code” for any of those files all they need to do is open them in a text editor and just look at them.
However, what hakre was talking about was the 1 and only executable file* (see hakre’s comment below for clarification) that is currently distributed with WordPress, a file named swfupload.swf, which is located in the wp-includes/js/swfupload directory. It is a Flash file, is not considered editable by normal means, and it is compiled, not in source code form. The concern that hakre raises is quite valid, since without the source code being distributed along with this file it makes it impossible to distribute WordPress as GPL v2 software. This is a Very Big Deal, especially when you consider the rift that Matt Mullenweg created in the WordPress community over the whole issue of what GPL did and did not cover. Almost 2 years ago Matt asked a lawyer from the FSF to back up what Matt was saying, and in the closing paragraph of that post he made the following statement:
So as before, we will only promote and host things on WordPress.org that are 100% GPL or compatible. – Matt Mullenweg
The fact that WordPress can’t follow the license that they are claiming everyone else needs strict adherence to makes all of Matt’s previous pettiness just that much worse.
One of the WordPress contributers, Otto42, closed the ticket when he found it. In fact, he asked the question “What sources are missing?” in the same post, but marked the ticket as “invalid” without bothering to wait for an answer. The thread was then reopened by hakre again, after which Chip Bennett joins the conversation. In a nutshell, it’s a back and forth with Otto arguing that the source code for that file is not required, since WordPress authors did not write it, and since that particular executable is not GPL, and is instead released under the MIT License. The problem with his argument is that it is, of course, dead wrong. The GPL license does indeed allow you to distribute non-GPL licensed software within a GPL package, as long as a) the non-GPL license is less restrictive than the GPL (which the MIT license is), and b) the source code is included (which, again, WordPress is not doing here).
At one point Otto makes the following claim:
As for the GPL, we are under no obligation to provide anything at all. Understand that the people here wrote the code and share a joint ownership of it. The GPL places no obligation whatsoever on the actual copyright holders of the code. They can release it anyway they like. The GPL only applies to licensees of the code in question; the downstream people using and redistributing that code. – Otto42
That of course sums up a bigger core misunderstanding of the situation that makes me wonder if more WordPress contributers are under the same illusion… that the GPL only applies to what other people can do with WordPress, and doesn’t actually apply to the contributers, or to the WordPress Foundation, or to Matt Mullenweg. Maybe all of Matt’s talk of how the GPL embodies all of WordPress’s core values managed to bury the reality of why the GPL was being used for WordPress. The truth is, WordPress is licensed under the GPL v2 because they have no choice in the matter, they have to use it. WordPress, you see, is a derivative of yet another software package, b2/cafelog, which was licensed under the GPL v2 as of March 2nd, 2002.
Otto also is also under the misconception that the following statement in the license covers them:
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code
As a developer I am rather surprised at Otto’s lack of grasp on the IF…THEN… element to that statement. If the executable is being distributed from a remote location, then offering the source at that same location counts as distribution of the source code. An example of an executable being offered from a designated place would be Microsoft distributing software that requires their mfc32.dll to run, and giving you a link to their website where that can be downloaded. WordPress does not say “To use our Flash uploader you will need to download the executable from here“… they distribute that executable with the WordPress package itself, which means, by the terms of the GPL license they are required to follow, that they must offer the source code as well.
The final argument in the bug report relies on the fact that inside one of the Javascript files that are bundled with SWFUpload there several links referenced, and if you follow one of those links and dig around you will eventually find the source code in question. Even this, however, is not actually sufficient. As Otto points out in several places during the discussion, SWFUpload is not in and of itself GPL, and are under no obligation to offer the source code. Therefore that site could disappear altogether and the source code would no longer be available. A link that is not a direct download being mentioned in a Javascript file is not even close to WordPress offering a place for people to download the source code.
Otto is right in one respect though, the flash file in question is under the MIT License. This license is short and sweet, and in it’s entirety reads:
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
That middle line in the license, “The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.”, is non-trivial. It plainly states that a copy of this license must be included with the software. It does not say that “a copy of the notice or a link to it” is required, it clearly states that the notice itself needs to be there… and this notice just happens to be missing from the copy of the software distributed with WordPress. It also happens to be missing from from the thickbox package that is found in wp-includes/js/thickbox as well. The fact that either copy of the license was missing from wherever the WordPress developer who included it in the package got it originally is no excuse for WordPress being non-compliant, either. It is Matt Mullenweg’s responsibility, as the distributor, to ensure that all of the licenses are in line.
There is no question, ever since WordPress included the SWFUpload software without it’s source code, which as near as I can determine started in version 2.5, they have been in clear violation of the very license they have been bashing other people over the head with. Fixing it now will not change the fact that they violated it for years, either. There really is no excuse for this.
Update: I just wanted to include a section in the GPL FAQ that I missed before that is strongly relevant to this discussion, “I downloaded just the binary from the net. If I distribute copies, do I have to get the source and distribute that too?”
Yes. The general rule is, if you distribute binaries, you must distribute the complete corresponding source code too. The exception for the case where you received a written offer for source code is quite limited.
Honestly, it doesn’t get any clearer than that. Mind you, that won’t stop people from trying to argue the point further, but the FSF themselves are very succinct on that point. SWFUpload is a binary that the WordPress developers downloaded from somewhere else and included in their package, the GPL requires that the source code be included. WordPress has been in violation of the GPL for a few years now at least.
So, since nobody ever answered my final question on that Trac ticket, perhaps you can: are these files – ExternalCall.as, FileItem.as, SWFUpload v2.as3proj, SWFUpload.as, and deploy.bat – the “source” for the swfupload.swf binary? I’m assuming so, but like I said on the ticket: I know nothing about Flash.
I really, really can’t understand how WPORG can justify being so strict in enforcing 100% GPL adherence for third-party extensions (that aren’t even inherently derivative of WordPress), while simultaneously being so utterly dismissive of GPL-compliance issues in WordPress itself.
(That’s no true; I can understand. It’s just that I don’t really want, and have thus far chosen not, to articulate the implications.)
Chip, yes, those are source flash source files. Assuming they are the ones used in compiling the version of the flash uploader that ships with WordPress then including them in the same folder as the binary would fix one of the current license violations.
I still am at sea as to how anybody could interpret the MIT license as saying that we need to include their source code.
I grant you that perhaps a copy of the MIT license should be pasted into the associated JS file.
“…in clear violation of the very license…” You’ve got to be kidding me. Don’t you have anything better to do? Request the source, and they’ll eventually get it to you if they have to (which you say they do) and probably even if they don’t.
Otto, the MIT does not say that. The problem is with the fact that you are distributing them together in a GPL package. The GPL clearly states:
It’s that “each and every part” that you seem to be missing. Yes, someone can download WordPress, yank out just the swf file, and redistribute it under just the MIT license, since that is the license for just that piece of software when distributed as a solo package. That’s not how it is being distributed when packaged with WordPress.
You could actually even be compliant if you packaged all of the MIT software above the /wordpress directory level in the archive, since that would count as an aggregation and not as being bundled with it, and the GPL directly addresses doing so. You would still need to make sure each file had it’s proper licensing accompanying it, and of course you would then need to include directions on how to install each piece, but it would satisfy things from a licensing perspective.
Michael: It’s that very same “each and every part” which you seem to be reading too much into.
First, you have to understand what “GPL-Compatible” means. The GNU website explains it quite well: http://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean
Now, we’ve accepted that the SWFUpload code is MIT licensed, right? Okay, well, the MIT license is GPL compatible. You can find it listed here under “X11 License”: http://www.gnu.org/licenses/license-list.html
So, now that we’ve established that the licenses are compatible, GNU tells us that the code can indeed be combined. With me so far?
To address what you quoted from the GPL, I’m going to point out the important bit:
So, the *whole* of the WordPress package must be GPL. And the permissions for other licensees (anybody who downloads WordPress) are all GPL as well.
This doesn’t have the effect of magically relicensing SWFUpload into GPL, it only has GPL on it as part of a wrapper of the whole. Yes, the GPL extends to every part… but you can’t take away permissions once granted. And SWFUpload grants more permissions.
See, licensing is all about giving permissions to other people. By default, nobody would have permissions on a package (pure copyright). The GPL is the license by which other people gain those permissions. So they are gaining permissions to the whole of WordPress, and everything in it, via the GPL license.
But for SWFUpload that is MIT licensed in particular, they gain MORE permissions from the MIT license that it is under.
In other words, WordPress only grants permissions to swfupload.swf under the terms of the GPL, but the SWFUpload folks, (who are the actual copyright holders of the code, mind you), give permissions under the MIT license, which has much less restrictions on it than the GPL does.
Savvy? The bottom line is that without a license of some sort, you would have zero permissions on the swfupload code. WordPress has included it and grants permissions on every part of WP under the GPL. But you get way more from the original owners, and that takes precedence specifically because of the nature of copyright.
It’s not about packaging, or aggregation. It’s about copyrights.
“So, the *whole* of the WordPress package must be GPL.”
You’re right, it does, and it’s not about “relicensing” the SWFUpload. The reason that the MIT license is compatible is because you don’t need to take anything away from it in order for it to be GPL compliant… you only need to add to it, and in this case the only thing you need to add is the source code. That doesn’t change the licensing, but it does bring it in line with the requirements of a package that is distributed under the GPL v2. To make the statement that the package as a whole is GPL but not every piece in it meets the requirements of the GPL is not even meaningful. GPL compatible does not equal GPL, and the WordPress Foundation clearly states that everything offered for download from their site is 100% GPL.
Okay, the problem with your argument now, Michael, is that the MIT license doesn’t say that WordPress has to re-release the source code by including swfupload.
If you go look at the GPLv2 (http://www.gnu.org/licenses/gpl-2.0.html) , you’ll find this right in section 0:
As I pointed out before, at this point, swfupload is MIT. The GPL license doesn’t apply to it. So when the WP Team rereleases it, it’s not GPL’d until they release it.
That’s the important part. That’s where it becomes GPL’d to begin with.
Let’s say I write a program, and release only the binary form of it. Then I say “It’s GPLv2, go nuts”, but I don’t release the source. Have I violated the GPL? I’m the copyright holder. I have all the rights. The license doesn’t apply to me because I’m the one granting rights to others. And what, I’m gonna sue myself?
The MIT license is the only license that applies to other people (anybody) including the swfupload code in their product, because it’s the one giving them the rights to re-release the code.
The fact that the GPL applies to the WordPress team from b2/cafelog is irrelevant. The swfupload code was not in b2/cafelog, it is an independent work with it’s own license. The license for swfupload is the one *anybody* re-releasing it must adhere to. And I grant you that the lack of the license text is a violation, but it is a minor one. SWFUpload does not include the license text in their own core.zip download file.
Now, that said, Mark has decided to put the swfupload source code up for download on wp.org (it’s not up yet). That’s understandable, but from a pure licensing standpoint, it’s unnecessary. It’s probably a good thing to do, but it’s not a *required* thing to do.
BTW, that is an important thing to remember for claims of license violations: Who can sue?
Remember, a license violation occurs when somebody with rights (the copyright holder) releases something under a license to somebody else (the downloader), and then that person does something the rights holder said they couldn’t do.
In this case, nobody can sue. SWFUpload has granted the permission to re-release it, with or without source, or to do pretty much anything else anybody wants with it, to everybody. Their license specifically says that you can re-release the code and sub-license it and so on. Who’s copyright was violated? If WP has really violated the GPL, then the rightsholder of whoever got violated should be able to bring suit against them… Except that nobody’s rights were violated. They didn’t violate the GPL.
Saying it’s GPL and complying with the GPL are not the same thing. You will not have released it as GPL if you do not offer the source code. The fact that’s how you think this works helps me to understand where it is that you are not getting it, and leads me to believe that you never will unless you hear it from someone else.
Please read the preamble to the GPL, and try to understand what it means to grant that license:
Making the source code available is an integral part of actually granting the license.
Back to SWFUpload… please read this part of the GPL v2 FAQ carefully, What does it mean to say that two licenses are “compatible”?:
That means that the only way to mix two licenses is if you satisfy both licenses at once. It is “a required thing to do.”
If you don’t release the source, then you’ve not released the code under GPL. Why? Because your licensees will be completely unable to comply to the terms of the license, since they don’t have access to the source.
They can’t sue you, but neither can you claim that the code is licensed under GPL.
Otto, by the way, I didn’t mean for my comment about you not changing your mind unless you hear it from someone else to be offensive, I just honestly think that you would need to hear the exact same thing from someone on the WordPress team in order to agree with it. It took Mark re-opening the ticket and assigning a priority to it for you to not close it again, and I suspect something similar would need to occur here. The wording of the license isn’t going to change, and no amount of bolding, offering links, or putting into context is going to make you consider the possibility that you are wrong. Not trying to be argumentative, I just think that at this point we are going to wind up going in circles with it.
You’re right; making swfupload.swf part of the “whole package” of WordPress does not magically relicense swfupload.swf.
But if whomever distributes that “whole package” of WordPress does not acquire and provide the source files for swfupload.swf, then the distributor can no longer claim that the “whole package” of WordPress is GPL.
Why? Because licensees do not have the required components for complying with the license; namely, the source files for swfupload.swf.
The solution is simple: add a MIT license notice with swfupload.swf in the distributed WordPress package, as required by the MIT license, and acquire and make available the source files for swfupload.swf.
Note that WordPress being compelled by its license to acquire and make available the source files for swfupload.swf in no way whatsoeer compels the copyright holder of swfupload.swf to do anything. Further, WordPress being compelled by its license to acquire and make available the source files for swfupload.swf does not violate the MIT license under which swfupload.swf is released. That is the reason that the MIT license is “GPL-compatible”: because MIT-licensed code can be made to meet the more-strict requirements of the GPL without thus violating the terms of the MIT license.
You seem not to be willing to distinguish between redistribution of swfupload.swf as a stand-alone work and redistribution of swfupload.swf as an integral component of a GPL-licensed, whole work. I don’t understand this unwillingness. After all, the GPL itself makes this distinction.
Your argument would only make any sense whatsoever if this distinction, made in the GPL itself, were immaterial.
Bottom line: WPORG could redistribute swfupload.swf as a stand-alone work, under the MIT license, and be under no compulsion whatsoever to provide its source files – but since WPORG makes swfupload.swf an integral part of the WordPress work, which is licensed as a whole as GPL, then WordPress compels itself to acquire and to make available the source files for swfupload.swf.
Okay, too many replies to reply to all of them directly. So I’ll summarize the majority of the arguments made in the last few replies.
BTW, I really do know WTF I’m talking about here. I have lived, breathed, and studied the GPL and it’s implications for the last 15 years. I’ve been using Linux since 1995, and writing free and open source code since before the GPL was created. I’m not bragging, I’m just saying that yes, I do know I’m right, and no, you will not convince me otherwise. I just want you to understand that I am not arguing just to argue, I am writing this in an attempt to educate you, to help you understand how things work.
So don’t consider this an argument. I don’t. I’m sincerely trying to help you understand the way the GPL works here.
Okay, so, firstly, if create something, then I can release and license it under ANY terms I please. Period. That’s simple copyright law. Whether those terms hold up or not is a different story, but I CAN choose my terms for anything I create.
So, if I want to release a JPEG and say that it’s GPL, then I can do so. You seem to think that I can’t use the GPL for anything I want, but that’s not true. The GPL is a license. If I state that the terms under which I allow you to use something are X, then they are X. Period. I can release anything I create under any terms I care to state. Whether those terms make sense or not is not the point.
So saying that “You will not have released it as GPL” is nonsense. I can release anything I create under any terms I want, period.
Now, moving on… You state that other parties may not be able to comply with those terms. That is technically correct, however you are incorrect in this particular instance.
Section three of the GPL:
So people wanting to redistribute a binary only release can distribute it as long as they also accompany it with the source under section 1 and 2. Right? Okay, follow along now:
The important bit is highlighted. “As you receive it”.
If you don’t receive the source, then you don’t have to distribute it.
So, I *can* release a binary only via the GPL. And then other people CAN redistribute it. This has been done before. Many, many times. And, in fact, it’s perfectly acceptable and fits with the GPL just fine.
Now, you may think that would be kind of pointless. And you’d be right, for my silly and contrived example of writing and releasing an executable-only, it would be. However, for the less silly case where free code is integrated into other GPL works, it’s not as silly or contrived and it in fact happens all the time. A number of Linux distributions include binary-only kernel modules, for example. I’m sure you can find other examples.
Crap. I screwed up the blockquoting. Can you end the blockquote there before “The important bit is highlighted”? Sorry.
Oh, one more thing. I want to reiterate that I’m only referring to the implications of the GPL here, not whether they can include the source, or how easy it would be, or any of that stuff. Sure, they could (and in fact are) making it available.
My whole point is simply that the GPL does not actually make it a requirement. That is a misinterpretation of what the GPL says.
And anyway, I’d be surprised if swfupload continues to be used in, say, 3.3 or so.
Let’s look just at that one statement for now. If that very broad statement were absolutely true, then why would the GPL actually answer the question of “Can I use the GPL for something other than software?” with a caveat, a “yes, as long as” reply?
Right there, they are putting a restriction on what you can use their license for, and they are claiming that clarity in what the source code is for the work is the only requirement. Why is it, in your understanding, that they don’t simply say, as you believe, that the GPL can flat out be used for anything, regardless?
That FAQ page is basically trying to point out that it doesn’t make a whole lot of sense to use the GPL for something like documentation or a book or something.
The only reason they added that sort of thing is because, long ago, the question came up about documentation. People were releasing code and documentation and all sorts of other things and saying that the license was GPL. This was because they too didn’t fully understand that the GPL was a specialist license, designed primarily for code. A few cases cropped up where documentation under the “GPL” was printed into books and sold, and this created confusion about whether or not that was allowed and so on.
It may not make sense to use the GPL for text documentation, or images, or what have you. But you can still do it. In such a case, it becomes unclear how somebody wanting to use the work would be able to do so and comply with the license.
Note that they go on to *recommend* using a different license. Legally, the license on your work is what you say it is, no matter how little sense it makes.
But again, then why the caveat? Why not just say, “Sure, license whatever you want as GPL, but something else would work better?” What they do say is yes, and then add a restriction pertaining to source code… why is it, in your mind, that they do that?
I’m not sure why you are calling it a “restriction”? A blurb on their FAQ page is not a restriction on how you can use the license.
I could just as well ask you why they go on to say:
Why not just say “for manuals and textbooks, you cannot use the GPL”?
Answer: Because they can’t restrict what terms you put on your creative work. Not really. The GPL is meant to be a free licence, something anybody can use for whatever they need to apply it to? They don’t tell you outright what you can and can’t use it for because they want you to be able to use it for anything that makes sense.
This comment is left here to allow me to subscribe to this thread via email.
I’m sorry, I have no idea why you think that “you can, as long as” isn’t a restriction. It is a “yes, but” statement. That’s not law, that’s the English language, and again, at this point I have to stop. If you’re able to rationalize in your head that phrases means something other than what it actually means, then I’m stumped. Not trying to be rude, but seriously, I think you have some sort of a mental block preventing you from seeing things as they really are. It’s not a “blurb on their FAQ”, it’s a statement that speaks to the core to the principles behind the license, and what you are allowed to apply it to.
I honestly don’t know how to respond to that.
It’s clearly not a “restriction”, because they don’t actually have that sort of power. The GNU organization is not some kind of overarching entity with total power over your actions.
And the fact that the GPL has actually been applied to documentation and books before sort of makes your point kinda moot.
Just one final thing for tonight. Sleep is calling:
You, as the copyright holder, have the right to license your work under any terms you wish; however, as per the first line of the GPL, you do not have the right to change the terms of that license.
So, claiming that you have licensed your work under GPL has implications, and if you don’t choose to comply with the terms of the GPL in how you license your work – e.g. if you choose not to make the source available – then your work is not licensed under the GPL.
Your work is duly licensed, but it is not GPL if you don’t fulfill to your licensees the rights granted by the GPL. If you don’t fulfill those rights to your licensees, then your work is not GPL-licensed.
Rather, it’s the Otto’s Almost Exactly Like GPL Except You Don’t Get Source Files license. It’s your own custom license; not GPL.
No, sorry, you are mistaken.
I am the copyright holder of works I create. I own all the rights. No license applies to me, because who is there to enforce it? The license is my way of giving rights to you.
Your statement is basically nonsense. Saying that it “is not licensed under the GPL” is nonsensical when I, the *owner of the work*, am the one who decides what terms and conditions I allow others to use that work.
You’re making up this requirement on me out of nowhere. The GPL lays zero restrictions on what the copyright holder can do.
I’m sorry Chip, I respect you and all, but your opinion given above makes no legal sense of any sort, whatsoever.
One more thing before done for the night:
The GPL does not grant rights.
The copyright holder grants the rights to other people.
The GPL is the set of terms and conditions (aka, the license) by which he grants you those rights.
The GPL holds no power whatsoever without the protection of copyright.
Indeed, the GPL can’t compel you, as the copyright holder, to do anything. I’m certainly not trying to make that claim.
But if you fail to grant your users the rights contained in the GPL (in this case, the right to access and edit the source files), then you have not actually licensed your work under GPL.
You have licensed your work in perfect conformance to copyright law. Your licensees have no right to sue you to for access to the source files. Neither your licensees nor the GPL nor anyone else can legally compel you to provide those source files.
But if, upon request, you don’t provide the source files, your work is not GPL-licensed, no matter what you claim to the contrary.
Simple example: Clause 2 of GPLv2
You claim that you are giving your licensees this right, but if your work is a binary file, and you do not provide the source files, your licensees do not, in fact, have this right, because a binary file cannot be modified.
Another example: Clause 3 of GPLv2
Again, you claim that you are giving your licensees this right, but if your work is a binary file, and you do not provide the source files, your licensees do not, in fact, have this right, because they are thus unable to fulfill this license obligation.
In other words: you are free to claim that your work is GPL-licensed, but if you do not provide your licensees the source code, then your claim is invalid.
I know you didn’t just say that. The “cracking” scene for pirating games and such is built around modifying binary files.
My “claim” is the only thing needed to make a license valid.
You are correct in that it is possible to create a situation where incorrect application of the GPL to a work will make it impossible for any licensees to exercise any rights upon that work. However, that doesn’t invalidate the fact that the GPL is the active license for the work.
It’s entirely possible for me to state that to use my work, you must prove the existence of a small china teapot revolving about the sun in an elliptical orbit between the Earth and Mars. And that would be the Russell’s teapot license. The fact that it is impossible to fulfill doesn’t make it invalid.
BTW, applying the GPL to a binary-only release, using the example I gave before, does not make it impossible to fulfill the terms, as I also stated earlier. The existence of “as you receive it” in section one removes the requirement for a licensee to include the source code that they did not receive. The fact that they can’t modify the work (easily) doesn’t remove their right of redistribution.
In effect, applying the GPL to a binary-only work basically gives the licensee unencumbered usage of that work, for any purpose, the right of redistribution, and the requirement that they not attempt to take any rights away from anybody they distribute the work to. They do have the right of modification, but lack the ability to do so.
Note that the GPLv3 specifically recognizes this fact with regards to DRM, and prohibits usage of it in this manner. This sort of thing was one of the driving reasons for creation of the GPLv3 in the first place. In other words, they knew this could be done and so rewrote the license to avoid it.
Can you please correct a little detail in your post?
I’ve never written that the ticket is about a single file.
And I didn’t name that swf file.
I just quoted someone who did because it confirmed that there are files in the package no source in the meaning of the GNU GPL is offered for by wordpress.org while the package is being distributed on wordpress.org under that said license terms.
My ticket was about asking for more information about sources generally so it’s possible to resolve potential problems.
In the end I think this simple and general question of mine will indeed resolve a lot of problems.
hakre, I included your post verbatim, and I never said you named the file. You made this statement: “But as it’s known, there are files and parts in these, that are binary blobs and w/o their source as specified in the terms of the GNU GPL.”… as it turned out, the only file (at this time, anyway) that matched is the swf file. I will link to your comment though just in case anyone is confused about what your intentions were.
Thanks Michael, it’s a pleasure. Clarification is much better fitting then correction btw.
Otto, please, again, you are wrong. From the FAQ:
I downloaded just the binary from the net. If I distribute copies, do I have to get the source and distribute that too?
“Binary downloaded from the net”… does that sound like an swf you might have seen before?
Michael: Once again, I must reiterate that the GPL does not apply to SWFUpload, as they are releasing it under the MIT license.
I cannot stress this enough. The SWFUpload binary does not come under the GPL until WordPress packages it as part of WordPress. Only after that event does the GPL apply to it, and then only as part of the WordPress package.
So are you saying that someone downloading WordPress, which contains a binary file, from wordpress.org, doesn’t fall under the use case described by the FAQ question that Michael quoted?
I think the problem here is this clause:
If I’m understanding you correctly, you are interpreting the phrase as you receive it as being semantically equivalent to if you receive it.
The problem is, as you receive it is not semantically equivalent to if you receive it. Granted, that assertion is entirely a matter of opinion until decided in a court case – but the remainder of that section makes no sense at all, unless the license presumes that the licensee has received the source files – in which case, as you receive it absolutely cannot mean if you receive it.
But, I’ll have to do a bit of research to see how this clause has been interpreted elsewhere.
Chip, you’re free to disagree with me on that point, but you are correct that that is my interpretation of things. It’s also the only logical interpretation that I think can be made.
The reason for the semantic confusion here is that the GPL is specifically an open source license, so it presumes you’re releasing the source as well. Obviously there is going to be some confusion over what happens when you don’t. But the wording of the license is clear enough to back up my interpretation of it, I think.
That said, this conversation is all moot. The ZIP file, as gotten from swfupload, will be available on wordpress.org soon.
Oh, see, now there you are quite wrong. There is nothing about this issue that is “moot”. Taking into consideration how Matt used issues concerning the GPL to treat people in the community? The fact that they violated the license for years, including when they were attacking others over it, is very, very important. Fixing it now without a profuse and public apology to everyone that was attacked and insulted because of GPL issues would be a good start at setting things right, but I think that trying to fix it quietly and sweep it under the rug is the more likely route.
Also, putting it on WordPress.org is only part of the solution. If they are not going to ship the source with the binary there are extra steps they need to go through as well. They would be better off scraping that element altogether.
So then, this entire argument is about Emotional Gratification on one side, Logical Reasoning on the other. No resolution is possible then.