Should you be able to delete quotes of yourself online?

This post is in response to the GitHub Issue
Quote Toots #12753” (Archived Page). I opened this issue a while ago requesting that Mastodon add an easier way to quote users than linking to their post. This sparked users concerns including online harassment and their right to delete what they say on the public internet. This post responds to various points made on the GitHub issue.

Private entities are free to do what they want to do

Before I go over any points in this article I want to clarify that I believe private entities are free to do what they want. If the Mastodon Project want to ban users whose favorite color is purple, it’s their site their rules, of course be sure to ban me too because my favorite color is purple. ?

The Mastodon Project is a private entity and can choose to include features or not include them, they’re also free to delete GitHub issues/comments they disagree with in their repositories. Under no circumstance do I believe that they should be forced to do anything they don’t want to. This blog post exists so I can state my opinions on a platform that they don’t control (I have a feeling some of my comments today will be hidden ?).

Back to the key question

I do not believe that anyone has the right or should be able to delete someone’s quotation of them-self. Quoting for purposes of commentary and criticism is protected fair use under copyright law. Just because you disagree with something someone has to say doesn’t mean that you have a right to delete it even when it’s about you. Anything else threatens freedom of expression.

Responding to concerns I saw on GitHub

What’s the right to be forgotten?

In Europe people have the right to be forgotten about and have certain negative information about themselves removed from the internet. It’s understandable people want to let go of the past. Such a law has huge free speech implications and bans speech about an individual. If someone quotes and attributes you in a way that can’t be erased it may infringe on this right. When you effectively ban speech about an individual it may be the highest form of political censorship aside from banning a political party. To be clear this is censorship by the government not a private entity.

What is call out culture?

In the linked GitHub discussion thread concerns on enabling call-out culture were raised. For those unaware, the phrase “call-out culture” references an ongoing issue on social networking websites where someone will quote another who said something offensive. Afterwards their followers will sometimes harass the quoted individual. This can even go to great lengths such as calling someone’s employer and trying to get them fired from their job. It’s just a bunch of internet users acting like children and telling the adults on each other and should be treated as such.

Quotes are anti-social!!!

I believe this point was actually in a linked Mastodon thread, but I’ll discuss it here anyways. People raised concerns that quotes are anti-social and that you should reply instead. Not everyone wants to debate with you, often quoting why you believe something someone said is wrong is an important part of online discussion. It’s probably best that people who disagree talk to their own audience not each other. But for a project which believes that quotes are anti-social they sure use them a lot ?

Mastodon Maintainers have explained their design decision already

The Mastodon Project wrote a blog post outlining their design decisions. It boils down to they believe certain features on Twitter were abused so they’re disabling them entirely in their software. It’s well worth a read and you can decide whether if you agree with them or not.

Conclusion

A proposed change in Mastodon raises concerns on the freedom of expression. People are free to make their own forks of Mastodon so it’s a limited issue. People who are concerned can and should make their own ActivityPub projects. I hope this article was informative and that you enjoyed the memes along the way. Now that I think about it – it was like one of those educational games. You know where you get to play a few seconds and then have to solve a math problem to continue. No? Alright I feel old…

How to use Wasabi Object Storage with Mastodon’s Amazon S3 Adapter

Wasabi is a cost effective alternative to Amazon S3. With it you can use existing tools built for Amazon S3 at low cost. Wasabi is great for instance owners like me who don’t have a small fortune to spent on cloud services. This blog post discusses the configuration I used for LGBTQIA.is using Mastodon v3.0.1 Catgirl Edition (the S3 Adapter is to the best of my knowledge identical to that of Vanilla Mastodon) to use Wasabi Object Storage.

Configuring Mastodon

I used the following Mastodon .env configuration to make Wasabi work. This configuration should go in .env.production. You’ll need to set your own S3_BUCKET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and S3_CLOUDFRONT_HOST data. You’ll notice the S3_REGION is us-east-1 while the S3_ENDPOINT is https://s3.us-east-2.wasabisys.com/. This is intentional and not a typo. It’s explained further at the end of the article.

S3_ENABLED=true
S3_BUCKET=YOUR_BUCKET_NAME
S3_REGION=us-east-1
AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY
AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
S3_PROTOCOL=https
S3_HOSTNAME=s3.wasabisys.com
S3_CLOUDFRONT_HOST=media.your.hostname
S3_ENDPOINT=https://s3.us-east-2.wasabisys.com/

Configuring Nginx

I choose to proxy my media traffic through nginx. This allows for you to change the object storage provider should Wasabi ever cease operations or if you become unhappy with their pricing model without affecting remote instances who would have linked to the old URLs at Wasabi. It is also nice if you want to use Cloudflare’s Free CDN to proxy image traffic without proxying all Mastodon traffic. Remember that you need to update server_name and your_bucket_name for this to work correctly.

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name media.your.hostname;

        ssl_certificate /etc/nginx/ssl/cert.pem;
        ssl_certificate_key /etc/nginx/ssl/privkey.pem;
	set $backend "https://s3.us-east-2.wasabisys.com:443";

        location / {
		resolver 1.1.1.1;
                proxy_cache mastodon_media;
                proxy_cache_revalidate on;
                proxy_buffering on;
                proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
                proxy_cache_background_update on;
                proxy_cache_lock on;
                proxy_cache_valid 1d;
                proxy_cache_valid 404 1h;
                proxy_ignore_headers Cache-Control;
		proxy_set_header Host 's3.us-east-2.wasabisys.com';
                add_header X-Cached $upstream_cache_status;
		proxy_pass $backend/your_bucket_name$uri;
        }

}

Known Issues with Wasabi’s S3 Implementation

When using the us-east-2 region you must still set us-east-1 as your S3_REGION while using the https://s3.us-east-2.wasabisys.com/ endpoint. Authentication fails otherwise and you’ll be unable to upload objects. This is confusing behavior and I hope it’s fixed in the future. My only other complaint is they tend to have more frequent outages than Amazon S3 but it’s understandable at the lower price point.

Conclusion

Wasabi provides a low cost alternative to Amazon S3 at the cost of a confusing configuration. If you’ve followed this tutorial correctly your Mastodon instance will now use Wasabi. If this isn’t a new instance be sure to move your existing media files over with rclone.