Those are all fair reasons to keep fish.

I thought I hadn't personally kept any fish this year, but checked my Fishing Log and was reminded I kept 2 trout to eat in January (while ice-fishing) that met criterium #1. This Fall, I did give 4 trout I had caught to other (elderly) anglers...also meeting criterium #1.

For comparison, I've released 3,106 fish this year.