Closed Bug 579729 Opened 14 years ago Closed 14 years ago

Mention TabCandy's use of jQuery in about:license

Categories

(Firefox Graveyard :: Panorama, defect, P1)

defect

Tracking

(blocking2.0 final+)

VERIFIED FIXED
Firefox 4.0b7
Tracking Status
blocking2.0 --- final+

People

(Reporter: steffen.wilberg, Assigned: steffen.wilberg)

References

Details

Attachments

(1 file)

I added the jQuery license to about:license in bug 578686 because Thunderbird uses it already.

It currently states:
"This license applies to files in the directory mail/jquery/. (This code only ships in the Thunderbird messaging software or products based on it.)"

This needs to be adjusted for TabCandy. I can create a patch once that fix is merged to tabcandy-central.
(In reply to comment #0)
We don't actually use jQuery in Tabandy. Instead, we use iQ which is a tool that Ian built that mirrors the use of jQuery and is heavily based on jQuery's code.
Mass moving all Tab Candy bugs from Mozilla Labs to Firefox::Tab Candy.  Filter the bugmail spam with "tabcandymassmove".
Product: Mozilla Labs → Firefox
Target Milestone: -- → ---
QA Contact: tabcandy → tabcandy
We must resolve this issue.

Note: the relevant panorama code does include the following statement:

http://hg.mozilla.org/mozilla-central/file/tip/browser/base/content/tabview/iq.js

 * This file incorporates work from:
 * jQuery JavaScript Library v1.4.2: http://code.jquery.com/jquery-1.4.2.js
 * This incorporated work is covered by the following copyright and
 * permission notice:
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license

This language was approved by legal.
Priority: -- → P1
We already include the jQuery license in about:license#jquery, but 
mention that it only applies to the directory mail/jQuery (see comment 0).

The question is whether the jQuery license still applies to iq.js, which "incorporates work from jQuery". In this case, we should mention it like so:
"This license applies to files in the directory mail/jquery/, and to the file browser/base/content/tabview/iq.js."
In that case, my next question would be whether the MPL 1.1/GPL 2.0/LGPL 2.1 license block in iq.js is correct.

However, if we're free to ship a heavily modified version of jQuery under our MPL 1.1/GPL 2.0/LGPL 2.1 license, and the jQuery license doesn't apply anymore, we should mention it like so:

"This license applies to files in the directory mail/jquery/. Furthermore, the file browser/base/content/tabview/iq.js incorporates work from jQuery."
But why do we relicense it and don't stick to the original MIT license?
Assignee: steffen.wilberg → gerv
Component: TabCandy → Licensing
Product: Firefox → mozilla.org
QA Contact: tabcandy → licensing
Version: Trunk → other
Assigning to Licensing who originally advised us on our language in our code.
Moving back to Firefox for this to be tracked correctly.
Component: Licensing → General
Product: mozilla.org → Firefox
QA Contact: licensing → general
Version: other → Trunk
blocking2.0: --- → ?
Who put the tri-license block in iq.js? Was it us?

If so, I would recommend removing it, restoring the jQuery license, thereby licensing our changes under that same license (we'd need permission from all contributors, but I doubt there are many) and adding the name of the file to the top of the relevant jQuery block in about:licence.

Rationale: When we do work based on code from another project, such code being under a license compatible with all of ours, we usually continue to use that license for our modified code. For MIT, it's not illegal for us to "change" the license to the tri-license, because the MIT allows that, but it is wrong to remove the original MIT notice, which says:

"The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software."

So we need to put that back whatever. And having one license block in a file is much less confusing than having two.

Gerv
Yes, we would have put that block in there. cc'ing Harvey, Luis and John. The issue at hand seems to be: is iQ derivative work that can be under its own license, or is it work that contains some jQuery content and so should be licensed along the lines as that.
blocking2.0: ? → final+
Mike: AIUI, this is really a policy decision, not a legal one. There are two legal things we could do:

- Keep the tri-license, and re-add the jQuery license (tri-license terms are a 
  superset)
- Just have the jQuery license (after getting contributor permission)

Both are entirely legal, and choosing one doesn't depend on the particular nature of the integration. Either is acceptable for a file containing some jQuery stuff and some of our stuff, in almost any proportion.

Gerv
(In reply to comment #9)
> - Keep the tri-license, and re-add the jQuery license (tri-license terms are a 
>   superset)

The full jQuery license used in about:license can't be 're-added' because it was never present in the original source file. Both jquery and iQ's headers contain the same license statement:

 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license

iQ's version is wrapped in the additional explanatory text, including a link to the original source file, exactly so that it is easy to go back and check on things like this :)
<shrug> OK, Luis, you decide what to do :-)

Gerv
I would recommend Steffen's second suggestion, in that case.

This was originally discussed offline while you were away, Gerv, but the reason I did not object to wrapping the block in the trilicense, rather than sticking with the original license, is because I was told this was already a fork: iQ's changes were extensive and original, and so would not make sense to go upstream. If that was incorrect then we should revisit the decision to wrap the original license in the trilicense by reopening bug 582025.
Assignee: gerv → lvilla
Status: NEW → ASSIGNED
(In reply to comment #12)
> I would recommend Steffen's second suggestion, in that case.
> 
> This was originally discussed offline while you were away, Gerv, but the reason
> I did not object to wrapping the block in the trilicense, rather than sticking
> with the original license, is because I was told this was already a fork: iQ's
> changes were extensive and original, and so would not make sense to go
> upstream. If that was incorrect then we should revisit the decision to wrap the
> original license in the trilicense by reopening bug 582025.

Yes, it's definitely a fork: less than a third of iQ is jQuery code, and that represents less than 10% of the original jQuery. The modifications are highly specific to Panorama's needs and to Firefox; it wouldn't make sense to fold any of it back into jQuery.
Then I think I'm done here, unless you have an objection, Gerv. Steffen or someone else, can you take the bug from me?
Assignee: lvilla → steffen.wilberg
Component: General → TabCandy
QA Contact: general → tabcandy
Blocks: 598154
Attached patch patchSplinter Review
Incorporates my second suggestion from comment 4, per Luis' comment 12.
Attachment #480683 - Flags: review?(gerv)
Attachment #480683 - Flags: review?(gerv) → review+
Whiteboard: [can land after b7]
http://hg.mozilla.org/mozilla-central/rev/5cd4558f8d45
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Whiteboard: [can land after b7]
Target Milestone: --- → Firefox 4.0b8
verified in recent nightly build of minefield
Status: RESOLVED → VERIFIED
Target Milestone: Firefox 4.0b8 → Firefox 4.0b7
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: