Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please include un-minified version of JQuery #5083

Closed
sandrotosi opened this issue Sep 15, 2015 · 7 comments · Fixed by #5091
Closed

Please include un-minified version of JQuery #5083

sandrotosi opened this issue Sep 15, 2015 · 7 comments · Fixed by #5091
Assignees
Milestone

Comments

@sandrotosi
Copy link
Contributor

hello,
this has been reported in Debian at http://bugs.debian.org/788730 . Some licenses (GPL for example, one of the 2 JQuery is licensed with) requires to distribute the "preferred form of modification" of the program, which in our case is the unminified version of jquery.

I will host those files in the packaging, but it would be extra-awe along with the "compiled" (in this case minified) result some if you could ship (it's the web backend) also the verbose version of jquery along with the midified. It would be enough to have it in the source tarball and install only the minified one (we dont install source along with binaries, right?)

thanks for considering,
Sandro

@tacaswell tacaswell added this to the next point release (1.5.0) milestone Sep 15, 2015
@WeatherGod
Copy link
Member

To clarify:

    lib/matplotlib/backends/web_backend/jquery/js/jquery-ui.min.js
    lib/matplotlib/backends/web_backend/jquery/js/jquery-1.7.1.min.js

@mdboom, looks like you handled these files last back in 2013?

@tacaswell
Copy link
Member

This should be a matter of pulling in the missing un-minified files then black listing them in setuptools configuration. I am pretty sure that we treat those files as 'data files'.

Another option (which I don't think is super great) is to not ship jquery and rely on mirroring it from a cdn, but then you need an internet connection to run webagg/nbagg which seems like a bad idea.

Step 2 seems much harder!

I am also slightly dubious about this issue as it looks like there are mulitple tools that turn 'minified' js into 'normal' js as the process is just removing white space (right?).

@sandrotosi
Copy link
Contributor Author

yeah I like solution 1, as 2 is bad.

It is more of a license/legal concern, sure you can go back to a "sort-of" normal js from the minified, but you wont get to the original js code that originated that minified js (it is a similar situation as if you decompile a binary: you might get a source code, but not the code the author wrote and uses to modify the program, that's what's called the "preferred form of modification" so what you'd use if you want to change the tool)

@jkseppan
Copy link
Member

As to the license, I think matplotlib is probably using jquery under the MIT license. John Hunter always advocated BSD-style licenses, e.g. http://nipy.org/nipy/faq/johns_bsd_pitch.html#johns-bsd-pitch

Our minified jquery-ui looks like it's based on a file from git that hasn't had the @VERSION tag replaced with the actual version, so it's hard to know which exact source file to include.

I think the files

@sandrotosi
Copy link
Contributor Author

While I can agree that the intention was to use the MIT license, it is not clearly stated anywhere, so this might be a good input to make that explicit.

Also, as you noticed as well, we are using an un-versioned JQuery-UI js, it seems like a good time to move to a properly released version, so to remote the uncertaninty

jkseppan added a commit to jkseppan/matplotlib that referenced this issue Sep 16, 2015
And include their source code, closes matplotlib#5083 (also makes it somewhat
moot since the newer versions are MIT licensed only).
@jkseppan
Copy link
Member

The PR upgrades jQuery to a newer version, which is licensed under the MIT license only. Somewhat self-contradictorily, the source code as downloaded from the jQuery site does not include the text of the MIT license, which the license requires to accompany all copies. I guess we should include what we believe to be the license text somewhere with matplotlib, or does Debian have a more specific policy on this?

@jkseppan
Copy link
Member

The source code is in PR #5091.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants