I am not affiliated with JetBrains. I have a continuing "pay once a year" "subscription." Should I ever need to cancel that subscription, or let it lapse (I did that between July 2019 and August 2020), I can still use the last major version from the prior year.
I think the JetBrains model of "we have a variety of ways for you to give us money that is fair to us and you" strikes a good balance.
There are a number of tools I have taken off of my workbench because they have gone subscription only: Tower, 1Password, and so forth. I only purchase "one time licenses" of MS Office these days (we're about 3 years behind). I'm in the process of excising Adobe from my life, but unfortunately finding it rather hard.
That's not completely accurate. First of all, this only applies if you subscribe for at leas a year (e.g. a 1 month subscription is not enough to get a perpetual license). Secondly, you only get a perpetual license for the product available at the time of purchase or 12 months prior.
So, e.g. if you buy a yearly subscription for CLion now, then you will get a perpetual license for 2020.2.z (the current version), but not for 2020.3.z. Of course, you can renew the license after a year and get perpetual licenses for newer releases as well.
(Maybe this is what you were saying, but it doesn't read like that ;).)
Another is "pay for the specific version once and be done with it, here's your license key."
They don't have that model for their IDEs anymore, right?
That said, I am also a happy user of JetBrains products, and especially their All Products Pack is really a good deal (if you frequently switch between languages).
If you want Spring support, or you want to use other JetBrains IDEs for other languages, you have to pay.
Personally, I'm happy to fork my money to them. They make the best IDEs out there.