> Consider slots. I'm sure I've read that slots are used to allow multiple > ... versions? configurations? of the same package to be installed. It was > gradually dawning on me, that it's the developer who specifies the slot. > Now, I can't figure out what use case that benefits, but the ability to > have slots react to realities at a particular installation see to me to > make a lot of sense. So, there must be something basic that I don't > understand. >
Multiple versions. Some software only works with a specific version of a dependency, so to ensure wide coverage of dependencies, multiple versions of the same software is required. Eg, some software may only work with python version 2.7 and other software may only work with python 3.6. If both versions of python are still being software maintained, an author may decide its not their top priority to re-write their software that's based on 2.7 to work with 3.6.