Make WordPress Core

Opened 14 years ago

Closed 14 years ago

Last modified 13 years ago

#16517 closed defect (bug) (fixed)

What about / Whom to ask for full/missing wordpress source-code?

Reported by: hakre's profile hakre Owned by: markjaquith's profile markjaquith
Milestone: 3.1 Priority: high
Severity: normal Version:
Component: WordPress.org Site Keywords:
Focuses: Cc:

Description

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.

Change History (41)

#1 follow-up: @Otto42
14 years ago

  • Resolution set to invalid
  • Status changed from new to closed

What sources are missing? The ZIP packages are taken straight out of the SVN. Everything WP is in those packages.

#2 @johnbillion
14 years ago

The only binary files in WordPress are SWF files.

There's one for SWFUpload, the source of which is available from the SWFUpload website (which can be found in the SWFUpload JavaScript files).

There's also a generic FLV player plugin for TinyMCE. Not sure where the source for this is though. Possibly on the TinyMCE website?

#3 @filosofo
14 years ago

The flv player was removed. See #14647

#4 in reply to: ↑ 1 @hakre
14 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

Replying to Otto42:

What sources are missing? The ZIP packages are taken straight out of the SVN. Everything WP is in those packages.

And Replying to johnbillion:

The only binary files in WordPress are SWF files.

So there are binary files in the package. That's what I saw as well.

@Otto42: Please read the terms carefully. It's written that if there are binary files, that certain terms apply for providing source. I can't see those met. One of them is the offer for sources. I could not find that anywhere in the package.

Last edited 14 years ago by hakre (previous) (diff)

#5 follow-ups: @Otto42
14 years ago

  • Resolution set to invalid
  • Status changed from reopened to closed

Firstly, the only binary file I can find any reference to is SWFUpload, and that is MIT Licensed, not GPL. The MIT License has no requirement for providing source code.

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.

There is no requirement for WordPress to release the source code for a single binary file which they did not write and which is not GPL licensed to begin with. Your argument is invalid.

#6 in reply to: ↑ 5 @hakre
14 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

Replying to Otto42:

There is no requirement for WordPress to release the source code for a single binary file which they did not write and which is not GPL licensed to begin with.

GPL source requirements apply to the modified work as a whole. That's in §2.

(Remark to quote: The file in question is part of the wordpress software package.)

#7 @hakre
14 years ago

As an additional note worth for clarification: Any third party code or works that get re-distributed within the package are under the packages license (GPL previously, GPL v2+ for WP 3.0.5 and ongoing).

For originally MIT licensed code this means, that additional terms apply for the code in the work or package. That's why we're looking for GPL compatible licenses, because we need the right on non-GPL code to put it into the package and distribute it under GPL.

Last edited 14 years ago by hakre (previous) (diff)

#8 in reply to: ↑ 5 @hakre
14 years ago

Replying to Otto42:

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.

Pardon?

Maybe you have just overlooked that the package forked from b2/cafelog? And that the actual copyright holder of the code includes contributors whose code got used by project members to add it to the software?

#9 in reply to: ↑ 5 ; follow-up: @chipbennett
14 years ago

Replying to Otto42:

Firstly, the only binary file I can find any reference to is SWFUpload, and that is MIT Licensed, not GPL. The MIT License has no requirement for providing source code.

Wait, what? I find this response confusing. Either WordPress is distributed 100% GPL or it is not. If WordPress is 100% GPL, then the source-code provision applies to 100% of the code (including erstwhile MIT-licensed code that has been re-licensed as GPL for distribution with WordPress). If WordPress is not 100% GPL, then don't we have a bigger problem?

As for the GPL, we are under no obligation to provide anything at all.

That depends on who we are? You are correct, if by we you are referring to the individual code contributors. However, I didn't see the ticket call out by name you or any other specific code contributor - and quite frankly, trying to divert the point at hand away from the WordPress project to the individual contributors is less-than-helpful.

Bottom line: whomever is responsible for distributing WordPress (i.e. the WordPress Foundation, or currently more accurately, Matt Mullenweg, as the owner and responsible party for the wordpress.org web site), is under obligation to provide full source code for 100% of WordPress.

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.

