I forgot to CC the list, and then I sent it from the wrong email address. Sorry for multiple posts... ---------- 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. --Jonathan