Start by reading these two articles:

Ok, now that you’ve done that (hopefully in the order I posted them), I can begin.

I have always been a strong supporter of Open Source Software (OSS), so much so that all of my projects (yes all) are OSS and fully open for anyone to use. And with that, I knew that things could be used for good… and bad. I took that risk. But I also made sure to build stuff that wasn’t, in itself, inherently bad. I didn’t build anything unethical to my eyes (I understand the nuance here).

But I’ve seen what unethical devs can do.

Just take a look at those implementing the ModFascismBot for Reddit (that’s not its name, but that’s what it is). That is an incredibly unethical thing to build. Not because it’s a private company controlling what they want their site to do, no, that’s fine by me. Reddit can do whatever they want. But because it’s an attempt to lie about reality, to force users to do something through manipulation not through honesty. Even subreddits that voted overwhelmingly to shut down still got messaged by the bot telling them that the users (that voted for it) didn’t want it and they had to open back up or they would be removed from mod position. This is not ethical. This is not right. This is not what the internet is about.

Or the unethical devs at Twitter, who:

It’s one thing for an organization to have political lean…that is just a part of life, and that will never end. It’s another to actually sow disinformation in order to accomplish nefarious things to further your profits. It is what has caused massive addiction to tobacco, the continuation of climate change, death and disfiguration from forever chemicals, ovarian cancer and mesothelioma from undisclosed exposure to asbestos, or selling ‘health products’ that claim to cure everything under the sun, but can “interfere with clinical lab tests, such as those used to diagnose heart attacks”.

Please do not confuse this for saying that companies shouldn’t be able to sell things and make a profit. If you want to sell someone something that kills them if they misuse it and you market it as such, you go for it. That’s literally how every product in the cleaning aisle of your grocery store works. That’s how guns work, that’s how fertilizers work, that’s why we have labels. But manipulation for profit is unethical, and that’s why companies hide it. It hurts their bottom line. They know that their products will not be used if they reveal the truth. Instead of doing something good for humanity, they choose the subterfuge. Profits over people. Profits over Earth honestly. Profits over continuing the human race. Absolutely nothing matters to companies like this. And unethical developers enable this.


Facebook (ok, fine, Meta, still going to refer to them as FB though) is trying to join the Fediverse. We as a community, but honestly each of you as individuals, have a decision to make. Do they stay or do they go? Let’s put some information on the table.

Facebook…

  • lies about the amount of misinformation it removes [1]
  • increased censorship of ‘anti-state’ posts [1:1] [2] [3]
  • lied to Congress about social networks polarizing people, while FB’s own researchers found that they do [2:1]
  • attempted to attract preteens to the platform (huh, wonder where all that “you must be 13” stuff went) [4]
  • rewards outrage and discord [3:1][5]

Facebook also…

  • Allows for checking on friends and family in disasters [6]
  • Created and maintained some of the most popular open source software on the planet (including the software that runs the interface you’re looking at right now) [7][8]

From my perspective… There’s not much good about FB. It has single handedly caused the deaths of tens of thousands of people across the planet, if not hundreds of thousands. It continually makes people angrier and angrier. It’s a launching pad for scammers, thieves, malevolent malefactors, manipulators, dictators, to push their conquests onto the world through manipulation, lies, tricks, and deceit. Its algorithms foster an echo chamber effect, exacerbating division and animosity, making civil discourse and mutual understanding all but impossible. Instead of being a platform for connection, it often serves as a catalyst for discord and misinformation. FB’s propensity for prioritizing user engagement over factual accuracy has resulted in a global maelstrom of confusion and mistrust. Innocent minds are drawn into this vortex, manipulated by fear and falsehoods, consequently promoting harmful actions and beliefs. Despite its potential to be a tool for good, it is more frequently wielded as a weapon, sharpened by unscrupulous entities exploiting its vast reach and influence. The promise of a globally connected community seems to be overshadowed by its darker realities.


As a person, I believe that we need to choose things as a community. I do not believe in the ‘BDFL’…the Benevolent Dictator For Life. Graydon Hoare, creator of Rust, wrote an article just recently about how things would have been different if they had stayed BDFL of Rust. From my position the BDFLs we currently have on this planet really suck. Not just politically, but even in tech. I don’t think that path is good for society. It might work in specific circumstances, but it usually fails, and when it does, people get hurt. Badly.

