Question I'd like to hear everyone's thoughts on possibly making votes public. This has been discussed in a lot of other issues, but here's a dedicated one for discussion. Positives Could help figh...
Probably better to post in the github issue rather than replying here.
requiring either technical skill or admin access to circumvent.
What if some troll sets up a website that indexes/publishes this data? What technical skill would be required then?
The data is public and ignorance is not bliss. People need to be made aware of this. If this will lead to people being more careful about what they post online or how they interact with a public social media service, then all the better.
And the “we should not make it available for the public at large because it will lead to abuse” is also theoretical.
Anyway, I’m already on record saying that I don’t like the voting system and that we should get rid of it altogether. Voting on content used to be about collective curation, not a constant popularity contest.
I’m also on record saying that we need to stop relying on systems that only give us the illusion of privacy and depend on the software developers for culture shaping.
If making the vote public gets people to be exposed to these fundamental issues of the current design, and leads us to search for better solutions, then I’m all for it.
It’s not theoretical to se how people consistently behave when there’s less friction for toxic behavior. You should look into it if you’re not already aware of the very predictable negative outcomes that stem from removing those frictions.
I mean in the specific case of “giving vote visibility to everyone will cause more harassment based on who-voted-on-what”. It’s theoretical because this has not been implemented yet.
I’ve addressed this in another comment. At first, it’s quite likely that we’d see an increase in behavior. But the way to correct this would be by reporting “serial downvoters” and brigaders to moderators, which could then be empowered to enforce “don’t downvote just because you disagree” guidelines.
Hackernews, for all its faults, does this very well. Their moderation team is quite small, yet it rarely falls into screaming matches between users. Their guidelines are clear and let people understand what is/is not acceptable. Mods are rarely seen threatening to ban someone, but often calling out bad behavior and simply asking people to stop doing whatever they are doing before it escalates further.
This feels a bit of a conversation-shutting argument. Lots of things (good and bad) will happen on a platform that has billions of users. The real question is to about many of those instances happened solely due to the data being (easily) available to the public.
In any case, I really don’t think that the solution to the problem of targeted harassment is by providing quote-unquote-privacy. Today, people want to obfuscate votes. Tomorrow it will be subscription lists and later it will be even posts/comments. By then it will be better to just use a closed network or just go full darknet. I’d rather we spent more time educating the people on how to use actually secure and private communications platform instead of sacrificing Transparency and Accountability for the sake of a vocal minority who will keep trying to turn the “Open Social Web” (which is meant to be open and public) into their exclusive, cocooned service.
That’s because it’s supposed to be. I was on Reddit for a decade until their management shit the bed, and these kinds of problems weren’t a thing there despite the much larger userbase.
For the record, to me it’s less about privacy and more about setting expectations. I’m not anonymous online, I’m pseudonymous, I’ve had this handle for a long time. I am my online identity, and when I post and vote I don’t feel anonymous, even if I’m relatively protected from someone knocking on my door or messaging my boss about a statement.
If voting “ledgers” aren’t presented in the discussion, that’s because they aren’t intended to be part of the discussion. This reduces the value of influential individuals votes (ooh Bill Gates liked X, Kamala Harris disliked Y etc.) and shifts focus to how the community values of the content. It’s the same reason that we follow communities rather than individuals. We get an internet “hive mind” of sorts without cult of personality.
These specific kinds of things were not a problem, yet it didn’t stop the mob from doxxing people “by mistake”, getting the police breaking into people homes based on false allegations or getting people fired over something stupid that was said years ago…
If this is about “expectations” of privacy, then it would be better to just expect the worst always and only write/post/share things when you are 100% sure you don’t mind them being ever attributed to you.
i am from the post usenet and pre facebook internet generation (i hope that is vague enough) so using my real name on the internet or signing up for accounts with my real name email acount is strictly verboten by indoctrination, so my opinion may be out of date or invalid somehow, but i can not see how your lemmy account’s up or down voting history violates privacy in any meaningful way
It’s not quite that simple. As far as I’m aware, it’s difficult to fetch from another instance “after the fact” what all the votes are for a particular user or comment; you have to be signed up to receive updates on it, and then after the fact you can go hunting around in your own instance’s DB and see what all the votes were (or your UI can do it, if it’s supported).
But, yes, there are instance softwares that will do it, and no one’s defederating from every one of those instances (nor I think should they). Someone posted a link to an mbin instance breaking down the votes for this post. Votes are not private.
I ran curl"https://mbin.grits.dev/u/mozz/outbox?page=1" -H 'accept: application/activity+json' and I could see your outbox. Apparently mbin does not put Like/Dislike activities in there, only your comments/posts/notes.
In a world where ActivityPub is only used in server-to-server, this would be fine. If we ever get to a (IMNSHO, better) scenario where we have more clients talking AP directly, then this will not work, and mbin will have to add those as well.
All of this to say:
the debate about “what Lemmy devs are doing” vs “what mbin is doing” vs “what PieFed is doing” should be seen as tremendous conflict with the idea that “The good thing about the Fediverse is that we can all talk with each other, regardless of where we are”.
There is no sane way to square this peg into a round hole. Privacy and “Social Media” are inherently incompatible. The advice about not putting anything online that you are not willing to ever be made public is evergreen, and anyone that does not follow it will eventually have to learn it the hard way.
Apparently mbin does not put Like/Dislike activities in there
Yes. That’s what I said. I’m actually not 100% sure about it; for all I know there’s some way to get it, but AFAIK all the existing softwares don’t publish votes “after the fact”, only at the time to current subscribers. But then, of course, it’s kind of a moot point because you can just grab it from any mbin instance’s DB through the UI without needing to do anything special or any particular knowledge.
In a world where ActivityPub is only used in server-to-server, this would be fine. If we ever get to a (IMNSHO, better) scenario where we have more clients talking AP directly, then this will not work, and mbin will have to add those as well.
Not really. You can have your client talking to all the servers and grabbing votes for whatever you’re subscribed to, and losing votes for anything you’re not subscribed to. It works basically exactly that way for one-user instances already.
There is no sane way to square this peg into a round hole. Privacy and “Social Media” are inherently incompatible. The advice about not putting anything online that you are not willing to ever be made public is evergreen, and anyone that does not follow it will eventually have to learn it the hard way.
Tru dat. 100% agreed. It seems like there are all these people in this thread arguing that their votes need to be private. Their votes are not private, and will never be private, for as long as ActivityPub is what they’re using. I can see some value, maybe, to making it slightly difficult to extract the information instead of just giving it for free to everyone, but holding onto the idea of your votes being private is a gateway to unhappiness and only unhappiness.
You can have your client talking to all the servers and grabbing votes for whatever you’re subscribed to, and losing votes for anything you’re not subscribed to. It works basically exactly that way for one-user instances already.
It works like that for servers because servers are assumed to have high uptime, so (in theory) push-based communication should be enough. However, we see that this is not true even for servers (e.g, medium-sized instances getting out of sync with LW because they can not keep up with all the data being sent to them) and this will be specially true in the case of a network with tens/hundreds of thousands of separate clients. No server will be willing to push activities to all those inboxes, so we will need to have some pull-based form of communication as well.
Oh, yeah, at that point it’ll be a scalability clusterfuck. No idea what the solution is. Maybe something with persistent caches run by third parties or something? That actually would be fine, since all the actions are signed with the private key of the actor, I think.
ActivityPub is not to me a real great designed protocol but it’s whatever. Usually the key part for social networks is the “social” part of it; the protocol or the web site can be pure shite and if people like interacting with the other people there then it’s fine. But yes, you are correct that beyond a certain point of scalability there are some dragons lurking that don’t have obvious weak spots.
The problem is not with ActivityPub, but the implementations. No one ever claimed that it should be only a push-based system, but it seems that everyone working on AP software can only think in terms of server-to-server interactions to get the data and then reinvent the wheel by developing their ad-hoc API.
AP is fine if we treat it as a messaging protocol and use it to power offline-first applications. The devices do not need to have all the network’s data, just the one that the user has actively interacted with.
How do you know who you’re defederating with? When I set up my instance, the list of federated instances was thousands. How do you know which one is scraping the data?
How is the data public? I’m asking in the most technical sense?
This informs an issue I’ve had lately with a group of three people or bots following along my comment chain (All my comments, for a while, were dropping consistently to -2 score in all contexts).
It’s my understanding that votes are not public. Am I wrong?
All votes are public, they’re literally broadcast to the Fediverse writ large. You vote on something on your server, your server then tells the server owning the thing you voted on and that server then tells anyone who is interested (subscribers on other servers). That way everyone knows that this comment was voted on, but that information is indelibly tied to you - an entity on the Fediverse.
Lemmy devs just chose not to a) show that information in a UI (plenty of other software out there does) and b) not inform people that was the case. Which leads to the whole point of the thread, hiding this from users merely gives a false sense of security.
Yeah, I do my best to avoid cliched references, but this is 100% a “blue pill/red pill” dilemma. The majority of people seem to prefer to live a comfortable lie than face the harsh truth.
Just because people can go out of their way to find this information, doesn’t mean we should remove all restrictions. That’s a real twisted way of thinking.
What we have in place is already egregious imo, and a major flaw with the system in place.
That isn’t really going out of your way, it is the base mode of how the fediverse works. Looking at something on a different instance.
Plenty of people just use mbin and see this, without any action at all.
The point is that as it stands right now, there are already basically no restrictions. The only thing perhaps missing is the knowledge that you can simply copy paste a link into fedia or another mbin instance to view upvotes.
You can open an issue on mbin about it, to restore a semblance of restriction. But currently as it stands, all restrictions are about as fallen as they could be.
You can ofc argue that we shouldn’t open another equivalent hole in lemmys webui and api, so that you can in the future remove the ability from mbin.
I would in turn argue that this system has always been egregious, and that in the same sense as banning encryption you never hit those you want to hit using incomplete restrictions. Regular users are led to believe their votes are private, while the worst dataminers or trolls will always have their instances to query all of that info.
And how could you inform people that their votes are public without at the same time telling them how to get access to that info?
If mbin removes the info, you will get another fediverse software showing it. You will get fediverse activity pub log info pages, specific vote info pages, it will never end.
Has reddit ever managed to kill the 200ᵗʰ removeddit clone?
Please instead put your effort into changing the way lemmy federates, the only way to fix this is to make vote details private, between only a select few instances. An mbin dev in the other thread mentioned PeerTube as an example implementation where you could remove vote details like that.
What if some troll sets up a website that indexes/publishes this data? What technical skill would be required then?
The data is public and ignorance is not bliss. People need to be made aware of this. If this will lead to people being more careful about what they post online or how they interact with a public social media service, then all the better.
They’d get defederated.
Ok, yeah, theoretically.
But we’re talking about putting voting info into the UI for anyone to see. Not highly motivated and skilled bad actors.
And the “we should not make it available for the public at large because it will lead to abuse” is also theoretical.
Anyway, I’m already on record saying that I don’t like the voting system and that we should get rid of it altogether. Voting on content used to be about collective curation, not a constant popularity contest.
I’m also on record saying that we need to stop relying on systems that only give us the illusion of privacy and depend on the software developers for culture shaping.
If making the vote public gets people to be exposed to these fundamental issues of the current design, and leads us to search for better solutions, then I’m all for it.
It’s not theoretical to se how people consistently behave when there’s less friction for toxic behavior. You should look into it if you’re not already aware of the very predictable negative outcomes that stem from removing those frictions.
I mean in the specific case of “giving vote visibility to everyone will cause more harassment based on who-voted-on-what”. It’s theoretical because this has not been implemented yet.
Except that it plainly obvious that it’s a reduction in friction for doing so and therefore will increase the behavior.
I’ve addressed this in another comment. At first, it’s quite likely that we’d see an increase in behavior. But the way to correct this would be by reporting “serial downvoters” and brigaders to moderators, which could then be empowered to enforce “don’t downvote just because you disagree” guidelines.
Hackernews, for all its faults, does this very well. Their moderation team is quite small, yet it rarely falls into screaming matches between users. Their guidelines are clear and let people understand what is/is not acceptable. Mods are rarely seen threatening to ban someone, but often calling out bad behavior and simply asking people to stop doing whatever they are doing before it escalates further.
We’ve already seen that kind of harrasment on major platforms including X and those owned by Meta.
This feels a bit of a conversation-shutting argument. Lots of things (good and bad) will happen on a platform that has billions of users. The real question is to about many of those instances happened solely due to the data being (easily) available to the public.
In any case, I really don’t think that the solution to the problem of targeted harassment is by providing quote-unquote-privacy. Today, people want to obfuscate votes. Tomorrow it will be subscription lists and later it will be even posts/comments. By then it will be better to just use a closed network or just go full darknet. I’d rather we spent more time educating the people on how to use actually secure and private communications platform instead of sacrificing Transparency and Accountability for the sake of a vocal minority who will keep trying to turn the “Open Social Web” (which is meant to be open and public) into their exclusive, cocooned service.
That’s because it’s supposed to be. I was on Reddit for a decade until their management shit the bed, and these kinds of problems weren’t a thing there despite the much larger userbase.
For the record, to me it’s less about privacy and more about setting expectations. I’m not anonymous online, I’m pseudonymous, I’ve had this handle for a long time. I am my online identity, and when I post and vote I don’t feel anonymous, even if I’m relatively protected from someone knocking on my door or messaging my boss about a statement.
If voting “ledgers” aren’t presented in the discussion, that’s because they aren’t intended to be part of the discussion. This reduces the value of influential individuals votes (ooh Bill Gates liked X, Kamala Harris disliked Y etc.) and shifts focus to how the community values of the content. It’s the same reason that we follow communities rather than individuals. We get an internet “hive mind” of sorts without cult of personality.
These specific kinds of things were not a problem, yet it didn’t stop the mob from doxxing people “by mistake”, getting the police breaking into people homes based on false allegations or getting people fired over something stupid that was said years ago…
If this is about “expectations” of privacy, then it would be better to just expect the worst always and only write/post/share things when you are 100% sure you don’t mind them being ever attributed to you.
i am from the post usenet and pre facebook internet generation (i hope that is vague enough) so using my real name on the internet or signing up for accounts with my real name email acount is strictly verboten by indoctrination, so my opinion may be out of date or invalid somehow, but i can not see how your lemmy account’s up or down voting history violates privacy in any meaningful way
It’s in the mbin ui already
So the technical-skill-bar is transforming a lemmy link into the equivalent on an mbin instance? That is huge.
It’s not quite that simple. As far as I’m aware, it’s difficult to fetch from another instance “after the fact” what all the votes are for a particular user or comment; you have to be signed up to receive updates on it, and then after the fact you can go hunting around in your own instance’s DB and see what all the votes were (or your UI can do it, if it’s supported).
But, yes, there are instance softwares that will do it, and no one’s defederating from every one of those instances (nor I think should they). Someone posted a link to an mbin instance breaking down the votes for this post. Votes are not private.
I ran
curl "https://mbin.grits.dev/u/mozz/outbox?page=1" -H 'accept: application/activity+json'
and I could see your outbox. Apparently mbin does not put Like/Dislike activities in there, only your comments/posts/notes.In a world where ActivityPub is only used in server-to-server, this would be fine. If we ever get to a (IMNSHO, better) scenario where we have more clients talking AP directly, then this will not work, and mbin will have to add those as well.
All of this to say:
Yes. That’s what I said. I’m actually not 100% sure about it; for all I know there’s some way to get it, but AFAIK all the existing softwares don’t publish votes “after the fact”, only at the time to current subscribers. But then, of course, it’s kind of a moot point because you can just grab it from any mbin instance’s DB through the UI without needing to do anything special or any particular knowledge.
Not really. You can have your client talking to all the servers and grabbing votes for whatever you’re subscribed to, and losing votes for anything you’re not subscribed to. It works basically exactly that way for one-user instances already.
Tru dat. 100% agreed. It seems like there are all these people in this thread arguing that their votes need to be private. Their votes are not private, and will never be private, for as long as ActivityPub is what they’re using. I can see some value, maybe, to making it slightly difficult to extract the information instead of just giving it for free to everyone, but holding onto the idea of your votes being private is a gateway to unhappiness and only unhappiness.
It works like that for servers because servers are assumed to have high uptime, so (in theory) push-based communication should be enough. However, we see that this is not true even for servers (e.g, medium-sized instances getting out of sync with LW because they can not keep up with all the data being sent to them) and this will be specially true in the case of a network with tens/hundreds of thousands of separate clients. No server will be willing to push activities to all those inboxes, so we will need to have some pull-based form of communication as well.
Oh, yeah, at that point it’ll be a scalability clusterfuck. No idea what the solution is. Maybe something with persistent caches run by third parties or something? That actually would be fine, since all the actions are signed with the private key of the actor, I think.
ActivityPub is not to me a real great designed protocol but it’s whatever. Usually the key part for social networks is the “social” part of it; the protocol or the web site can be pure shite and if people like interacting with the other people there then it’s fine. But yes, you are correct that beyond a certain point of scalability there are some dragons lurking that don’t have obvious weak spots.
The problem is not with ActivityPub, but the implementations. No one ever claimed that it should be only a push-based system, but it seems that everyone working on AP software can only think in terms of server-to-server interactions to get the data and then reinvent the wheel by developing their ad-hoc API.
AP is fine if we treat it as a messaging protocol and use it to power offline-first applications. The devices do not need to have all the network’s data, just the one that the user has actively interacted with.
How do you know who you’re defederating with? When I set up my instance, the list of federated instances was thousands. How do you know which one is scraping the data?
How is the data public? I’m asking in the most technical sense?
This informs an issue I’ve had lately with a group of three people or bots following along my comment chain (All my comments, for a while, were dropping consistently to -2 score in all contexts).
It’s my understanding that votes are not public. Am I wrong?
Every comment/post/vote made in a community is sent as an activity to the community’s subscribers.
All votes are public, they’re literally broadcast to the Fediverse writ large. You vote on something on your server, your server then tells the server owning the thing you voted on and that server then tells anyone who is interested (subscribers on other servers). That way everyone knows that this comment was voted on, but that information is indelibly tied to you - an entity on the Fediverse.
Lemmy devs just chose not to a) show that information in a UI (plenty of other software out there does) and b) not inform people that was the case. Which leads to the whole point of the thread, hiding this from users merely gives a false sense of security.
Your idea of a nice world and mine are very different.
Yeah, I do my best to avoid cliched references, but this is 100% a “blue pill/red pill” dilemma. The majority of people seem to prefer to live a comfortable lie than face the harsh truth.
Your world does not correspond to reality given that mbin already shows individual votes.
Head over to your comment on fedia.io and see who voted on your own comment.
Do you want to only vote on instances that defederate all mbin instances, and commit to keep doing so in the future?
Just because people can go out of their way to find this information, doesn’t mean we should remove all restrictions. That’s a real twisted way of thinking.
What we have in place is already egregious imo, and a major flaw with the system in place.
That isn’t really going out of your way, it is the base mode of how the fediverse works. Looking at something on a different instance.
Plenty of people just use mbin and see this, without any action at all.
The point is that as it stands right now, there are already basically no restrictions. The only thing perhaps missing is the knowledge that you can simply copy paste a link into fedia or another mbin instance to view upvotes.
You can open an issue on mbin about it, to restore a semblance of restriction. But currently as it stands, all restrictions are about as fallen as they could be.
You can ofc argue that we shouldn’t open another equivalent hole in lemmys webui and api, so that you can in the future remove the ability from mbin.
I would in turn argue that this system has always been egregious, and that in the same sense as banning encryption you never hit those you want to hit using incomplete restrictions. Regular users are led to believe their votes are private, while the worst dataminers or trolls will always have their instances to query all of that info.
And how could you inform people that their votes are public without at the same time telling them how to get access to that info?
If mbin removes the info, you will get another fediverse software showing it. You will get fediverse activity pub log info pages, specific vote info pages, it will never end.
Has reddit ever managed to kill the 200ᵗʰ removeddit clone?
Please instead put your effort into changing the way lemmy federates, the only way to fix this is to make vote details private, between only a select few instances. An mbin dev in the other thread mentioned PeerTube as an example implementation where you could remove vote details like that.
They already can. This information is not locked away.