Downstream is not required, but rather only distribution. WordPress is being distributed, ostensibly licensed 100% under GPL - and whomever is responsible for that distribution is responsible for fulfilling the terms of the GPL, including full source disclosure.

There is no requirement for WordPress to release the source code for a single binary file which they did not write and which is not GPL licensed to begin with. Your argument is invalid.

I can't believe you actually just said that.

#10 in reply to: ↑ 9 ; follow-up: @Otto42
14 years ago

Replying to chipbennett:

Wait, what? I find this response confusing. Either WordPress is distributed 100% GPL or it is not. If WordPress is 100% GPL, then the source-code provision applies to 100% of the code (including erstwhile MIT-licensed code that has been re-licensed as GPL for distribution with WordPress). If WordPress is not 100% GPL, then don't we have a bigger problem?

You both misunderstand the nature of the GPL, GPL-Compatible, and how licensing works.

Code cannot be "relicensed" by anybody other than the copyright holder. You cannot put licensing terms on code that you do not own, period.

So we can't "relicense" the SWFUpload code any more than I could take code you released and put my own terms on it and then re-release it. That's theft.

The term "GPL-Compatible" means that the code has licensing terms on it that are equal to or less restrictive than the GPL itself. This means that we can release it as part of a larger work which is GPL. The individual pieces can have their own terms, but the work-as-a-whole is GPL'd.

The terms in section 2 make this clear:

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

So the GPL applies to WordPress as-a-whole, but not to the individual and independent parts of it, such as SWFUpload, when they are separated out. SWFUpload has not be "re-licensed", it's been included in another work which has a more restrictive license than it itself has.

Bottom line: whomever is responsible for distributing WordPress (i.e. the WordPress Foundation, or currently more accurately, Matt Mullenweg, as the owner and responsible party for the wordpress.org web site), is under obligation to provide full source code for 100% of WordPress.

No, he is not. GPL, Section 3:

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, even though third parties are not compelled to copy the source along with the object code.

And that is for the case where the code was GPL to begin with. Which, as I stated before, does not apply to the SWFUpload code as it is not GPL, but MIT licensed. Furthermore, the files accompanying the SWFUpload code give its URL and the place to download it. SWFUpload is included in WordPress in an unmodified format. There are no changes to it that need their source code included.

WordPress is being distributed, ostensibly licensed 100% under GPL - and whomever is responsible for that distribution is responsible for fulfilling the terms of the GPL, including full source disclosure.

The GPL makes absolutely no such requirement to begin with. You are misunderstanding the terms.

Let's say I write a work and release it in object form only. An executable. I then say that that executable is licensed under the GPL. Do I now have to release the source code for it? Absolutely not. It's my work, I wrote it, I own it. I am not under the terms of the GPL, I am making it available to *other people* under those terms.

I'll state it one more time: WordPress.org (the group doing the releasing of WP) is under no obligation to provide the source code for a work that they have not modified, and when they have given the location where it may be obtained from the original source, and when it is not GPL licensed to begin with.

#11 in reply to: ↑ 10 ; follow-up: @chipbennett
14 years ago

Replying to Otto42:

Replying to chipbennett:

Wait, what? I find this response confusing. Either WordPress is distributed 100% GPL or it is not. If WordPress is 100% GPL, then the source-code provision applies to 100% of the code (including erstwhile MIT-licensed code that has been re-licensed as GPL for distribution with WordPress). If WordPress is not 100% GPL, then don't we have a bigger problem?

You both misunderstand the nature of the GPL, GPL-Compatible, and how licensing works.

Code cannot be "relicensed" by anybody other than the copyright holder. You cannot put licensing terms on code that you do not own, period.

I realized after I hit "submit" that I used a poor choice of phrasing there. I meant "GPL-compatible".

So we can't "relicense" the SWFUpload code any more than I could take code you released and put my own terms on it and then re-release it. That's theft.

The term "GPL-Compatible" means that the code has licensing terms on it that are equal to or less restrictive than the GPL itself. This means that we can release it as part of a larger work which is GPL. The individual pieces can have their own terms, but the work-as-a-whole is GPL'd.

The terms in section 2 make this clear:

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

So the GPL applies to WordPress as-a-whole, but not to the individual and independent parts of it, such as SWFUpload, when they are separated out. SWFUpload has not be "re-licensed", it's been included in another work which has a more restrictive license than it itself has.

