Oh god, my eyes (packaging a hairball of bundled PHP stuff, tt-rss)

Stephen John Smoogen smooge at gmail.com
Wed Aug 31 17:31:45 UTC 2011


On Wed, Aug 31, 2011 at 09:47, Richard W.M. Jones <rjones at redhat.com> wrote:
> On Wed, Aug 31, 2011 at 08:23:56AM -0700, Jorge Gallegos wrote:
>> On Tue, Aug 30, 2011 at 11:46:36PM -0700, Adam Williamson wrote:
>> > On Wed, 2011-08-31 at 07:52 +0200, Remi wrote:
>> > > >From : https://fedoraproject.org/wiki/Packaging:Guidelines#Duplication_of_system_libraries
>> > >
>> > > "At this time JavaScript intended to be served to a web browser is specifically exempted from this but this will likely change in the future."
>> > >
>> > > This explain why so much .js libraries are bundled in so much wedapps.
>> >
>> > Ah, thanks. I missed that. Still, it seems bad to be duplicating some
>> > very popular js quite so much:
>> >
>>
>> Actually, it makes perfect sense. Different frameworks release versions with
>> different versions of jQuery or prototype. Trying to force all those packages
>> to play nice with a single system-wide library is hell.
>>
>> Just imagine the scenario where, say, rails wants to ship version 1.1.5 but
>> there's a security patch in Django that relies on 1.2.1 and they are not backwards
>> compatible.
>
> You could make the same argument for any library, and it would be just
> as wrong.
>
> Benefits from packaging Javascript once:
>
>  - if there's a security problem, you just have to fix and update
>   one package
>
>  - no questions about "is the security problem fixed in <this random
>   javascript file>"?
>
>  - we can probably arrange it so that users of different web apps
>   only download the javascript file once
>
>  - no extra copies on disk
>
> Rich.

Here is the problem in a nutshell. The upstreams for all this will not
give a rats ass about using a system wide jquery because it does not
solve their problem.

Their problem is that the majority of their users are going to be
grabbing pages from "smart" phones which aren't smart and will gladly
download the same data over and over again because they are built to
use as much bandwidth as possible so the user gets charged for data
caps. Also you know that 99% of your customers only really get full
bandwidth if their phone if they stand next to a tower with the phone
plugged into a charger.. otherwise they get crap for bandwidth even at
5 bars.

So you make sure your javascripts aren't the full score 100k
monstrosities but are just what you need to get the page to work. So
those 80 copies of jquery we have aren't going to be the same even if
they all came from the same version of upstream jquery. And delivering
just one large jquery that can be used is not going to fit what either
upstreams, web developers OR their users want or need.

And yes I know, we can say all of the above for anything else and show
how it is wrong for all those cases. Unlike math, the real world
doesn't care and finding a counter example does not invalidate the
reason it is true in some place.


-- 
Stephen J Smoogen.
"The core skill of innovators is error recovery, not failure avoidance."
Randy Nelson, President of Pixar University.
"Let us be kind, one to another, for most of us are fighting a hard
battle." -- Ian MacLaren


More information about the devel mailing list