Why did all the app devs give up on the idea of the user providing their own API key?
This is one thing that I'm still scratching my head about. Like, Reddit said no once, and everyone just shrugged and moved on.
I'd understand if most just threw in the towel completely and never wanted to work with Reddit at all, but it seems most would prefer continue to work on their apps.
And since most apps were free or even FOSS, why not say screw that, and make a (perhaps) last update with a field for the user to enter their own key?
Of course only a few users would take advantage of that, but then there's even less reason for Reddit to actually care about that, if they could even detect it at all.
I know some forks may pop up, I'm just wondering about the devs themselves.
Chances are they could detect it and ban you. Hell I got banned from discord for interacting with their API using my own authorization token for a normal user account... To be fair my custom client was not convincing at all, but oh well.
The apps' user agents and other fingerprinting detectors, which are shared by a public app, will get blocked by Reddit for breaking the API terms of service. The only way to avoid getting caught is to have the source code of the app and build it yourself with your own API key, while changing any unique fingerprints of the app.
There's three things I'd expect that reddit could do in retaliation:
They're able to identify the people using an API key for this, and either deny them API access, or straight up ban them
They further restrict free API access, rendering this option useless
They take legal action against the app developers
And even if they don't take any action, ask yourself this: do you really want to keep using reddit, with the way they're acting right now? All this feels like a big middle finger towards their oldest users.
I still wonder if that's some actual rule - like what, "you can't make an app for other people to use" or "if you're a dev, you can't use other peoples apps"? That doesn't make any sense of you're providing an API. Sounds to me like Spez just said no without even knowing what's up.
As for wanting to use, well lots of people expressed interest, and devs wanted to keep their apps going, so I'm just surprised nobody actually entertained the idea. Changing a few fields from hardcoded to editable isn't that huge of a task. Most apps have gotten some end of life updates anyway.
A few years ago I wrote a simple app to pull data from the Weather Underground site via APIs. Because of API limits I did exactly what you're proposing. The app had an easy way to enter a key and each user was responsible for signing up to get a key and putting it into the app.
This was a very small scale app, so the data may not be meaningful, but for every person who used it I got two or three comments from users who chose not to because it was just too difficult.
Bear in mind that the "difficulty" involved going to a website, entering your name and email address, and pasting the key it provided into the app.
I suspect that any app where you have to get your own key would have to overcome a lot of resistance.