I think you're misreading that clause. Let's parse:

If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works

The binary in question is not being distributed by WordPress as a separate work, but rather as a component of the whole package. Thus, we must consider the next clause:

But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

That's pretty clear: GPL permissions for other licensees extend... to each and every part [of the whole].

Bottom line: whomever is responsible for distributing WordPress (i.e. the WordPress Foundation, or currently more accurately, Matt Mullenweg, as the owner and responsible party for the wordpress.org web site), is under obligation to provide full source code for 100% of WordPress.

No, he is not. GPL, Section 3:

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, even though third parties are not compelled to copy the source along with the object code.

So where is this "designated place" from which WordPress offers for licensees to download source files for the binary in question?

And that is for the case where the code was GPL to begin with. Which, as I stated before, does not apply to the SWFUpload code as it is not GPL, but MIT licensed. Furthermore, the files accompanying the SWFUpload code give its URL and the place to download it. SWFUpload is included in WordPress in an unmodified format. There are no changes to it that need their source code included.

*Runs off to check core...*

Okay, so the link provided goes to the SWFUpload project website, which itself links to a googlecode repository for the code itself. Is the swfupload.swf source file somewhere in here?

WordPress is being distributed, ostensibly licensed 100% under GPL - and whomever is responsible for that distribution is responsible for fulfilling the terms of the GPL, including full source disclosure.

The GPL makes absolutely no such requirement to begin with. You are misunderstanding the terms.

No, I'm not. Let me quote them again:

But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

SWFUpload is being distributed as part of the whole of a work that is licensed under GPL, and is itself derived from another GPL-licensed work. Thus, the license of the work as a whole, in order to conform to the terms of the license, must extend to the entire whole, and thus to each and every part of the whole.

Let's say I write a work and release it in object form only. An executable. I then say that that executable is licensed under the GPL. Do I now have to release the source code for it? Absolutely not. It's my work, I wrote it, I own it. I am not under the terms of the GPL, I am making it available to *other people* under those terms.

That's nice, but not germane. WordPress itself is a derived work. The copyright holder for SWFUpload did not directly contribute the work to WordPress, but rather the work is being redistributed. So, none of what you just said has any bearing whatsoever on the matter at hand.

I'll state it one more time: WordPress.org (the group doing the releasing of WP) is under no obligation to provide the source code for a work that they have not modified, and when they have given the location where it may be obtained from the original source, and when it is not GPL licensed to begin with.

I will 100% agree that WordPress is in the clear, if someone can point out where the swfupload.swf source file is made available. I assume that, if it's available, it's here somewhere?

Which, really, would put a quick end to this ticket.

#12 in reply to: ↑ 11 ; follow-up: @Otto42
14 years ago

Replying to chipbennett:

I think you're misreading that clause.

No, I'm not. Really.

The binary in question is not being distributed by WordPress as a separate work, but rather as a component of the whole package.

True, but only the whole package is what is being licensed. The license cannot apply to SWFUpload when you pull it out and consider it separately.

And that was sort of my point. WordPress, the package, is GPL licensed. SWFUpload is not, even when you get it by taking it out of WordPress, the package.

Thus, we must consider the next clause:

But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

That's pretty clear: GPL permissions for other licensees extend... to each and every part [of the whole].

To each and every part [of the whole], yes, but only when they are in the whole.

This is very important: you cannot, ever, under any circumstances whatsoever, relicense something that you do not own. It makes absolutely no difference what any license text says, you cannot put a different license on somebody else's work. A license is a statement that grants rights to other people. If you don't have the copyright, then you cannot grant rights to others.

If I take the WordPress package and pull SWFUpload out of it, then that specific piece is not GPL licensed. It's only the work as a whole that is GPL, and all the parts of it which WordPress owns the copyrights to that it can grant rights under the GPL for.

And that's what that phrase really means. If I take a bunch of files I created and say "this package is GPL", then all the parts in it are GPL'd individually as well... If I have the copyright and thus the power to grant rights to other people. But I can't grant conditional rights to code that I don't own.

So where is this "designated place" from which WordPress offers for licensees to download source files for the binary in question?

From swfupload.js:
/

