The 'lib' is generally mandatory so that the GCC/clang linker flag can find the binaries in its search path. '-lpng' means 'find libpng.a or libpng.so'. Hence many, many C libraries have it as part of the name of the project. In general the 'lib' prefix in a name means 'this is a C library', or at least now in the days of Rust, 'you can link to this with a C linker or normal FFI'.
Considering that, 'spng' is different enough from 'png'.
It's a very generic name and adding a single letter doesn't do much to differentiate at a cursory glance. If you're focused on what you're doing then maybe...
Considering that, 'spng' is different enough from 'png'.
It's different, but I think it's so close as to verge on namesquatting, especially when the description and purpose is almost identical to the original libpng --- in fact, that's why I clicked, to see what exactly this is about.
Considering that, 'spng' is different enough from 'png'.