On May 16, 2012, at 12:06 PM, Rob Weir wrote:

> Release = Size * Platforms * Languages
> 
> That's the basic math we're dealing with now.  Let's ignore SKD and
> langpacks since they are much smaller.
> 
> An AOO install is around 150MB.
> 
> We currently support 6 platforms (taking into account different Linux
> packaging models), and 15 languages.
> 
> So Release = 150MB * 6 * 15 = 13.5 GB.
> 
> Let's look at AOO 3.4.1 where we will probably add Finnish, UK
> English, Norwegian and Hebrew.
> 
> So Release = 150MB * 6 * 19 = 17.1 GB.  This gets added to the
> previous 13.5 GB, since we keep older releases around, or at least we
> do currently.
> 
> Imagine then future growth.  Maybe Windows 64-bit, OS/2, OpenIndiana.
> Imagine we get back to 44 languages supported via full installers.
> Then what?
> 
> Release = 150 MB * 9 * 44 = 59.4 GB.
> 
> So we're not talking TB's here. But it does add up, if we want
> preserve the release artifacts for earlier releases.
> 
> Aside from storage, this is complexity for build a release.  It is
> more stuff to build, more stuff to schlep around people.apache.org for
> release candidates, more complexity in download scripts, more stuff to
> sign, more places to make mistake.  Someone could make a full time job
> just managing the builds and releases of this full matrix.
> 
> Now to be fair, this matrix is optimal for the end user.  99% of the
> users can download a single file and it has everything they need.  No
> extra things to download. And their download is as small as it can be.
> It is perfect for them.
> 
> But I wonder if we can make a radical simplification while still
> making it really easy for the user?  Unless of course, someone wants
> to volunteer to be a full-time build engineer?
> 
> ==Idea #1==
> 
> Factor out the translations for the install program versus the AOO
> program itself.  Make the installer support all languages.
> 
> Make core installer only have en_US resources.  Everything else is
> provided via language packs.
> 
> Make the language pack be platform-neutral, e.g., resources only.
> Rely on the installer that you've already downloaded for the logic to
> install the language pack.
> 
> Have the installer prompt the user at the end of the install to
> install a language pack and then take them to the right webpage to
> download.
> 
> Have the installer look in the current directory for any language
> packs and automatically install them at the end of the install.  This
> would support install fro or other places where additional downloads
> are not possible.

Like in a directory on an installation thumb-drive.

> 
> Pro: A full release size then becomes 150 MB x Platforms + 20MB *
> Languages.  So the monster case that was 59.4 GB above now becomes 2.3
> GB.

This can make it much easier to include future OS ports as official releases.

This would allow out of band language pack releases.

> 
> 
> Con:  A lot of Dev work.

This is really in the proper direction and I like the idea.

> 
> ==Idea #2==
> 
> Create a single multi-language install that covers whatever languages
> are needed to support 99% of our users.  I've heard this idea
> suggested, but it doesn't really work.  We have "long tail" effect
> here.  Even if you bundle the top 20 languages it is still only a
> little over 80% of our users.

This prevents ad hoc language pack releases.

> 
> ==Idea #3==
> 
> Create language installs on-demand via a cgi script.  An MRU cache
> would make the most common ones already ready.
> 
> Pro:  Can essentially dial in whatever space you want to allocate for
> the cache.  Is efficient with respect to bursty traffic, e.g., we get
> a sudden appearance on the evening news in Kazakhstan.
> 
> Con: Security aspects of cgi, and low likelihood that mirror operators
> are willing to donate more CPU cycles as well.

Ugh. We can't make installation of obscure language packs completely dependent 
on the internet.

> 
> ==Idea #4==
> 
> Chill.  Relax.   Disk space is cheap and dropping.
> 
> Con:  It is not just disk space.  It is complexity as well, especially
> for our release process.

Agreed. Very complex.

> 
> ==Idea #5==
> 
> <Insert your idea here>

It would only be a variation on Idea #1.

Regards,
Dave

> 
> Regards,
> 
> -Rob

Reply via email to