Bug #31832

jsmin.php uses non-free license

Added by Christian Welzel over 2 years ago. Updated over 1 year ago.

Status:Resolved Start date:2011-11-15
Priority:Must have Due date:
Assignee:- % Done:

100%

Category:- Spent time: -
Target version:-
TYPO3 Version:4.6 Complexity:
PHP Version: Is Regression:
Votes: 0

Description

Hi there,
jsmin.php as included in typo3 core uses a non free license.
This causes the packages for typo3 in debian to be patched to
not include jsmin.php. Also fedora does not allow jsmin.php
into its archives.

For more information look here:

A replacement could be


Related issues

related to Core - Bug #21954: Update JSmin Closed 2010-01-14

Associated revisions

Revision ae5a216a
Added by Christian Welzel over 1 year ago

[BUGFIX] replace non-free jsmin.php with hook

jsmin.php has a non free license. See referenced bug report for
details. This patch replaces jsmin.php with a hook to provide a
way for extensions to implement own compression algorithms.

Change-Id: I1fc5bfe29aaa20692c4323dd28d5c0a95863cf3d
Fixes: #31832
Releases: 6.0
Reviewed-on: http://review.typo3.org/6682
Reviewed-by: Marcus Schwemer
Tested-by: Marcus Schwemer
Reviewed-by: Stefan Neufeind
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn

History

Updated by Steffen Gebert over 2 years ago

Thanks for your report, Christian!

Interesting fact.. it's something we should definitely deal with. We disabled JSmin already for the backend, as it's damn slow. Maybe we could totally get rid of it. However, I see a problem with already released versions.

Updated by Mr. Hudson over 2 years ago

  • Status changed from New to Under Review

Patch set 1 of change I1fc5bfe29aaa20692c4323dd28d5c0a95863cf3d has been pushed to the review server.
It is available at http://review.typo3.org/6682

Updated by Christian Welzel over 2 years ago

All versions of typo3 in debian are shipped without jsmin.php since 4.3.
There was never a bug report regarding this change. So from the technical
view there are no problems. But i'm not an laywer so i cannot say what
this issue implies for the typo3 packages. But getting rid of jsmin.php
sooner than later would be better imho.

I provided a patch which replaces jsmin.php by the above linked packer port.
(just in case, its not removed completely).

Updated by Oliver Hader over 2 years ago

Hm, the line is "shall be used for good, not evil" which is not a problem with the regular TYPO3 packages since we do not intend to do something evil with it and thus it's not a violation of the license on our side. But since we forward this restriction to others (which might not know about) we better should get rid of the JSMIN package and use the suggested replacements.

In one of the mentioned resources there's something about qtobject - however I did not get what's the problem there.

Updated by Christian Welzel over 2 years ago

The problem is not, what you think about good and evil (btw from which point of view, is js compression for a porn site good or evil?). The problem is that this license puts restrictions on the usage of the program, which make it non-free (for requirements for OS-licenses see http://www.opensource.org/docs/osd, Point 6). As such jsmin.php is not compatible with the GPL anymore under which typo3 is licensed, so there are two options: remove jsmin.php or add the "for good, not evil" to the license of typo3 (which makes typo3 non-free).

qtobject was licensed by a home brewn license which did not allow modification. It has been relicensed by the auhtor to MIT license, so there is no problem anymore.

Updated by Mr. Jenkins over 2 years ago

Patch set 2 of change I1fc5bfe29aaa20692c4323dd28d5c0a95863cf3d has been pushed to the review server.
It is available at http://review.typo3.org/6682

Updated by Mr. Jenkins over 2 years ago

Patch set 3 of change I1fc5bfe29aaa20692c4323dd28d5c0a95863cf3d has been pushed to the review server.
It is available at http://review.typo3.org/6682

Updated by Mr. Jenkins over 2 years ago

Patch set 1 of change I766b4e8a1d7256c1de2a0ae01ff34628b6dbb8d5 has been pushed to the review server.
It is available at http://review.typo3.org/6954

Updated by Mr. Jenkins over 2 years ago

Patch set 1 of change I8048b613e10df04b7062a0f2a065f21039cdf4be has been pushed to the review server.
It is available at http://review.typo3.org/6956

Updated by Gerrit Code Review over 2 years ago

Patch set 4 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/6682

Updated by Gerrit Code Review over 2 years ago

Patch set 2 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/6956

Updated by Gerrit Code Review over 2 years ago

Patch set 2 for branch TYPO3_4-5 has been pushed to the review server.
It is available at http://review.typo3.org/6954

Updated by Gerrit Code Review over 2 years ago

Patch set 5 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/6682

Updated by Marcus Schwemer almost 2 years ago

Hi,

what do you think about just deprecating the function, leave it as is and remove in after 2 releases?

Why?
  • Time should not be a problem, since we use it several years with "non free" code and get rid of it anyway. Fedora and Debian users had to add it until now.
  • For frontend optimization we have "config.minifyJS" and "config.compressJS" (since 4.6). So there is no need for an extension dev to optimize JS code. This is done by the integrators while setting up a website.

Cheers
Marcus

Updated by Christian Welzel almost 2 years ago

Handle this like you want.
I have given up, that anybody will care about proper licensing of the code.
Btw the extension manager contains jslint, which has the same unfree license.
But nobody cared there either.

Updated by Gerrit Code Review over 1 year ago

Patch set 6 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/6682

Updated by Gerrit Code Review over 1 year ago

Patch set 7 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/6682

Updated by Christian Welzel over 1 year ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

Also available in: Atom PDF