But that's exactly how laws are made. E.g. why do we have consumer protection? Because it helps us! It's democracy in action.
It's not like nobody would ever build another forum if there were laws like the ones proposed by GP.
What if I don't want to share my user list with the government?
But I'm sure there are other ways.
Won't they just build the forums in other jurisdictions then? How many European forums do you frequent? I barely visit any.
Realistically you're using Open source forum software like discourse that itself could provide an API interface at an amortized cost.
Expecting individuals to code it themselves (and follow standards etc) is a big ask. I don't think its a hard sticking point and the majority of the encouragement is for large providers.
Having a public facing API is not trivial or cost free.
If they were to offer an API that's just HTML of the website (old.reddit.com specifically, not the new one) but without the cruft that makes for 90% of the markup of a human-facing page, and which exists only to hang styles and scripts off... why wouldn't they maintain it? It's literally the same as what the browser gets, but without the bullshit.
> or uphold any sort of SLA uptime
Do they uphold any sort of SLA uptime for the webpage itself?
The simplest API would be just the meat of the website, so it couldn't possibly be less reliable than the site itself.
> not worry about releasing breaking changes every week?
Reddit is a stable site. Like most social media platforms, they don't release breaking changes often (they do screw with DOM element ids and CSS classes all the time, but that is to make life harder for ad blockers, which is another topic). Sure, some things may move around, be added or removed - but this is webshit we're talking about. You can't truly rely on any API to have a stable, or well-defined structure[0] - so people are already used to treating schemas as open-ended[1] and keeping up with their changes.
> Having a public facing API is not trivial or cost free.
Sure. But I'm trying to establish a lower bound here, and it's clear that this is much lower costs and effort than maintaining the human-facing website itself. And I mean, remember the whole "semantic HTML" and "microformats" trends of yore? Or how HTML5 came to be, with all those tags like <em> and <section> and <article>? The whole point of that was to make HTML work as both rendering markup and machine-readable API.
Consider also that the alternative isn't no public API - it's scraping. So if your public API is somehow more expensive to serve or maintain than either the website itself, or a decluttered version of it, then you're doing something wrong.
--
[0] - Don't get me started on the disaster that is Swagger/OpenAPI.
[1] - Something Clojure coding philosophy makes explicit: you pass around maps and arrays, you read and write the keys you know about, and stuff you don't recognize you ignore and pass without changing.
i look forward to the folks making this argument telling their boss “it’s ok the HTML is an API that’s all we need to provide”
come on, nobody believes this when they’re not trying to win an argument on the internet
I'm not trying to win an argument. I'm trying to point to an obvious reference point for cost/effort behind an API that's handling the same data and interactions the webpage does.
“Sent from my iPhone.”
That makes it too easy for API consumers to ignore. (Compared to human eyeballs browsing a webpage)
But you could make it part of the ToS: if you're using the API to present posts to users, you MUST show all the posts in the list, including the is_sponsored=true ones.
https://www.gov.uk/government/publications/social-media-endo...
And I like that idea, a great deal.
Although I have to note that users have given Reddit that content to use, for FREE, and continue to do so. They do this elsewhere too, including sites where they say don’t like the site administration, Twitter, etc…
So I’m not really sure how this plays out.
If you have a community [whatever] service that would not be a business. If you have a blog, that's could potentially be a very business-adjacent, but I'd argue it doesn't cover the "social media" qualification, so that also doesn't apply.
If you run a business and much of your content is user-generated (because it's a social media site), the OP is arguing that API access should be free/at cost.
Implicitly he is also arguing that it must exist at all.
But let's consider further your own commercial clause. Apple has a discussion board for their support community [1] - and now we are mandating that Apple must both have an API for users to access it and must only charge cost. Who gets to determine the cost? Is it hardware costs? Does it include R&D? Is there a fixed margin set by a regulator?
The grey area on this is as wide as an ocean. But I do think it is a little funny that people are arguing about this like it is equivalent to a universal human right.
This thing with Reddit is only the big deal that it is, because Reddit's backend blocks "app" user-agents from simply scraping pages from the non-authenticated Reddit HTML website. (If this wasn't true, they'd just do that, and none of this would be an issue.) But these third-party UAs are instead forced to go through the authenticated data API — where they can then be API-credit-limited and forced into paid data-API subscription plans.
Yes? I don't think it's a very radical, unreasonable or difficult thing to provide: this is available as a first class feature on most blogging/forum software (RSS feeds) and wasn't even remotely controversial 10–12 years ago.
> They also seem to reinvent history such that there was some "implicit" agreement between Reddit and the users of Reddit.
There was an _explicit_ agreement: the site's terms of use have allowed free API access with reasonable quotas for 15 years, and are being changed now with very short notice. Of course the terms of service can change, but users are also free to leave, complain, or demand that they don't change. There are also strong cultural factors involved. For example: just like in the US it's customary for tap water to be free at restaurants, and people would be probably angry if you decided to charge for it, on the open web it's customary for some reasonable level of API access to be free.
> IMO, just because I wrote some shitposts on Reddit does not mean that I am entitled access to every single shitpost that has ever been written on Reddit.
There's no such asymmetry in scale: _everyone_ wrote the content, _everyone_ is entitled to access it. If you're referring to incredibly resource intensive, mass-access to download several terabytes for AI training I can see how that should cost a price. But they're blocking reasonable use-cases.
I think demanding someone pay server bills so you can freely access data they have stored on their hardware (to make yourself money) is radical and unreasonable in every way. If it is an education service or something I can see your point and may agree with you. But that is not what is happening. It is people using reddit's resources to make money for themselves.
Reddit has the right to want fair compensation for use of its service in a commercial manner.
We have the right to stop using reddit if we don't like it.
We have the right to run a service that does give free api access if we see it as reasonable.
We do not have the right to force reddit to provide us free access to their resources. That is completely unreasonable and would be no different than me going to you and saying you must give me access to all your credit cards and let me use them because I feel like I should have it.
For instance, Askhistorians posts were all intended educationally and many of them were produced via API access, some long before Reddit had an app. Is it not reasonable to expect those to still be accessible to others the same way, even with a nominal fee to cover API maintenance costs?
Claiming this is about personal use is the semantic shift not what I said. You are trying to shift back to that because you know if you have a good faith discussion you have no legs to stand on. The reddit changes target commercial use plain and simple.
If you create an app that loads reddit content from its APIs for only you to use, these changes are going to have very little no effect on you. That app would be personal use and if you incurred charges for your API use they would be very small (or you are abusing or spamming the API which both are against its terms of use).
The most public part of this has probably been the Apollo dev vs reddit. Apollo is commercial. Using Apollo to browse reddit used the Apollo API key not your accounts API key. The crazy charges the Apollo dev listed are due to tens (hundreds) of thousands of reddit users using the Apollo API key to access reddit. That is not personal use. That is a commercial entity using its own API key to access reddit's API.
This isn't correct. The API restrictions are per client id, so your app must be limited to you specifically. Having different accounts that share a client id is the whole purpose of Oauth. It's entirely orthogonal to commercial use. The changes affect everything from moderation bots to non-commercial clients to archival services and everything else.
It is exactly correct. I said you build an app for ONLY YOU TO USE. You can still use multiple reddit accounts that you control but no one else is using your API key. Or put another way, you register an API key and then grant that API key access to all your reddit accounts (using OAuth most likely). No other persons reddit account would be using your API Key.
Also that is not the whole purpose of OAuth. You have been able to attach multiple accounts to a single clientId for decades. There are still plenty of sites using SAML that have multiple user accounts tied to one clientId. In fact you can very simply do this today without OAuth. Make a table called clients that owns a table called users. Any user that logs in will have a record in the users table you look up using their userId and then look at the clientid or apikey attached to the parent client record. Then use the clientId/apikey to access any resources you need.
OAuth is delegate authorization framework. Its purpose was to give users the ability to give a system limited access to their data without giving that system their password. It allows you to seperate Authentication and Authorization. Here is a good link to learn about OAuth: https://developer.okta.com/blog/2017/06/21/what-the-heck-is-...
Yes, I have no issue with all of those. I'm poking fun at taking that desire for action from a single company in a single instance and extending it to a universal moral principle.
My own opinion is that Reddit users were getting something valuable for free and it is being taken away from them. In addition to the totally reasonable protests that they are making, some are taking it a bit far and supporting their tantrum by creating axioms of morality that I believe are a bit excessive.
It's not freeloading, it's just a bunch of people dedicating so much time and attention to communicating with each other that the server costs are dwarfed by the value of the platform to its users.
I am very doubtful their model would scale to Reddit's size, and certain they don't have any wish to.
If by some crazy fluke there weren't any highly motivated money-brains in the social media space, I'm absolutely certain a sustainable non-profit open source solution would exist in place of reddit and facebook, and it would eventually accumulate nearly as many users as those sites have. Maybe not as quickly, and maybe while throwing up donations banners at the same rate as Wikipedia, but it would happen. But you need to get impossibly lucky for the entrepreneurs to ignore "the space" when you have 100k users, and by 1 million users the scent of "alpha" has drawn so many of the biggest, meanest, smartest of the bunch that you need to be an absolute juggernaut of momentum and name recognition (like craigslist and Wikipedia) to have any hope of competeing.
"could be free" and "must be free" are such a moving of the goal posts that it is impossible to argue against. I mean, you didn't even go through "should be free" on your way.
Network effects tend to pick extreme winners and losers. From most user's perspectives, there isn't much of a choice. I have an iPhone for a totally stupid reason: My family's chat is an iMessage group and they coordinate photo albums with Apple's shared albums thing. I use reddit for literally no reason at all except that other people use it.
I assert that it would be better for me and most to use an equivalent networking facility maintained by a non-profit entity, and that if there were some kind of cross-site replication such that you really could choose which option to use, a very large number of people would pick the option that didn't present inline or otherwise invasive advertisements, and (indirectly) the option that had free API access, via something like Apollo (software that's simply built better than its competitor on its OS).
So not only do I believe non-profit-reddit (hey, that's "NPR", complete with donation drives) could exist, I believe it would be better for its users and so it should exist. But I also believe it can't really exist as long as somebody is throwing a bunch of (indebted) money into winning the network effects war. So I believe that for-maximum-profit-reddit should not exist.
But I admit the belief feels empty since I'm not authoritarian enough to take it all the way to "reddit must not exist". So I'm just sad instead.
You are not obligated to provide it to whoever wants it,and to cover the cost of providing or insuring it is available.
This is a radical notion.
As for the for everyone wrote it,everyone has access to it. That is daft, the access to the data is at the discretion of the service hosting it, they never made any claims they would make this data available to everyone anyway they wanted it?
If people don't like the terms of a site don't use it, don't think just because you used a service for a period of time you have some right to determine how that service is operated.
I think that's a good first principle.
I also think "APIs for content sites must be free" is a pretty good attempt to derive a rule from the principle of fairness. So hardly an invented moral axiom, as you put it.
Also, claiming a reinvention of history is unfair, since, until now, everyone has been contributing to reddit in a context where API access was free. That's the history. It's not the history that's changed, it's Reddits API access policy.
Anyway, it's 100% fine and good that people decide under what circumstances they ought to be willing to invest their time and effort in a social media site. Setting some common principles, like this one, is just a good way to communicate that to the purveyors of social media sites.
Once you learn about motivated reasoning, you start to see it everywhere.
If you're required to give access to all data with an API for free, it seems it would be hard to run any of these websites without having a massive loss.
The only real reason to be upset about the Reddit API changes is that Reddit’s official clients suck. The formatting sucks, they stuff them way too full of ads. Apparently they are less accessible for blind users, and inefficient for moderation.
It’s weird to be upset about people like the Apollo dev (who could just require payment) or scrapers. They don’t really have any right to API access, and should have to pay for it.
It's implicitly provided by hosting the forum, blog, etc. at a publicly accessible URL. HTTP is an API, HTML is a data interchange format. There's this weird idea (which I've seen parroted both in this article, and in u/spez's discourse on the topic) that "scraping" is somehow evil and bad, when it's actually an intentional feature of the web. Scraping is quite literally how Google built its search empire. It seems to me, now that the major players are sufficiently centralized and entrenched, they want to turn scraping into a boogeyman so nobody can follow in their wake.
The advantage of providing a "real" API is to (a) limit scope narrower than an account/session, and (b) eliminate the overhead implicit in laying out the content for human eyeballs; reducing processing costs for both the server and client.
I find it somewhat hypocritical for Reddit et al. to provide the former for free, and charge for the latter, when the latter is explicitly designed to optimize their costs.
That's a pretty normal way derive principles, isn't it? You start with an observation, and then you recursively ask "why?" It's possible that your answers are wrong, or even that your observation itself is flawed, but the concept of deriving principles from outcomes isn't really flawed. Where else are they going to come from? Should people just pick principles at random and hope they're not terrible?
If we're opening it up to our own opinions - I believe I should have total control over all of the content I generate in all contexts. That would include removing the content I provably generated from any platform at any time. Note that HN doesn't even allow me to do that ... I can't delete posts after some time frame.
But my understanding of GDPR is it doesn't go that far. It applies to PII (Personally Identifying Information). That would include things like mailing address, email addresses, full names, phone number, government ids, etc. I may be wrong, but I do not believe it would apply to the content of shitposts on Reddit.
Where I disagree with the articles vehement moral stance ... is my right to the publicly generated content of other people.
Also, if we want to get all technical, and I'm surprised no one has, there is some analogy to be made between the philosophy of free access to information provided by public libraries and this debate ...
I notice this also when people are talking about "the spirit of open source." No, open source licenses are licenses, not spirits, and you were contributing huge amounts of time and effort to fill a platform with content that you have absolutely no control over. People don't owe it to your OSS project not to fork it or not to become more successful than you at distributing it as a service, and Reddit can do whatever they want with your content that doesn't violate any obligations to you set out in their ToS.
Next time, do AGPL or proprietary, and don't give away any content that you value to someone else's platform for free. If you want them to be obligated to distribute it for free forever, you really should be paying them.
If a platform owner together with a community of enthusiasts produces a valuable set of content/data and then makes it openly available to the world...what exactly do you expect will happen?
We've seen what happens during the last 15 years, an era of massive centralization. And now it's AI saying "thanks for everything!".
But it doesn't even need to be AI. Allow me to use the free and unlimited Reddit API which apparently allows you to make billions of calls at no charge, and then rehost all that content on an ad farm.
This is the real reason the original web3 (semantic web) was dead before it even started and instead of becoming more open, everyone became less open. Because giving away your main assets is suicidal.
Based on this man's logic, if I were to run a web forum then I must provide an API or data dump to download the posts created by the users? How about a comment section on my blog? How about a community Discord server? Why not Facebook posts? Or Instagram stories?
I often get the feeling that in these circumstances people derive first principles from specific desired outcomes. Some people strongly desire that the content that has been aggregated on Reddit should be available to them. They then attempt to invent moral axioms that they believe will lead to that outcome. They also seem to reinvent history such that there was some "implicit" agreement between Reddit and the users of Reddit.
IMO, just because I wrote some shitposts on Reddit does not mean that I am entitled access to every single shitpost that has ever been written on Reddit.