I think a criterion could be formulated in terms of complexity.
DNA may look like a computer program, but it runs on a non-deterministic OS.
Among its other pecularities, it benefits from read errors. I know of no software program that can recover from an uncorrected bit error in an instruction. As a result, Mainframe computers and high reliability servers have error-correcting memory. NASA uses multiple computers with voting.
But DNA -- as a system -- ignores errors and if it survives at all, incorporates changes permanently.
All this is a fancy way of saying that DNA has no mission -- not even replication, because it doesn't care if it replicates correctly. We see the results of replication and attribute purpose, but there is no purpose.