<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:15.555556297302246px">> 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">> 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">> change until a new release/tag is specified.</span><div><br></div><div>It is not as easy as it seems. Let'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"><<a href="mailto:lwoodman@vlifesystems.com" target="_blank">lwoodman@vlifesystems.com</a>></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'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't identify which version they are using.<br>
<br>
This is such a cause for concern to me because I'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>