Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
On module distribution
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-01-16 (00:11)
From: Jonathan Bryant <watersofmemory@g...>
Subject: Fwd: [Caml-list] Re: On module distribution
Oops.  Forgot to CC the list...

---------- Forwarded message ----------
From: Jonathan Bryant <>
Date: Jan 15, 2008 7:10 PM
Subject: Re: [Caml-list] Re: On module distribution
To: Sylvain Le Gall <>

On Jan 15, 2008 10:07 AM, Sylvain Le Gall <> wrote:

> Unfortunately, a decentralized system has also several drawbacks:

> * you need to provide a backup foreach node of your system. Otherwise,
>  every node will become a point of failure. This is critical: lets
>  consider you have a package A that build depends on package B, C and
>  D. With a centralized system you "download" point of failure is the
>  central location, either it is up or down. With a decentralized
>  approach your "download" point of failure will be the location of A,
>  B, C and D. You have to find a way to circumvent this problem...
> [...]

Why not take a Bittorrent style approach to decentralization?  Given that a
package format is agreed upon, you can download a small file that has basic
info such as an MD5 sum.  Every person has a P2P-style client that caches
any packages they've downloaded, and when you download a new package, pulls
from everybody who has a copy with the same MD5 sum, and after it is
downloaded it is offered for redistribution.  Updates could simply search
for all users who are offering the old version and alert them that there is
a new version.  Any dependencies will be offered at least as much as the
packages that depend on them.

That eliminates the single point of failure at least.