From both of those two URLs at the beginning: http://www.swfupload.org, http://swfupload.googlecode.com you can find several "Download" links. Downloading would give you the source code. 15 seconds of investigation would give you that.

Okay, so the link provided goes to the SWFUpload project website, which itself links to a googlecode repository for the code itself. Is the swfupload.swf source file somewhere in here?

The main download page is right here: http://code.google.com/p/swfupload/downloads/list

The "core" package contains the SWF file and the source you need to build it.

I will 100% agree that WordPress is in the clear, if someone can point out where the swfupload.swf source file is made available. I assume that, if it's available, it's here somewhere?

Which, really, would put a quick end to this ticket.

*headdesk*

#13 in reply to: ↑ 12 ; follow-up: @chipbennett
14 years ago

I'm really not interested in generating or engaging a GPL flame war. We apparently disagree on the clause in question, and neither will change the other's mind on the matter. So, I'm just going to cut to the relevant comments.

Replying to Otto42:

Replying to chipbennett:

So where is this "designated place" from which WordPress offers for licensees to download source files for the binary in question?

From swfupload.js:
/

From both of those two URLs at the beginning: http://www.swfupload.org, http://swfupload.googlecode.com you can find several "Download" links. Downloading would give you the source code. 15 seconds of investigation would give you that.

Please don't antagonize. I linked to the project repository already. You don't need to point it out to me again, sarcastically.

Okay, so the link provided goes to the SWFUpload project website, which itself links to a googlecode repository for the code itself. Is the swfupload.swf source file somewhere in here?

The main download page is right here: http://code.google.com/p/swfupload/downloads/list

The "core" package contains the SWF file and the source you need to build it.

I will 100% agree that WordPress is in the clear, if someone can point out where the swfupload.swf source file is made available. I assume that, if it's available, it's here somewhere?

Which, really, would put a quick end to this ticket.

*headdesk*

By source file, I am referring to the GPL definition of the term: the editable file, not the binary. I see the source binary file, but have no clue which one is the corresponding source text file.

Look: I don't know Flash. Those files are all Greek to me. Rather than condescendingly smacking your head on your desk, could you instead simply point out which one of those text files corresponds to the binary in question? If you'll kindly do that, I'll be done here, as at that point, I will believe that the concerns of the ticket itself have been satisfied.

#14 in reply to: ↑ 13 ; follow-up: @Otto42
14 years ago

  • Resolution set to invalid
  • Status changed from reopened to closed

Replying to chipbennett:

Look: I don't know Flash. Those files are all Greek to me. Rather than condescendingly smacking your head on your desk, could you instead simply point out which one of those text files corresponds to the binary in question? If you'll kindly do that, I'll be done here, as at that point, I will believe that the concerns of the ticket itself have been satisfied.

Download the "core" package.

Unzip it.

In there you will find a directory called "Flash".

That contains the source code and binary for the swfupload.swf file. The "source" is more than one file, although the majority of it is in SWFUpload.as.

#15 in reply to: ↑ 14 @chipbennett
14 years ago

Replying to Otto42:

Download the "core" package.

Unzip it.

In there you will find a directory called "Flash".

That contains the source code and binary for the swfupload.swf file. The "source" is more than one file, although the majority of it is in SWFUpload.as.

Okay, so the following files correspond to the swfupload.swf binary?

  • ExternalCall.as
  • FileItem.as
  • SWFUpload v2.as3proj
  • SWFUpload.as
  • deploy.bat

If that's true, then I'm satisfied.

#16 @hakre
14 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

So far I assume the GNU GPL used on software packages regulates rights and responsibilities in connection to the software contained therein.

However, Ottos argumentation creates the image, that wordpress.org can and does deny to offer sources for some of the files in the package and therefore not complete source(s) for the package as a whole.

If wordpress.org maintains it's position as outlined above, then I would like to know where I can find the terms of use for each individual file in the package offered for download.

Without clarifying this question first, the main inquiry of my ticket about sources can't even be solved.

#17 @Otto42
14 years ago

  • Resolution set to invalid
  • Status changed from reopened to closed

WordPress doesn't need to offer the sources, because you can get them from the original source.

SWFUpload is a free package, licensed under the MIT license.

http://www.swfupload.org/
http://swfupload.googlecode.com/