So, with that in mind, I’ve been working on a polling feature for Lemmy. I seriously doubt I’ll be done with it soon, but hopefully FB takes a while longer to implement federation. I understand there’s a desire for me, or the other admins to just make a decision, but I really don’t like doing that. If it comes down to it, I will implement defederation to start with, but I will still be holding a vote as soon as I can get this damn feature done.



  1. http://web.archive.org/web/20220120004921/https://www.washingtonpost.com/technology/2021/10/25/what-are-the-facebook-papers/ ↩︎ ↩︎

  2. http://web.archive.org/web/20220119204203/https://www.washingtonpost.com/technology/2021/10/25/mark-zuckerberg-facebook-whistleblower/ ↩︎ ↩︎

  3. https://web.archive.org/web/20181016003104/https://www.nytimes.com/2018/10/15/technology/myanmar-facebook-genocide.html ↩︎ ↩︎

  4. https://www.wsj.com/articles/facebook-instagram-kids-tweens-attract-11632849667?mod=article_inline ↩︎

  5. https://www.wsj.com/articles/facebook-algorithm-change-zuckerberg-11631654215?mod=article_inline ↩︎

  6. https://www.facebook.com/about/crisisresponse/ ↩︎

  7. https://developers.facebook.com/blog/post/2021/10/18/peeking-behind-the-scenes-of-facebook-open-source/ ↩︎

  8. the website actually uses Inferno, but from what I can tell it was forked directly from React, judging from the actually documentation and references in the repo. ↩︎

  • shagie@programming.dev
    link
    fedilink
    English
    arrow-up
    24
    ·
    1 year ago

    ActivityPub seems to be intended to be extended to allow more and different communities to exist on it.

    I am not aware of any system that even attempts to implement the full range of what it offers - events, meetups, restaurant reviews, polling questions, and so on.

    This is something that was thought about when it was designed - https://www.w3.org/TR/activitystreams-core/#security-considerations

    Publishers or Consumers implementing Activity Streams as a stream of public data may also want to consider the potential for unsolicited commercial or malicious content and should take preventative measures to recognize such content and either identify it or not include it in their implementations.

    Consumers that re-emit ingested content for crawling by search engines should take reasonable measures to limit any use of their site as a Search Engine Optimization loophole. This may include converting untrusted hyperlinks to text or including a rel=“nofollow” attribute.

    There are perfectly good reasons to not accept content from Facebook when it starts offering ActivityPub.

    Publishers should take reasonable measures to ensure potentially malicious user input such as cross-site scripting attacks are not included in the Activity Streams data they publish.

    Defederating because a publisher isn’t taking sufficient measures to ensure that their user input isn’t malicious is a good reason.

    However, the “Embrace” and “Extend” parts are what ActivityPub is for and claiming that because Facebook is going to use the protocol and may add additional extended types that aren’t part of the current spec is not a good reason.

    Support for specific extended vocabulary types is expected to vary, with implementations only selecting the extended types and properties that make sense within the specific context and requirements of those applications. However, to avoid possible interoperability issues, implementations must avoid using extension types or properties that unduly overlap with or duplicate the extended vocabulary defined here.

    https://www.w3.org/TR/activitystreams-core/#extensibility

    In Activity Streams 2.0, an “extension” is any property, activity, actor or object type not defined by the Activity Vocabulary. Consuming implementations that encounter unfamiliar extensions must not stop processing or signal an error and must continue processing the items as if those properties were not present. Note that support for extensions can vary across implementations and no normative processing model for extensions is defined. Accordingly, implementations that rely too heavily on the use of extensions may experience reduced interoperability with other implementations.

    The nature of ActivityPub is such that it is very difficult for content from one site to be made inaccessible on another. You can make it so that content from other sites don’t appear on this site, but restricting content from this site on other sites is difficult.

    As I understand it, the only things that defederation will accomplish will be making it so that content from Threads won’t show up in the federated feed and people who want to consume that content will need to go to another site (or Threads itself).

    Defederate if Threads is pushing content that isn’t appropriate here. Defederate if the users are behaving badly.

    Noting that today is the 10904th day of September, 1993 - I suspect that this will be the case.

    Usenet didn’t fail because AOL showed up. It failed because communities had insufficient tools to maintain their identity combined with a new shiny thing (the early web) that made accessing content so much easier (and rich). Defederation is an insufficient tool unless one is willing to become a small archipelago of federated islands that have all be pre-verified as properly administered and ideologically proper to not allow any of the unwashed masses on their shores.

    Usenet still exists - though it is a shadow of its former self with a few NNTP servers that federate between each other. It’s administration tools were insufficient to manage the crap that came from the rest of the world resulting in the only way to behave with badly behaved sites was to defederate them… and any sites that federated with them.

    The long term survival of ActivityPub is a question of what other tools does a community have to manage the content that appears there other than defederating.

    • DolceTriade@programming.dev
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      Well put. The fediverse will only go as far as its moderation tools since users will always go to whichever instance/site that has the content that they want.