the guy wally gives it to you. actually no, wally's dad is the one that gives it to you
Most Water Pokemon can learn surf in Ruby, like tentacool or wingull.
There isn't anywhere els you can find surf every HM is in one spot hope that helps :)
Just about anywhere you can fish or surf.
Use a fishing rod to fish for Pokemon. This will allow you to capture a water Pokemon that you can teach Surf to.
you need surf go to the sea and surf soon you will find a wingull there not rare
you can find regiice near the dewford town,surf northwest.
On Pokemon ruby to get surf you need to beat your dads gym (in petalburg) then after wallys dad will come and get you then give you surf.
you surf to them
Surf from Sotopolis
When you surf near Slateport, you will find an abandoned ship. In that ship, you will get the scanner.