The redundancy that irritates me the most is the term "software program"

And what is redundant about "software program"? There are other kinds of programs and there are examples of software that don't qualify as programs.