WordPress has made no modifications to their sources whatsoever. You can just go download them yourself. We have links to their sources right there in the JS files associated with them.

Plus, I'm still totally at sea as to why you keep using the word "sources". There is ONE binary file in the package (not counting images). The source is clearly pointed out, both in the files and here. It's under a totally free license, even freer than GPL. and their license does not require us to provide their source code.

Please stop reopening this unless you have a valid point that has not been addressed. I will just close it again if you do.

#18 follow-up: @hakre
14 years ago

  • Resolution invalid deleted
  • Status changed from closed to reopened

Otto, the worpdress.org homepage states that the package I can download is licensed under GNU GPL.

If that information is "wrong" because some files therein do not fall under the packages licensing (that's how I read you), then I would like to know how I and other users can know that for each file in there. That's all for the moment.

The wordpress.org homepage is not offering any other information then that the files in the package are under GPL.

Last edited 14 years ago by hakre (previous) (diff)

#19 in reply to: ↑ 18 @Otto42
14 years ago

Replying to hakre:

Otto, the worpdress.org homepage states that the package I can download is licensed under GNU GPL.

The package is GPL, yes. The individual files do not have to be, as long as they're under less restrictive licenses.

See, you're correct in that the GPL provides for including files from multiple sources. This is what is meant by GPL-Compatible. A GPL-Compatible license is one that is less restrictive than the GPL itself.

The MIT license can be found on GNU's license compatibility page as the "X11 License": http://www.gnu.org/licenses/license-list.html

So in fact, while the SWFUpload code is not licensed under the GPL, it is licensed under something that is even *less* restrictive than the GPL. The MIT license does not require you to distribute sources. It also does not require you to make modifications available. You may note that on that GNU page, it mentions that it is a non-copyleft license.

Take it another way: What if we only had the binary? No sources available. Well, the binary is still free to use for any purpose. It's still under a less restrictive license than the GPL. It is still GPL-Compatible, even as a binary alone. Because it's GPL-compatible, it can be repackaged and included with GPL software. Nobody says it better than here: http://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean

What does it mean to say a license is “compatible with the GPL?”
It means that the other license and the GNU GPL are compatible; you can combine code released under the other license with code released under the GNU GPL in one larger program.

Now, somebody did point out this clause in the MIT license which I had not noticed before: "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."

So we do need to include a copy of the license along with the SWFUpload.swf file. But that's all their license requires. Here's what the MIT license says, in full:

Copyright (C) <year> by <copyright holders>

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.

#20 @Otto42
14 years ago

BTW, the major reason that we don't include the MIT license is probably because the main SWFUpload package itself doesn't include a copy of the license either.

#21 follow-up: @markjaquith
14 years ago

  • Owner set to markjaquith
  • Priority changed from normal to high
  • Status changed from reopened to accepted

We should host on WordPress.org a copy of source code to anything we include in WordPress that isn't itself source code.

#22 @Otto42
14 years ago

If we're going to do that, then can we at least zip the sources up or something, so as to reduce bloat?

#23 @Otto42
14 years ago

Never mind, nacin tells me that you meant adding them to the website and not the WP package itself. I have no problem with that.

#24 in reply to: ↑ 21 @hakre
14 years ago

Replying to markjaquith:

We should host on WordPress.org a copy of source code to anything we include in WordPress that isn't itself source code.

Thanks Mark, please do so. And please make this visible next to the package download locations, so that users can know about it.

Last edited 14 years ago by hakre (previous) (diff)

#25 follow-up: @markjaquith
14 years ago

First, regarding the MIT license for swfupload. We don't include an MIT license file with it because the project does not do so itself. So that's an upstream issue. We could add that file, at which point our handling of their license file would be better than theirs (they just link out). It might be better to reach out to them and ask them to update their project with a license/copyright file of their creation, which we can then incorporate downstream. It's a bit presumptuous to create that for them without reaching out first.

Second, regarding the GPL, please refer to the following:

  1. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

We aren't doing (a). We're going to do (b) (this is being worked on now).

Right now, we're doing (c), but not very well, because swfupload isn't doing (b) very well (they're not required to). The intact copyright notice in the swfupload files points people to their Google Code repository, where the full source code is offered. We've passed that information along. That's not as clear as it could be. It essentially says "here's the repository for this project," and when you go there, the source files are available for download. If someone wanted to find the source code, they'd just follow the link we've passed along, and they'd be offered it. But recall that the swfupload project is not required to distribute the source — they just happen to be doing so. A more sustainable solution for us it to simply host a copy of the full swfupload project source code somewhere on WordPress.org, and then reference that location somewhere in the WordPress code, and on the site. That's more obviously in compliance with the GPL (option b), and as that source will be in a location that we control, we can guarantee that the "offer" of source code remains true in the future. One could make the argument that them merely linking to the source files on Google Code isn't a "written offer." Please let's not stoop to that level of pedantry. Instead of arguing about the nuances of option (c), let's just do option (b) and be done with it.

That's what is being worked on now.

#26 in reply to: ↑ 25 @hakre
14 years ago

Replying to markjaquith:

First, regarding the MIT license for swfupload. We don't include an MIT license file with it because the project does not do so itself.

Otto from wordpress.org explicitly explained above that original copyright owners can do whatever they want, which includes to let users of their codebase download the terms from a link on their homepage that's to be put next to the files if they want to use it.

This might even include that those statement is expected to be visible in the program where you make use of the swf. Just for your imagination.

I do see that this is not an ideal situation for users of that swfupload. But a non-ideal situation does not mean that worpdress.org should not take care.

So that's an upstream issue.
We could add that file, at which point our handling of their license file would be better than theirs (they just link out). It might be better to reach out to them and ask them to update their project with a license/copyright file of their creation, which we can then incorporate downstream. It's a bit presumptuous to create that for them without reaching out first.

No-one has ever prevented you from doing so but yourself. As known, we already had this similar discussion about the IXR library and the three clause BSD license. In the end we reached out the project, they made everything crystal clear, even wordpress.org did took the license in then.

Please just fix this. There are other users downstream we should think about first. Wordpress.org was the first one who did not provide the terms even the swfupload project made this mandatory. It was worpdress.org who downloaded swfupload from the googlecode homepage and who did not download the license text from that page. It's visibly placed on the left of that librarie's page on googlecode.


Replying to markjaquith:

Second, regarding the GPL, please refer to the following:

[... (§3 GPL excerpt)].

We aren't doing (a). We're going to do (b) (this is being worked on now).

Right now, we're doing (c), but not very well

Thanks for making the current position of worpdress.org visible.

Please keep in mind that c) refers to b) and as you continue to write:

