caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Adrien <camaradetux@gmail.com>
To: Yoriyuki Yamagata <yoriyuki.y@gmail.com>
Cc: Ralf Treinen <treinen@free.fr>, OCaml mailing list <caml-list@inria.fr>
Subject: Re: custom copies of libraries (was Re: [Caml-list] OCaml Labs)
Date: Sun, 21 Oct 2012 15:01:29 +0200	[thread overview]
Message-ID: <CAP5QFJ=hGt8w5OrnjvLFFrN+n2jhNiCQL4SJ33HvGMd4EPPAEA@mail.gmail.com> (raw)
In-Reply-To: <CALdQWQ46M2hUtsscNueW0BD99pLnYJ2JwbrPFTROg1dJQgQEbg@mail.gmail.com>

Mozilla, a corporation with a budget around 100 million USD, does this
for firefox and other software. Obviously, it seems to be working.

It seems.

Earlier this year, it was discovered they hadn't updated their version
of cairo for that had a known security hole for 6 months.

There's also APNG support. Except it requires a specially-patched
libpng which mozilla also ships along with the sources of firefox.

In the firefox 16 sources, you will find at least the media/,
security/, nsprpub/, gfx/, modules/ directories which are full of
libraries, almost all 3rd party. These five directories total 145MB, a
fourth of the total size of the firefox sources. The bz2 archive of
firefox is 86MB while the bz2 archive of thunderbird is 107MB and most
of the data probably overlaps.

Mozilla, with more than a hundred million USD has issues with it. I
think it's quite telling.

In the OCaml world, there used to be the Caml Development Kit (CDK): a
bundle of libraries you could include in your tarballs in order to not
depend on the libraries from the system. While things are different
for OCaml (static linking mainly), it still costs in size, compilation
time, maintainability, upgradability.

By including and preferring local copies of libraries, you make
integration, upgrades, maintenance harder. And when _you_ stop doing
it, it gets awful for others.

There are many downsides while the right way to do it is  much
simpler! It can be documentation (README or INSTALL files) and/or
compile-time checks (checking for version X.Y.Z). If it doesn't match
your expectations but the API is still compatible, you can issue a
warning but avoid aborting the build. Nowadays, OCaml libraries are
widely-available, properly packaged, and usually rely on ocamlfind.
There is really no need to do make local copies.

-- 
Adrien Nader

  reply	other threads:[~2012-10-21 13:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-21 11:45 Yoriyuki Yamagata
2012-10-21 13:01 ` Adrien [this message]
2012-10-21 15:24 ` Ralf Treinen
2012-10-23  1:47 ` Francois Berenger
2012-10-28  9:03 ` Richard W.M. Jones
2012-10-28 11:13   ` Yoriyuki Yamagata

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAP5QFJ=hGt8w5OrnjvLFFrN+n2jhNiCQL4SJ33HvGMd4EPPAEA@mail.gmail.com' \
    --to=camaradetux@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=treinen@free.fr \
    --cc=yoriyuki.y@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).