> A bit of a lesson from another dog will not hurt him.
Perhaps not, from a stable adult, even a mildly unsociable one. But if he runs up to a very unsociable one, then that bit of a lesson could be very damaging, both physically and mentally, and not just to him.
I do not want other dogs running up to some of mine because they are frightened of them, and one may react aggressively - the last thing I want is for her to a) get a chance to practice that behaviour, b) get her own lesson that it works when the other dogs runs off, c) be stressed and frightened when she's supposed to be enjoying a walk, and reinforce her perception of dogs as a threat and d) for the other dog to potentially have issues of its own triggered by my dog.
Puppy licence IME has no bearing at all with dogs like her - in fact some dogs find puppies much worse than other dogs because they do not know the rules yet, and may be MORE aggressive towards them, not less. Certainly my old dobermann bitch was like that, puppies were the worst of the lot as far as she was concerned. Bouncy, rude, uncoordinated - nightmare.
Recall needs to be practiced at every possible opportunity, over and over, any time you know pup is going to respond. Practice indoors first, then slowly build up the distractions.
Personally I start by pairing the recall cue with a fantastic treat - cue, treat, cue, treat, cue, treat, at least a few dozen times until he's made the connection. Then I do small recalls when response is guaranteed - that's when he's coming towards me already, we are playing, whenever he's already tuned in to me. Then out in the garden, same thing. I start to throw in running away too - give the cue, run like hell! Make it fun. I find that really strengthens the recall, not because I'm leaving the dog behind, but because they want to chase me!
Out in the world I also do 'click the trigger': it's a simple game geared mainly towards reactive dogs, which is where I use it the most, but I have found it excellent for recall too. Basically, whatever it is he's running off to - so dogs, in your case - the very *instant* he sets eyes on them, mark it and reward it. I use a clicker but you can use a word as long as it's distinct and you can get it the same each time. If I've forgotten my clicker, my guys are also trained to 'good!' said high and very quick. After not many repetitions of this, every time the trigger is spotted, the dog should start to see it and then look back at you for the treat. Now you can reward that looking back. Practice that and before long the dog should see the trigger, then start to turn back to you for the treat. Now reward *that*. Doesn't take long before the trigger itself becomes a recall cue :-) I first started doing that with Paige and I've never looked back - it's been an absolute godsend! Especially for Linc, his recall was absolute zero if he saw another dog when I first got him but now he spots them, then comes back to me. No fuss, no panic, no problem.
I also find training to a whistle as the cue extremely beneficial: the whistle not only carries better (especially if it's windy) but it's a very distinct sound in the environment. I favour Acme gundog whistles, they have a nice clear, loud tone that carries well.