, because swfupload isn't doing (b) very well (they're not required to).

So this is two times not very well. Probably because you are mixing two licenses with each other.

Let's review b):

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange

As everybody can see, b) is referring to Sections 1 and 2 of the GNU GPL. From what it's known, swfupload is being distributed under MIT, not GNU GPL.

Swfupload therefore can not met b) not only not very well, it can not met b) at all.

Which brings your argument to a dead end and I hope you don't call that a nuance or pedantry any longer.


Tag: FIXIPO

Last edited 14 years ago by hakre (previous) (diff)

#27 @chipbennett
14 years ago

I think what Mark Jaquith is suggesting to be done both demonstrates a recognition that the project has room for improvement regarding handling of swfupload.swf, and represents a reasonable solution to the issue at hand.

If the wordpress.zip download provides clear indication that swfupload.swf is MIT licensed (including the actual copyright/license notice as required by the license), and the wordpress.org site hosts and offers for download the source files for swfupload.swf, then I am satisfied that the license requirements have been satisfied for both swfupload.swf and the WordPress package as a whole.

I believe that offering the source files for download alongside the wordpress.zip file on the wordpress.org web site could be construed as satisfying clause a):

You may copy and distribute the Program ... in object code or executable form ... provided that you also ...:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange;

Offering for download the swfupload.swf source files alongside the wordpress.zip file distributed on the website could certainly be considered to be accompanying the binary (as part of the wordpress.zip file) with the source files. Perhaps I am misinterpreting the license (wouldn't be the first time it's happened, or that I've been accused of it ;) ), but I think the project would be fully complying with the GPL at this point.

#28 @markjaquith
14 years ago

Wordpress.org was the first one who did not provide the terms even the swfupload project made this mandatory. It was worpdress.org who downloaded swfupload from the googlecode homepage and who did not download the license text from that page. It's visibly placed on the left of that librarie's page on googlecode.

A link to a generic, non-customized version of the license is on that page (and in the software itself). The license includes this:

Copyright (c) <year> <copyright holders>

They've not provided a license file with the copyright statement filled in. We'd have to include this generic license with the above dummy text. Which I'm happy to do. But it would be better that they create a proper license file and include it in the source code.

No-one has ever prevented you from doing so but yourself.

Give me a break. This was brought to my attention 36 hours ago.

As everybody can see, b) is referring to Sections 1 and 2 of the GNU GPL. From what it's known, swfupload is being distributed under MIT, not GNU GPL.

