<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Feb 13, 2018 at 10:55 AM, Jesper Louis Andersen <span dir="ltr"><<a href="mailto:jesper.louis.andersen@gmail.com" target="_blank">jesper.louis.andersen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">On Mon, Feb 12, 2018 at 11:36 PM Vlad Dumitrescu <<a href="mailto:vladdu55@gmail.com" target="_blank">vladdu55@gmail.com</a>> wrote:<br><div class="gmail_quote"><div><br></div><div>[...Checksums...]</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Am I misunderstanding something?</div><div><br></div></div></div></div></blockquote></div><div class="gmail_quote"><br></div><div class="gmail_quote">I don't think you are misunderstanding anything. To a certain extent, our advocacy is about making a content addressable store be the bottom layer in the package manager, and then have a naming layer on top of this:</div><div class="gmail_quote"><br></div><div class="gmail_quote">* Cryptographic checksums have integrity. I don't have to trust the package repository and thus the repository can be mirrored. They are also way easier to sign.</div><div class="gmail_quote"><br></div><div class="gmail_quote">* Essentially, a package manager should work like git does in the underlying layer.</div><div class="gmail_quote"><br></div><div class="gmail_quote">* A package rename does not change its checksum. Rebar[0] doesn't seem to be able to understand this.</div><div class="gmail_quote"><br></div><div class="gmail_quote">* A package cannot be removed by checksum. It can be removed by name, but if a repository keeps the checksum alive, it is for all senses and purposes accessible.</div><div class="gmail_quote"><br></div><div class="gmail_quote">* The checksums are the identifier and the name is simply a human-readable attachment. This is important since it avoids a lot of the social interactions which occur on top of packages and decouples it from technicality to some extent.</div><div class="gmail_quote"><br></div><div class="gmail_quote">* You can easily create name spaces on top. This is highly important as we can see in many cases: You may want company-overrides, you might develop a package in your own namespace as a fork, you might prepare to take over an official package on the side and only flip the name at a later stage. And you can easily use a name such as racoon twice if need be.</div><div class="gmail_quote"><br></div><div class="gmail_quote">* The scheme amends itself to something like Conex[1], in which you don't have to trust the package repository. Conex also makes the distinction between package authors and repository janitors. The latter should have the ability to override certain aspects of packages (for instance version compability rules) without altering the underlying source code (such that it is still verifiable).</div></div></blockquote><div><br></div><div>

<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">Thank you for the detailed explanation. I was looking at it from the human user's perspective.</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">best regards,<br></div></div><div>Vlad </div></div></div></div>