caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Sylvain Le Gall <sylvain@le-gall.net>
To: caml-list@inria.fr
Subject: Re: Cherry-picking modules (was Re: [ANN] OCaml Reins 0.1 - Persistent Data	Structure Library)
Date: Wed, 26 Sep 2007 10:26:11 +0000 (UTC)	[thread overview]
Message-ID: <slrnffkcu3.3nv.sylvain@gallu.homelinux.org> (raw)
In-Reply-To: <B2FE2D0B-623F-4F26-B587-4CD55E5F611D@epfl.ch>

On 26-09-2007, Daniel Bünzli <daniel.buenzli@epfl.ch> wrote:
>
> Le 26 sept. 07 à 01:33, Sylvain Le Gall a écrit :
>
>> Anyway, embeding any external code into your project is a nightmare  
>> for
>> security/maintenance in the long term... I would avoid this  
>> solution if
>> i want things that doesn't have problem.
>
> As I explained I don't think so. In the best case you delegate the  
> nightmare to the user. Can you explain exactly where the nightmare is  
> with embedding ? If the distributed modules you integrate are  
> labelled with a version, I don't see it. The work needed for  
> maintenance in the long term is exactly the same, except only the  
> developer has to care. As for security updates in ocaml, you cannot  
> anyway rely on dynamic linking. Which I see as a good thing, for  
> applications dynamic linking creates more problems than it solves and  
> should be avoided most of the time (except of course for system  
> libraries).
>

OK, let me make myself clear, about the fact that embedding things is
the worst case. Let consider library libA and program progB, progB
requires libA:
* libA is embedded inside progB:
** libA do a minor bug correction -> you need to re-release progB even if
  nothing has changed inside it 
** you make a bug correction in libA, as many developers you don't have
  time to submit bug upstream -> libA upstream and libA embedded begin to
  be different
* libA is not embedded inside progB:
** libA do a minor bug correction -> progB just need to be recompiled
   (no release), easy to do automatically with a dependency tracking
** you make a bug correction in libA -> you have no choice than to
   report it to upstream libA, because your bug correction will disappear
   in next libA release

Unfortunately i have seen projects (like mldonkey) which has embedded a
lot of libraries. The result of this is that you only creates branches,
with no real feedback to upstream author. This is a shame, it
duplicates works of bug correction for libA upstream and progB.

It is funny, because when you see other big languages -- which are
working very well -- like Perl, they all try to avoid embedding libraries!

The only real needs is to have something that automatically
download/build/install dependency!

AND WE HAVE IT: godi! 

Or if you want things more distro based: debian...

Off course, as long as you will think that you must embed everything, you
won't need to learn godi (which is very simple) and you won't evolve on
this point.

I really do invite you to try godi/ocamlfind? 

These tools are really great and are a solution for the kind of problems
you describe..

Regards,
Sylvain Le Gall


  parent reply	other threads:[~2007-09-26 10:37 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-25 18:53 [ANN] OCaml Reins 0.1 - Persistent Data Structure Library Mike Furr
2007-09-25 19:14 ` [Caml-list] " Daniel Bünzli
2007-09-25 19:30   ` Mike Furr
2007-09-25 22:16     ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1 - Persistent Data Structure Library) Daniel Bünzli
2007-09-25 23:33       ` Cherry-picking modules (was " Sylvain Le Gall
2007-09-26  6:41         ` [Caml-list] " skaller
2007-09-26  7:22         ` Daniel Bünzli
2007-09-26  8:19           ` skaller
2007-09-26  8:30             ` Daniel Bünzli
2007-09-26  8:58               ` skaller
2007-09-26  9:49                 ` Daniel Bünzli
2007-09-26 10:26           ` Sylvain Le Gall [this message]
2007-09-26 11:45             ` Jim Miller
2007-09-26 12:37               ` Sylvain Le Gall
2007-09-27 10:11               ` [Caml-list] " Richard Jones
2007-09-26 12:22             ` Daniel Bünzli
2007-09-26 12:58             ` skaller
2007-09-26 16:47             ` Sylvain Le Gall
2007-09-26 22:38             ` [Caml-list] " Vincent Aravantinos
2007-09-26 22:41               ` Vincent Aravantinos
2007-09-26  6:19       ` Cherry-picking modules (was Re: [Caml-list] " skaller
2007-09-26 15:08         ` Michael Furr
2007-09-26 17:12           ` skaller
2007-09-26 17:53             ` Mike Furr
2007-09-26 19:16               ` skaller
2007-10-05 14:42               ` Adrien
2007-10-05 14:58                 ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1- " Christoph Bauer
2007-10-05 15:21                   ` Adrien
2007-10-05 19:45                     ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins0.1- " David Allsopp
2007-10-05  3:48         ` Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1 - " Nathaniel Gray
2007-09-26  7:03       ` Maxence Guesdon
2007-09-26  7:44         ` skaller
2007-09-26  8:53           ` Maxence Guesdon
2007-09-26 10:05             ` Daniel Bünzli
2007-09-26  8:17         ` Daniel Bünzli
2007-09-26 15:32       ` Michael Furr
2007-09-26 15:50         ` Vincent Aravantinos
2007-09-26 16:42           ` Cherry-picking modules (was " Sylvain Le Gall
2007-09-26 17:38             ` [Caml-list] " skaller
2007-09-26 17:57             ` Vincent Aravantinos
2007-09-26 17:22         ` Cherry-picking modules (was Re: [Caml-list] " skaller
2007-09-26 18:17         ` Daniel Bünzli
2007-09-26 18:45           ` Mike Furr
2007-09-26 19:21           ` skaller
2007-09-26  5:51 ` ExtLib, etc. " David Teller
2007-09-26 20:37 ` [Caml-list] [ANN] OCaml Reins 0.1 - Persistent Data Structure Library Mike Furr

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=slrnffkcu3.3nv.sylvain@gallu.homelinux.org \
    --to=sylvain@le-gall.net \
    --cc=caml-list@inria.fr \
    /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).