<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:15.555556297302246px">&gt; One easy improvement, when using github, is to allow/ensure package owners point to a</span><br style="font-family:arial,sans-serif;font-size:15.555556297302246px">
<span style="font-family:arial,sans-serif;font-size:15.555556297302246px">&gt; specific release/tag .zip file and not worry about the checksum as nothing is going to</span><br style="font-family:arial,sans-serif;font-size:15.555556297302246px">
<span style="font-family:arial,sans-serif;font-size:15.555556297302246px">&gt; change until a new release/tag is specified.</span><div><br></div><div>It is not as easy as it seems. Let&#39;s say I write module A which uses specific versions of packages B and C.</div>
<div>Packages B and C both use package D. Here is the twist: package B is written to use the latest version of </div><div>package D and C uses version 42.</div><div><br></div><div>Now package D is updated. The checksums of B and C do not change, but the behavior of B might.</div>
<div><br></div><div>/Jens Axel</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/8/26 Lawrence Woodman <span dir="ltr">&lt;<a href="mailto:lwoodman@vlifesystems.com" target="_blank">lwoodman@vlifesystems.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I have been really impressed with Racket after using it for a month, but am<br>
worried about the move away from a central repository for storing each<br>
version of a package.  I can see the advantage and simplicity of the new<br>
system, but worry that relying on package creators to manage their packages<br>
correctly could be creating a house of cards and see several problems with this:<br>
<br>
    i.  If a package owner releases a change that breaks the API (intentionally or<br>
        unintentionally), then the packages and applications that depend on it will no<br>
        longer function and will be unable to do anything about it. If each package<br>
        version was stored then anything that depended on it could specify that it<br>
        needs a previous version to work.<br>
<br>
    ii. If the owner of a package stops hosting it then the scenario above would again<br>
       happen.<br>
<br>
    iii.  When used with github, most people will point to their master branch, which<br>
         if being used collaboratively could be quite unstable.  The users of the package<br>
         probably won&#39;t have any knowledge of this and will only find out when their<br>
         applications or packages keep breaking.  The easiest way of thinking about this<br>
         is if we were all forced to work with the latest commits from the master branch<br>
         of Racket and there were no versioned releases.<br>
<br>
    iv.  It is hard to identify bugs and fix bugs while supporting users of a package if<br>
         you can&#39;t identify which version they are using.<br>
<br>
This is such a cause for concern to me because I&#39;m developing an open source<br>
application to be used commercially and need to be able to maintain a certain level<br>
of stability.  I could just keep copies of stable packages, but this strikes me as<br>
going against the simplicity intended for the new package manager. If Racket<br>
is to have any level of success commercially then there will be a lot more people<br>
and companies worried about this and hence it could really stifle commercial adoption.<br>
<br>
Has any thought been given to any of these problems and are there any plans<br>
to mitigate them?<br>
<br>
One easy improvement, when using github, is to allow/ensure package owners point to a<br>
specific release/tag .zip file and not worry about the checksum as nothing is going to<br>
change until a new release/tag is specified.<br>
<br>
<br>
Best wishes<br>
<br>
<br>
<br>
Lorry<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
-- <br>
vLife Systems Ltd<br>
Registered Office: The Meridian, 4 Copthall House, Station Square, Coventry, CV1 2FL<br>
Registered in England and Wales No. 06477649<br>
<a href="http://vlifesystems.com" target="_blank">http://vlifesystems.com</a><br>
 <br>
____________________<br>
 Racket Users list:<br>
 <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/<u></u>users</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>-- <br>Jens Axel Søgaard<br><br>
</div>