Swfupload therefore can not met b) not only not very well, it can not met b) at all.

Which brings your argument to a dead end and I hope you don't call that a nuance or pedantry any longer.

Wrong. It is not required to meet (b), but it can certainly meet it unintentionally. Nothing about option (b) says that the upstream software must be GPL. They are offering the source code. Whether or not that complies with option (b) is debatable. But let's not. We're going to comply with option (b) ourselves and remove all doubt. Done.

Last edited 14 years ago by markjaquith (previous) (diff)

#29 @markjaquith
14 years ago

  • Resolution set to fixed
  • Status changed from accepted to closed

(In [17472]) Make a written offer pointing to a central WordPress.org URL for obtaining the source to any binary programs included in WordPress, instead of relying on third party sites. Include the MIT license file that the swfupload project omitted from their codebase. fixes #16517 for trunk

#30 @markjaquith
14 years ago

(In [17473]) Make a written offer pointing to a central WordPress.org URL for obtaining the source to any binary programs included in WordPress, instead of relying on third party sites. Include the MIT license file that the swfupload project omitted from their codebase. fixes #16517 for 3.1

#31 @ocean90
14 years ago

  • Milestone changed from Awaiting Review to WordPress.org

...or 3.1 or both.

#32 @nacin
14 years ago

  • Milestone changed from WordPress.org to 3.1

#33 follow-up: @filosofo
14 years ago

Can we get the source for other bundled libraries up there too, such as that for TinyMCE and jQuery?

Let me know if I should open another ticket for that.

#34 in reply to: ↑ 33 ; follow-up: @Otto42
14 years ago

Replying to filosofo:

Can we get the source for other bundled libraries up there too, such as that for TinyMCE and jQuery?

Let me know if I should open another ticket for that.

As I pointed out in the very first comment, can you point to what "source" you are referring to?

Are not jQuery and TinyMCE both Javascript text files, and as such, their own "source"?

#35 in reply to: ↑ 34 @filosofo
14 years ago

Replying to Otto42:

As I pointed out in the very first comment, can you point to what "source" you are referring to?

Are not jQuery and TinyMCE both Javascript text files, and as such, their own "source"?

No. As the GPL states, the "source code for a work means the preferred form of the work for making modifications to it,"1 and the Free Software Foundation confirms that "Obfuscated “source code” is not real source code and does not count as source code." 2

The TinyMCE and jQuery files in WordPress are minified and obscured, so by the definition of the GPL and as understood by the FSF, they are not source.

But we don't have to consider the FSF's opinion (or the text of the GPL): TinyMCE itself distinguishes between "source code" and "production code" (note how some download options offer "source code," whereas others do not). 3 Likewise, the "downloading jQuery" page 4 distinguishes between the "minified version" and the "source version."

So on their own terms the TinyMCE and jQuery files do not appear in WordPress as source.

#36 @Otto42
14 years ago

Ahh, I see. Fair enough. I've added both packages to http://wordpress.org/download/source/

#37 @filosofo
14 years ago

Thanks!

It looks like that covers everything except for a couple of jQuery plugins:

  • jquery.schedule.js: This appears to be from here, but the current form was minified from this in [6590]
  • All the jQuery UI plugin files: You can get the full "source" from jQuery UI

#38 @markjaquith
14 years ago

filosofo — I added those two. They'll go out in the next deploy. Thanks!

#39 @filosofo
14 years ago

Thank you!

#40 @hakre
14 years ago

Related: #16896

#41 @hakre
13 years ago

Related: #19065

Note: See TracTickets for help on using tickets.