Discord and other biggest communication platforms should be legally required to provide a fully featured API. Forbidding users from writing and using 3rd party clients is outrageous.
The demand isn't being made to the product side; Discord and other chat clients already have a chat API which their clients authenticate and talk to, it's all already built and user-facing. They already distrust their clients. They already made everything a third party client would need.
It's a policy change, not a product change, and demanding a company adjust their bad policy is totally normal.
You mean "particular descriptions" like "is a vehicle", "contains radio transmitter", "stores personally identifiable information"...? We he regulatory requirements for all sorts of products for all sorts of reasons. Any specific example can of course be debated about, but the concept of "to demand from other people's products, simply by dint of their products fitting a particular description" is anything but the crazy unprecedented idea you seem to be implying it is.
It's not just spam; in fact, spam might be the least of it. Part of the reason companies require specific clients is that doing so makes it easier for them to build the product and deliver the specific value that they've decided they want to deliver.
Sure? Companies do get to dictate things to their customers: they can build things, or not build them. Customers don't get that control: their recourse is to the market.
They absolutely should get that control though. The only thing preventing them from having it, often, are artificial limitations. Don't place too much faith in "the market" to fix problems.
The biggest plus is that — like Chrome, if they decide they made a mistake, they can pivot a change that many of their users would disagree with, and force it on the whole ecosystem immediately. Chrome has done this a lot, and almost all of it has been security-related stuff that's been jammed down our throats. And sure enough - the medicine has been quite distasteful, but it was good for the patient.
A lot of this stuff is UI-related; it's things that aren't a reskin, but they're a major shakeup of how the entire UI works, and would break all other clients using a framework.
The problem with "truly" federated protocols is that every design fuckup is preserved in amber for eternity.
They are in various ways more like utilities than products - like other utilities they/we would benefit from regulation - leveling the playing field and helping future proof these services.
Then we should name them as utilities before we start regulating them as such.
And who is the one to name them a utility? Is it the government of the company's base of operations? If so won't they just move (such as many companies do to avoid tax complications)?
And where do you draw the line? Why is Discord a utility and not, say, Truth Social?
And then how do you turn federated networks like Mastodon into utilities?
Once something is classified as a utlity, what are the rules for guarding customer data? Are they more beholden to governments to release customer data? Less?
> Then we should name them as utilities before we start regulating them as such.
Well, we should certainly make an effort so that regulations are predictable and sensible.
> And where do you draw the line? Why is Discord a utility and not, say, Truth Social?
> And then how do you turn federated networks like Mastodon into utilities?
I think this is going about it from the wrong side. Snail mail, phone service, internet service - these are things we regulate in various ways. Maybe we should with various, similar digital services too. Email? Messaging networks like discord?
Discord clients can't magically implement features that the Discord API doesn't have. The only thing they can do is personalize the experience locally, maybe by changing the interface or implementing more comfortable defaults and shortcuts. This is not a case of a Discord client offering Nitro (i.e. paid) features for free, to get the paid features you have to authenticate yourself through the API meaning Discord still gets the money and everyone's happy.
Why should companies that build products with serverside components be required to let you build your own clients? What you're saying when you make this demand is that it should be unlawful to build closed systems (or: unlawful to build closed systems if there's a network API anywhere in them).
The moment you have a publicly facing API you are saying "these are the rules to talk to us". It doesn't matter what the client is, if it follows the rules then it should work.
A website is a publicly facing API and if two different browsers can talk the HTTP protocol and implement all the other APIs the website requires then you shouldn't be blocked from accessing the website through one of them
You're not really answering my question. "One of the rules of this API is that you exclusively use this client" is an expressible rule. What gives you the right to dictate the terms that other people build by? I don't understand the principle here.
I'll explain why I want the right to dictate the terms by which software on my computer talks to software on other people's computers. It's because it's relatively easy to customize local software to work in ways I and other people want it to, and the only thing stopping us from doing so is arbitrary draconian laws and rules. This results in situations where you can't access a lot of straightforward websites and services unless you download an "app" that's actually just a wrapper around a web browser and a bunch of spyware, and it makes it impossible for people with various minor disabilities to use a lot of services comfortably.
The rule right now is "Any jerkoff can dictate what is and isn't allowed to run on my computer" and I would like to change that rule to "I'm in charge of what runs on my computer, you're in charge of what runs on your computer".
You are in charge of what runs on your computer, nobody is forcing you to use Discord.
There's no jerk dictating what is allowed to run on your computer, there's someone offering a piece of software that you can willingly install on your computer if you want.
If you don't want that, you're always free to not use the software or use workarounds to avoid the things you don't like.
I, for example, hate ads and use adblock always. But I don't think it's fair for me to go and say that everyone should forced to not put ads on their stuff.
I'm not a fan but I understand that I have no right to dictate what people do with their software
This is not true for platforms. If a community decides they're going to use Discord, then you, the individual, are out of luck. You either use that or miss out on the community or convince the entire community not to use Discord.
How is that different from, say, being forced to buy a PS5 or an X-whatever to participate in a gaming community, or to get a Spotify membership to hear a particular podcast?
They aren't very different. With Spotify we actually gave up a lot of power that custom clients had for the lowest-common-denominator sort of stuff, which is really sad.
With each of these products we keep giving up more and more of the powerful variety that was available before. While the average person doesn't lose much, the average person doesn't really exist and we've really lost a lot of long tails of value.
I feel a lot of laws dictate what private companies provide us. For example a butcher's meat cannot be covered in rat poison. A hyperbolic example but for giant chat services like this where the wield an incredible amount of power because of scale they are still subject to restrictions by the government for the benefit of the people. The government totally has that overriding right because your companies operating in there county. Don't like it the same way the user has no choice but to not use your interface the company has the right now to operate in the country. Personally I think the api format is a little ambiguous but it's incredibly naive to think that companies cannot be subjected to laws on how they do business just because they built a computer service. With adoption comes regulation to protect both users and companies
I agree of course, it's not a violation of any laws. I just thought you were asking for some moral principle to justify pressing a developer to make an API available
As the world changes, we can't always expect new behaviors to ideally fit existing moral principles.
Is there a moral principle preventing a power company from providing you with all your electrical appliances and forbidding you from using those not provided by them?
There are a LOT of jerks coercing people into being used by Discord. Not only that, actively defending it.
FOMO on "community" is a considerable factor. The regular person is quite likely a social being. They will care and value being able to use the same platform.
It is a personal sacrifice to resist it while it remains. Even when a Free Software alternative becomes wide-reaching enough for an exodus, it'll be years too late.
> I, for example, hate ads and use adblock always.
> But I don't think it's fair for me to go and say that everyone should forced to not put ads on their stuff.
You can use ad blocking software because browsers are on our side. Our browsers support uBlock Origin whether webmasters like it or not and they don't have the power to force us to switch.
What companies like Discord and WhatsApp do is akin to contractually requiring us to use a specific browser that does their bidding on pain of banishment from the platform. That's how they get away with advertising, spamming, surveillance, DRM and countless other abuses: by forcing us to run their software on our computers if we want to use their service. If we could run our own clients, they would be powerless.
The terms of service are just Discord being transparent about what they’re doing.
The thing actually stopping you from using Discord with a third-party client is that Discord’s server software responds differently to the way the third-party clients talk to it.
You’re in charge of what runs on your computer, and they're in charge of what runs on theirs.
It reminds me of being a little kid growing up in a house without any channels on TV which had been my parent's deliberate decision (to shelter us from all the advertising and presumably, help us become more active and creative). All of my friends would be talking and joking about some show they saw the other night, and I'd be out of that loop. Asking them to explain what they saw would annoy them a little, but I might get a begrudging explanation. For a solid couple of years, my friends' favourite characters from shows like South Park and Family Guy were mysterious figures from apocryphal legends, whose personalities I understood fragments of without actually ever seeing them.
Maybe sometimes I could pick up on a meme without knowing the source material and sort of fit in for a bit. That's what not participating directly can be like, when you're caught at the fringe of your community because you don't use <platform>.
Or maybe we can just have interoperability and open systems so all users can be happy, and don't have to choose between being obnoxious social outcasts or bow down in total obedience to the surveillance capitalists?
The problem is that all users aren't happy. Having used federated services for years, they're never in synch, and some users always have access to some features that other users don't have.
In fact, the problem is chiefly that a certain group of assholes never upgrade their clients, ever, and disingenuously try to keep everyone on an old version of the protocol, because they don't see a need for new features. Period. I've been through this gauntlet with some long-running open-source projects, and basically these guys were like "plain text and command-line should be sufficient for everyone (and shame on you if it's not!)".
Of course, that's fine if you're a programmer, but then these guys were SHOCKED - shocked, I say, that people's whose primary working medium was images rather than text - you know, UI designers and artists - found it a struggle to work on their project and quickly gave up.
This kind of bigotry constantly stifles progress in the OSS community.
---
There's a damn good reason no federated service even comes remotely close to Discord, and it's because despite all of those features being developed for other clients, repeatedly, there is always heavy social pressure not to leave people out, so "newfangled" features get swatted down by communities, and people are forced to only use the features that everyone supports.
You can have IRC that supports pasting images just fine, but some asshole's client doesn't support it, so you're back to using a shithole solution like external pastebins or personal FTP servers, again. Otherwise you're dealing with a constant "I don't see anything! Why can't you just use something that works on my client!"
---
So no, "interoperability and open systems" doesn't mean all users can be happy. It's a trojan horse to let luddites force obsolete versions of the protocol on everyone because they don't want to update.
While I understand your sentiment, no jerkoff is dictating what is and isn't allowed to run on your computer. You're always welcome to use something other than Discord.
How can a server know I'm using a different client if all the features are implemented? The condition that you may not use a third party client cannot be imposed by the API but is stipulated externally.
> Why should companies that build products with serverside components be required . . . ?
Because consumers should be able to make demands in return for adoption?
In a world less completely asymmetrically imbalanced toward capital, consumers would have a say in the products offered them, not merely the option to purchase (or not) rights to use technology as-is.
Network size on a spectrum from "me and my dog" to "society-wide monopoly" should be taken into account. (Not arguing Discord is at any particular point on that spectrum; only that it matters when considering policy decisions and how it burdens a company vs. benefits the public).
You got the causation backwards. There are chat server with open API much before discord like IRC. The only reason discord or something else worked is because they got private funding and operates at loss for many years. And the only reason they got private funding is because they want to reap the benefits of monopoly on its users in future. So if there is some rule like you suggest, discord wouldn't even exist.
> So if there is some rule like you suggest, discord wouldn't even exist.
Yes, exactly! Monopolies are bad and shouldn't exist, so companies that only exist to create them shouldn't exist either. Without Discord and other providers wishing to make a chat monopoly for themselves, development would be driven by need. That tends to create solutions that are much more open and less exploitative of its users.
Computing freedom: it should be law. Clauses like "you can't reverse engineer" and "you can only connect via our software" should be null and void.
> What else should I be able to demand from other people's products
You should be able to demand that your computing freedom be respected. We should all be able to run whatever software we want to interact with their servers.
Regardless of what you feel should be true, the reality is that Discord considers using software like this "self-botting" and will ban your account for it. The disclaimer to this effect is buried at the very bottom of the README, seemingly on purpose.
Do anybody checked if the European DMA (Digital Markets Act) will be able to force Discord to open their platform for third-parties? Whether or not it constitutes a "gatekeeper" (in the DMA parlance) is a bit confusing for me...
IANAL though, according to the figures they don't appear to be the subject.
Definition of gatekeepers in DMA:
> A size that impacts the internal market: ... equal to or above €7.5 billion in in each of the last three financial years, ... The control of an important gateway for business users towards final consumers: ... more than 45 million monthly active end users ... and more than 10,000 yearly active business users ...
Without a definition - which I have not located - this is ambiguous - does anybody know what they use here to determine if a user is a "business user" or not?
If the definition is "account represents and is owned by a business rather than an physical person and is used in the course of business" I'm pretty sure Discord would come out above that?
As someone following the “discord for business” matter in multiple support channels… I don’t think they have any business customers. They have end users and individual customers. So it would have to be the 45 million users.
1. "Companies can do whatever they want" isn't a universal human right. We can and often should both limit them from doing things that harm people and force them to do things that benefit people.
2. I see this all the time on HN, but it's never substantiated. Besides being laggy on older devices, which can be said for at least half of all modern software, what specifically makes it anything but an excellent communication platform?