Minimum standard - SML3
Expected standard - SML4
Excellent standard - SML5
SML1 - Initial usability: Porting to the target platform as a whole is not feasible (e.g. due to licensing or dependencies not available for the target platform) or prohibitively expensive.
SML2 - Use is feasible: The complete source code is available, without external dependencies that are not portable, but the software cannot be ported to the target platform without significant changes to the software or the target context. Porting to the target platform will require significant effort.
SML3 - Use is possible by most users: The software is moderately portable to the target platform. The software can be ported with only relatively small changes necessary to the context or the software itself. Porting to the target platform would be relatively easy to implement.
SML4 - Software is usable: The software is highly portable to the target platform. No changes to the software are necessary and the effort to port the software to the target platform is minimal.
SML5 - Demonstrable usability: The software is completely portable to the target platform. In theory at least, the software will run on the target platform provided it is packaged/containerised.