F23 System Wide Change: jQuery

Stef Walter stefw at redhat.com
Mon Jun 29 11:18:05 UTC 2015


On 24.06.2015 02:01, Jan Kurik wrote:
> = Proposed System Wide Change: jQuery = 
> https://fedoraproject.org/wiki/Changes/jQuery
> 
> Change owner(s): T.C. Hollingsworth <tchollingsworth at gmail dot
> com>
> 
> jQuery is a fast, small, and feature-rich JavaScript library. It
> makes things like HTML document traversal and manipulation, event
> handling, animation, and Ajax much simpler with an easy-to-use API
> that works across a multitude of browsers. With a combination of
> versatility and extensibility, jQuery has changed the way that
> millions of people write JavaScript.
> 
> Traditionally, a copy of jQuery has been included with every web
> application that requires it. This change will migrate many of those
> applications to a shared system copy of jQuery. Both the 1.x branch
> of jQuery that supports Internet Explorer 6 and the 2.x branch of
> jQuery that only works with modern web browsers will be provided.

I think that as described, this change will cause more harm than good.
As both an upstream and a packager of Cockpit I am against it in its
current form.

With significant extra work (such as CI) perhaps the change could be
less harmful, see below.

1. How will compatibility issues be handled? In the case of Cockpit,
jQuery forms part of our future plugin API guarantees.

The web application loses control of its dependencies, which normally
form a intimate part of the app. How much bandwidth do you have to
handle such bug reports?


2. Will Fedora have continuous integration running for all applications
it modifies in this way so it can detect breakage? Or should upstream
ignore bug reports from Fedora versions where their code has been
patched, with regards to jQuery?


3. Most modern web applications compress and bundle their resources. For
example in Cockpit, we:

 * Gzip jQuery and all other javascript resources.
 * Bundle them together with other resources and load them together
   with other scripts in one HTTP response.

You'll find this going on throughout most applications that care about
load time or module loading.


4. Many web applications load jQuery from CDN (although not Cockpit,
since it can be used with a non-internet connected server). Do you plan
to patch these as well? If not, then why are these left out of the scope
of the change?


Stef


More information about the devel mailing list