6 ms·
> When building a project against a framework... That still implies active maintenance, ie doing new builds. If it's assumed to work with the "latest version"
by white-flame 8y ago
> When building a project against a framework...
That still implies active maintenance, ie doing new builds.
If it's assumed to work with the "latest version", but then breaks in the future, it is a decision outside of the build itself as to which version of the library it should link up with.
The only thing that should be baked into the software is which specific version of the dynamic lib it was compatible with, then externally the system can determine which most-recent version of the library is still compatible.
- zapzupnz 8y ago> then externally the system can determine which most-recent version of the library is still compatible This is great until a more recent version of a library still has the same interface but a completely different behaviour or seriously breaking bug in the implementation.
- white-flame 8y agoThat's exactly what I'm talking about. That compatibility information is what needs to be captured, and is outside any future preference that the program was originally built to. Instead, most automatic systems just blindly say "this version number is newer, so use that" and break everything. Programs were built to a specific version which worked, and only those versions compatible to that specific version should be used.