Penetrating oil plus time is your best shot here, but the trick nobody's mentioning is to actually pump the brake pedal while the caliper's soaking. What happens is the fluid pressure itself can help nudge that piston free - way better than just tapping it. Remove the caliper from the bracket, spray it down good with penetrating oil (get it into the piston bore especially), then go sit in the car and pump the brakes gently maybe 20-30 times while it's off the wheel. You'll feel the resistance. Let it soak for a few hours, pump again, repeat. This works because you're combining chemical breakdown of the corrosion with actual hydraulic pressure, not just hoping a tap does the job.
If that doesn't budge it after a day of this treatment, then yeah, you're looking at either a full rebuild or replacement. The thing is, once a piston gets really seized from moisture in the fluid, it can actually damage the bore when you force it, and then you've got a bigger problem. A shop can either hone it out carefully or just swap the whole caliper, which honestly might be cheaper than your time messing with it. But give the soak-and-pump method a solid 24 hours first - I've seen it work on stuff that felt completely stuck.