Roger Penn
But here's the thing I find really disturbing. I attempted to upgrade openssl, and found that upgrading it would break just about everything on the system. It seems the system requires libssl.so.0.9.7 - nothing older, nothing newer. So that means any software written in the future (using libraries that are newer than the exact version exptected) will be unusable on my brand new SuSE 9.1 system. So my new system is already legacy. What's up with that?
This is a known problem. A partial solution for binary packages is LSB, see e.g. http://www.linuxjournal.com/article.php?sid=7067 . You can also compile and install the newest libraries into e.g. /usr/local/lib and keep the SUSE's libraries unchanged. By setting LD_LIBRARY_PATH, you can instruct the software where to search for libraries. I use this method to keep several different versions of GCC on my computer.
Why can't things be written to require version x OR NEWER?
It's difficult to maintain backward compatibility forever. -- A.M.