• 0 Posts
  • 11 Comments
Joined 2 years ago
cake
Cake day: August 4th, 2023

help-circle
  • I wonder if there’s a way to prevent people from even knowing that two different votes came from the same user.

    What I outlined above should prevent anyone from knowing two different votes came from the same user… without specifically trying that user’s id on each. That’s what the salt (the comment/post id) is for.



  • TootSweet@lemmy.worldtoOpen Source@lemmy.mlIntroducing Lemvotes
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    1
    ·
    edit-2
    21 hours ago

    Votes should be anonymous.

    I tend to agree, but the fact is that they aren’t anonymous. This tool just exposes the already-existing fact that Lemmy expressly does not guarantee anonymity for votes. The solution isn’t to not for the poster to not publish this tool. Believe me, such tools already exist in private even if none other than this one are published. Publishing this one only democratizes access to that information. (And not entirely, I don’t think. From what I’m seeing on the page, it looks like it still requires an admin account on an instance. Update: Actually, I’m not sure if it requires an admin account or not. Either way, though.) The solution is (if it’s possible) to make Lemmy itself protect voters’ anonymity.

    The reason why instances know who has up/down voted things (rather than only keeping an anonymized “total” for each post/comment) is so it can prevent double-voting.

    Maybe instead of usernames, the instances could store/trade… salted hashes of the usernames where the salt is the title or unique identifier of the post/comment being voted on? It wouldn’t be perfect, but it would allow the instance to figure out whether the currently-viewing or currently-voting user has already voted while also making it harder for anyone else to get that information. About the only way a tool could tell you exhaustively who had voted if that were how things worked that I can think of off hand is to try every username on Lemmy one-by-one until all the votes were accounted for.

    (Of course, malicious instances could still keep track of usernames or unique user ids who up/downvoted, but only on the instance on which the vote was cast. Also, one downside of this approach would be increased CPU usage. How much? Not sure. It might be trivial. Or maybe not. Dunno.)

    And there may be much better ways to do this. I haven’t really thought about it much. I also haven’t checked whether there is an open ticket asking for improved anonymity for votes already.

    (Also, full disclosure, all of the above was written after only an extremely brief skim of the linked page.)

    (One more edit. Something IHawkMike said led me to realize that the scheme I described above would allow instances to manipulate votes by just inventing hashes. Like, grabbing 512 bits of data from /dev/urandom and giving it to other instances as if it was a hash of a username or user id when, in fact, it’s not a hash of anything. Other instances wouldn’t be able to easily tell that it wasn’t the hash of a valid user id. I haven’t thought how to go about solving that yet. Maybe if it occurs to me, I’ll update this post.)








  • Damn. Am I about to defend FUTO/GrayJay?

    The license is a lot better than it was previously. (And by that I mean it’s less worse than a basic MIT-style FOSS license, not that it’s “good”.) Now it does allow derivative works (just not derivative works that remove the “pay FUTO” button, and it doesn’t allow selleing GrayJay or derivative works, and it requires a “prominent” notice if you’ve made changes.)

    And the old version had a bit about how FUTO could change the terms at any time for no reason, which basically made it entirely useless.

    You can not fork it and retain ownership of the code.

    Technically, MIT-style licenses (let alone copy-left licenses) don’t either, I’m pretty sure. Though that’s more true in one sense of the GrayJay Core License than of Open Source licenses.


  • Yeah, I’m salty at them for diluting the term “Open Source”.

    And, yes, I’m more aligned with the Free Software movement than the Open Source movement. But in practice, all Open Source software is also Free Software, as long as they’re not misusing the term “Open Source” like FUTO recently apologized for. (Though this page still says “All FUTO-funded projects are expected to be open-source or develop a plan to eventually become so.” which I think is just a holdover from before they promised to stop misusing the term “Open Source” that they haven’t caught and fixed yet.)

    But still, their license is kindof shitty. And maybe it’s just a narcissism of small diffrences thing, but it feels more nefarious in some ways than just a straight-forwardly proprietary license would be.

    Anyway, no chance I’ll ever use GrayJay unless they some day decide to put it under a properly FOSS license. Even if only because there’s no way I’m going to go to the trouble of side-loading it or any Android app store other than the F-Droid I’ve got on my no-Google-apps LineageOS phone now.

    And just in general purposefully and maliciously misusing terms like “Open Source” and “FOSS” is a pretty transparent capitalist scumbag move. And the “apology” for doing so is hardly an apology. They spend more of the apology casting shade at FOSS than apologizing. And then they have the gall to tell people that their shitty-ass GrayJay license is some panacea of consumer freedom or privacy? It’s worse than any Open Source license. If they really wanted to address the consumer privacy and freedom isuses in tech, they’d use AGPL. But no, their “improvement” on the BSD/MIT-style licenses is “don’t make any versions without ‘pay FUTO money’ buttons and don’t charge for it.” Good fucking job, FUTO, you fixed enshittification.

    Bah. Yeah. I’m pissed at FUTO.

    Thanks for your post. You’re getting lots of downvotes, but I upvoted. Folks ought to know how scummy FUTO is. I don’t really blame Rossman directly so much (though, honestly, I haven’t really followed him enough to know.) I suspect he may just be kinda clueless about FOSS and got swept up in FUTO’s rhetoric (even though there’s no substance behind their rhetoric) that they’re going to fix the industry or whatever. He just got pissed at Apple about their hostility to device repair (based), but then got hoodwinked by scummy capitalist bullshit.