Well, we're being a bit fuzzy about what we mean when we say addressable. IIUC, neither of us really means that a version will be always available using either a URL or its content. I relax it to "it will as long as it hasn't moved", you relax it to "as long as the version is in one of the repositories I look in".
I'm assuming that addressability is only important for recent versions, and these will usually still where they were originally placed. This will allow the automatic discovery of the still active repositories that have contributed to a specific version, which seems nice. IIUC, you like the fact that the version will be found by ID if you point to the right repository, right? if so, it seems that the two methods complement. Going directly to the url is faster than linear search, and if it fails, then at least it gives you a good list of repositories to look in... so it enhances the effectiveness of the look up.
Of course, the combination of both methods still isn't fool proof, which is probably ok.
Daniel
Colin Putney cputney@wiresong.ca wrote:
[Colin said something about versions being content addressable instead of URL addressable, freenet style]
Though with the caveat that Versions are by identified UUIDs, not hash codes. This means that we can't implement Freenet's search algorithm. That's ok, our goals are not the same as Freenet's.
I dunno. Seems to me that having a url back to where the version was published is nice. Especially since this makes the source of a package verifiable - compare it to what it claims to be. But also because it allows a form of discovery we dont have now, which is that I can find all the repositories whose changes get into Gorans SMBase line, and decide to track them myself.
Yeah, that is interesting, but I don't think it's worth the problems we'll get from having URL addressable versions.
This all applies to content addressable scheme, except we're not using such a medium now. Lets get the benefits now, and discuss the perfect medium later...
Well, actually we *are* using content addressable versions at the moment. We don't have the fancy migration algorithm that Freenet does, but that's fine. We have the really important benefits of content addressability, which is being able to move versions between repositories. I do that all the time. I've already reorganized my wiresong repository twice and I'm about to do it a third time. I routinely copy versions from one repository to another without worrying about breaking URLs.
I'm arguing against *switching* to URL-addressable versions as a bandwidth optimization. We'd give up too much.
Colin
squeak-dev@lists.squeakfoundation.org