Overcommit is the operating system making promises it knows it cannot keep. OOM kill when swap is available is fundamental unreliability. That unreliability is a consequence of an ancient primitive that long ago lost its usefulness, and has corrupted every flavor of Unix that followed. It's so pervasive that people have entirely forgotten what is the fundamental contract of an operating system.