(It's possible decent companies will not limit GDPR provisions though.)
No, you do not have to comply if you're outside of the EU's jurisdiction. They can only hit you if you've got business in the EU that they can directly touch. Facebook, Google, etc. are aggressively complying because they want to continue making money in the EU.
They'll have to overrule eg US or Chinese jurisdiction to force outside companies to comply with GDPR.
How exactly do they intend to force compliance upon the two global superpowers with $34 trillion in economic output? It's laughable. US Federal courts will bury any attempts by the EU to legislate US laws/regulations on these matters.
If I'm a US service/site, I do no business in the EU, and I store information from EU residents on my servers in the US, the EU can't force me to comply with GDPR. They have no means to force that compliance, and to overrule or dictate US domestic laws. The EU doesn't govern the world's laws, if they didn't already realize that they're about to discover it.
As a counter example. A US-based service I'm building now, will have zero business dealings with the EU, although it may store EU resident data (people that sign up that are from the EU). I have no concern about complying any time soon. I may choose to never comply, as I doubt I'll be drawing revenue from the EU. It's about the last thing on my list of things to worry about (GDPR, not user privacy in general).
[1]: https://ec.europa.eu/info/law/law-topic/data-protection/data...
> The European Commission has so far recognised Andorra, Argentina, Canada (commercial organisations), Faroe Islands, Guernsey, Israel, Isle of Man, Jersey, New Zealand, Switzerland, Uruguay and the US (limited to the Privacy Shield framework) as providing adequate protection.
[2]: https://ec.europa.eu/info/law/law-topic/data-protection/data...
I agree unless you have business in EU it's not really worth worrying about it... And even with business in EU, depending on how much of a hassle it would be to overhaul everything, an underconsidered option in all the panicked headless running about is just to have code branches that don't collect any data if the context is EU. Overhaul only what's needed for business, but no need to run around fixing all the other data vacuuming / data laziness going on just yet.