cross-posted from: https://lemm.ee/post/65824884
Hey everyone
We’re really sorry to say this, but lemm.ee will be shutting down on June 30, 2025.
What you need to know
As of now:
- New user registrations are disabled
- Creating new communities is disabled
What you should do:
- You can export your settings at https://lemm.ee/settings to take them with you to another instance.
- If you’re moving to another instance, consider adding a note to your lemm.ee profile with your new username. Your old profile will still be visible from other instances even after we go offline.
- Alternatively, if you want to delete your lemm.ee profile, now is the best time to do it, so the deletion can federate out before we go offline.
- If you’re one of the folks supporting us with a recurring donation, please remember to cancel it (Ko-Fi donations should have been cancelled automatically already). Our leftover funds are already enough to cover our bills for next month, so we can keep things running without any more support.
Because of how Lemmy is built, everything posted on lemm.ee will still be accessible from other instances, even after we go offline.
Why this is happening
The key reason is that we just don’t have enough people on the admin team to keep the place running. Most of the admin team has stepped down, mostly due to burnout, and finding replacements hasn’t worked out.
The sad reality is that while there are a lot of great people on Lemmy, there are also some who use the platform to attack others, stir up conflict, or actively try to undermine the project. Admins are volunteers who deal with the latter group on a constant basis, this takes a mental toll. Please understand why our admins chose to step down, and be kind to the admins on whatever instance you decide to join.
We know this sucks. We’re genuinely sorry it’s ending like this. Thank you to everyone who spent time here and helped make it better.
– lemm.ee team
Thank you and the admin team, past and present, for their time and care.
What’s really disappointing is that I just made my Lemm.ee account because Lemmy.One had announced they were closing down. Kinda disheartening to make a new account only for the new instance to also shutdown.
The OP has comments disabled and it didn’t seem right to not say thank you and goodbye.
To the entire team past and present at lemm.ee- Thank you for the time and resources you poured into this platform. You will undoubtedly be missed.
why are comments even disabled in the first place?
Probably because if they were enabled it would be filled with people soapboxing about their irrelevant hobbyhorses or offering to help just to keep the instance alive. Neither are useful or relevant. If people wanted the instance to survive then they should have been volunteering months ago, not at 11:59 on the Doomsday Clock.
The sad thing is that nobody knew there was a doomsday clock.
There always is. No one is getting paid to do this, they’re giving up their free time and (often) money. Leaving it to the last minute to volunteer or donate is never sustainable long-term. If people really care so much and are willing to sacrifice either, they need to be proactive rather than wait for emergency pleas for help.
On the other hand, as far as I can tell, they only called for new admins/mods 4 months ago and not since then. I agree that if you care about something, you should support it and not wait until they cry for help, but there is also a matter of being proactive and transparent about how volunteer recruitment is going (well or badly).
Completely. This feels like a major communications fail. It’s a basic technique of fundraising and mobilization: put a big ticking clock on your campaign and people will step up in time.
Yet, they’re entitled to their own decisions, triumphs and failures. So, they can shutdown the instance. Now, it would be a different thing if people really want them to be around again, raise some money, grab a backup, buy the domain name, let’s gooo!! …or not. Fine by me. If only 2 users from the instance decided to start a new one this is a huge win :)
I think you’re missing the point. The call for new admin volunteers was stickied by the instance for an extended period. Even using an app rather than the web interface, it was stuck at the top of my feed until I hid the post.
The group of people who ignored that call to action yet would have volunteered with a follow-up post of a “big ticking clock” as it were, aren’t necessarily the type of people you want to admin an instance. Especially one as big as lemm.ee. Certainly, if any admin will do then increasing recruitment efforts makes sense.
… They are literally saying they don’t have admins/mods enough. You want to strain your mods? Allowing comments on that sort of post is how you do that.
it could have been a cool free 4 all like in the good old internet times xD
Yeah sure its all fun and games until people start posting csam.
He said he’s fine with csam on lemmy, as it will be voted away
“Think of the kids”
Seriously, I have enough of people using this kind of reasoning for censoring everything and having strong moderation. I’m pretty sure nearly no one does that
then block them with your user power. i dont see the problem?
The problem, besides that just being gross, is that hosting csam is a very serious crime in most places. Leaving that unmoderated can very easily end with alphabet agencies from around the world shutting down lemmy instances.
And hosting CSAM is immoral.
CSAM stands for Child Sexual Abuse Material (child porn under its old moniker).
I’m going to assume you didn’t know what the acronym meant because saying “just block them I don’t see the problem” to CSAM posts is very idiotic.
Yes officer, this one right here.
Removed by mod
good
Was it?
its probably because its just an important announcement post they plan to pin for the whole month and they dont want it to get filled with people talking in it which could led to the comment derailing the discussion
❤️
It was the first foray into the fediverse and helped wean me off reddit. Sad to see it go.
The settings import / export feature is extremely cool.
Reminds me of the many times I was banned from reddit for no good reason and then had to reset every one of my subs. So much easier, and just goes to back up the decentralized philosophy of lemmy.
I literally just woke up and opened Lemmy to see this. As a lemm.ee user this is sad news but I respect the decision of all those involved as they navigate this
Holy shit, that was unexpected.
Yea, I’m really surprised as well. Was there any build up to this? Any calls for help?
Yes, actually. I probably could have stepped up to be an admin, but tbh, my plate is already overfull.
Yes, actually.
Link? Just out of curiosity.
That’s four months ago. Unfortunate that they didn’t call for more urgent help after that. But I suppose it’s too late now.
I always just assume there are hella ppl clamoring to do it and I wouldnt be picked
As a rule of thumb, there typically are very few people clamoring for volunteer leader positions. It’s a constant problem you see even in irl non-profit organizations, unless they’re fairly big/famous
It just turns out that, it’s actually just a lot of responsibility and work. Most people realize this, and don’t have the capacity to do the work, so often there even are no candidates for the leader positions… until someone reluctantly steps up because otherwise the organization would die
At least, that’s my experience in the real life organizations and clubs I’ve volunteered in
I messaged sunaurus a year ago about potentially being a mod, and he told me it’d be difficult and I ended up chickening out. Now I wish I had stepped up also
a comment tree with the same confusion as you (and me lol) https://lemm.ee/comment/20911153
Lemm.ee is recruiting new admins!, from four months ago.
so where do i go now?
Damn, even if it was to be excepted with how the admin issue was evolving, it’s still sad.
But i guess the strengh of the fediverse come from the fact that such an issue can happen without impacting the entire lemmy community as a whole.
I’m just worried that the lack of moderation becomes a recurrent issue in the future of lemmy with the userbase growth and the lack of revenue.
I wish best luck for communities moderators and EE users!
Sail into the sunset lemm.ee
You will be missed
Definitely
Ahh, this is really sad. Lemm.ee was always an instance that shined brightly, and @sunaurus@lemm.ee has helped me out a couple of times.
Sad day indeed.
This instance will live on. Definitely understand the burnout and hope @sunaurus@lemm.ee and the other volunteers here stick around.
What a loss. =(
It’s a strange quirk of lemmy that we will continue to be able to see content from lemm.ee even after they’ve shut down. It’ll feel like seeing ghosts.
A lot of the internet has been lost to time already so I actually appreciate this place having this kind of permanence.
By the way, I wonder if new instances will still see those. I believe not if they were posted on a lemm.ee community
Your correct. Lemm.ee’s ghosts will only live on in the instances around during it’s life.
Kind of like humans after they die. You still live on in the memories of those who knew you.
It doesn’t have to be that way.
Check FEP-ef61. https://codeberg.org/fediverse/fep/src/branch/main/fep/ef61/fep-ef61.md
I get blocked from these links I dunno why. It’s very frustrating.
Interesting, what browser are you using?
Anyway, its written in markdown.
The contents of FEP-ef61.
FEP-ef61: Portable Objects
Summary
Portable [ActivityPub][ActivityPub] objects with server-independent IDs.
Motivation
Usage of HTTP(S) URLs as identifiers has a major drawback: when the server disappears, everyone who uses it loses their identities and data.
The proposed solution should satisfy the following constraints:
- User’s identity and data should not be tied to a single server.
- Users should have a choice between full control over their identity and data, and delegation of control to a trusted party.
- Implementing the solution in existing software should be as simple as possible. Changes to ActivityPub data model should be kept to a minimum.
- The solution should be compatible with existing and emerging decentralized identity and storage systems.
- The solution should be transport-agnostic.
History
Nomadic identity mechanism makes identity independent from a server and was originally part of the Zot federation protocol.
Streams (2021) made nomadic accounts available via the Nomad protocol, which supported ActivityStreams serialisation.
FEP-c390 (2022) introduced a decentralized identity solution compatible with ActivityPub. It enabled permissionless migration of followers between servers, but didn’t provide full data portability.
Requirements
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC-2119][RFC-2119].
Identifiers
An [ActivityPub][ActivityPub] object can be made portable by using an identifier that is not tied to a single server. This proposal describes a new identifier type that has this property and is compatible with the [ActivityPub] specification.
ap:// URLs
ap://
URL is constructed according to the [URI][RFC-3986] specification, but with a [Decentralized Identifier][DID] in place of the authority:ap://did:example:123456/path/to/object?name=value#fragment-id \_/ \________________/ \____________/ \________/ \_________/ | | | | | scheme authority path query fragment
- The URI scheme MUST be
ap
. - The authority component MUST be a valid [DID].
- The path is REQUIRED. It MUST be treated as an opaque string.
- The query is OPTIONAL. To avoid future conflicts, implementers SHOULD NOT use parameter names that are not defined in this proposal.
- The fragment is OPTIONAL.
[!NOTE] ActivityPub specification [requires][ActivityPub-ObjectIdentifiers] identifiers to have an authority “belonging to that of their originating server”. The authority of ‘ap’ URL is a DID, which does not belong to any particular server.
[!WARNING] The URI scheme might be changed to
ap+ef61
in a future version of this document, because these identifiers are not intended to be used for all ActivityPub objects, but only for portable ones.DID methods
Implementers MUST support the [did:key] method. Other DID methods SHOULD NOT be used, as it might hinder interoperability.
[!NOTE] The following additional DID methods are being considered: did:web, did:dns, did:webvh (formerly
did:tdw
) and did:fedi.DID documents SHOULD contain Ed25519 public keys represented as verification methods with
Multikey
type (as defined in the [Controlled Identifiers][Multikey] specification).Any [DID URL][DID-URL] capabilities of a DID method MUST be ignored when working with
ap://
URLs.Dereferencing ap:// URLs
To dereference an
ap://
URL, the client MUST make HTTP GET request to a gateway endpoint at [well-known] location/.well-known/apgateway
. Theap://
prefix MUST be removed from the URL and the rest of it appened to a gateway URL. The client MUST specify anAccept
header with theapplication/ld+json; profile="https://www.w3.org/ns/activitystreams"
media type.Example of a request to a gateway:
GET https://social.example/.well-known/apgateway/did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2/path/to/object
ActivityPub objects identified by
ap://
URLs can be stored on multiple servers simultaneously.If object identified by
ap://
URL is stored on the server, it MUST return a response with status200 OK
containing the requested object. The value of aContent-Type
header MUST beapplication/ld+json; profile="https://www.w3.org/ns/activitystreams"
.If object identified by
ap://
URL is not stored on the server, it MUST return404 Not Found
.If object is not public, the server MUST return
404 Not Found
unless the request has a HTTP signature and the signer is allowed to view the object.[!NOTE] This document describes web gateways, which use HTTP transport. However, the data model and authentication mechanism are transport-agnostic and other types of gateways could exist.
Authentication and authorization
Authentication and authorization are performed in accordance with [FEP-fe34] origin-based security model.
The [origin][RFC-6454] of an
ap://
URL is computed by the following algorithm:- Let
uri-scheme
be theap
string. - Let
uri-host
be the authority component of the URL. - Let
uri-port
be the number 0. - Return the triple
(uri-scheme, uri-host, uri-port)
.
And the origin of a [DID URL][DID-URL] is computed by the following algorithm:
- Let
uri-scheme
be theap
string. - Let
uri-host
be the DID component of the DID URL. - Let
uri-port
be the number 0. - Return the triple
(uri-scheme, uri-host, uri-port)
.
Actors, activities and objects identified by
ap://
URLs MUST contain [FEP-8b32] integrity proofs. Collections identified byap://
URLs MAY contain integrity proofs. If collection doesn’t contain an integrity proof, another authentication method MUST be used.The value of
verificationMethod
property of the proof MUST be a [DID URL][DID-URL] where the DID matches the authority component of theap://
URL.[!NOTE] This document uses terms “actor”, “activity”, “collection” and “object” according to the classification given in [FEP-2277].
Portable actors
One identity (represented by [DID]) can control multiple actors (which are differentiated by the path component of an
ap://
URL).An actor object identified by
ap://
URL MUST have agateways
property containing an ordered list of gateways where the latest version of that actor object can be retrieved. Each item in the list MUST be an HTTP(S) URL with empty path, query and fragment components. The list MUST contain at least one item.Gateways are expected to be the same for all actors under a DID authority and MAY be also specified in the DID document as [services][DID-Services].
Example:
{ "@context": [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1", "https://w3id.org/fep/ef61" ], "type": "Person", "id": "ap://did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2/actor", "inbox": "ap://did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2/actor/inbox", "outbox": "ap://did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2/actor/outbox", "gateways": [ "https://server1.example", "https://server2.example" ], "proof": { "type": "DataIntegrityProof", "cryptosuite": "eddsa-jcs-2022", "created": "2023-02-24T23:36:38Z", "verificationMethod": "did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2#z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2", "proofPurpose": "assertionMethod", "proofValue": "..." } }
Location hints
When ActivityPub object containing a reference to another actor is being constructed, implementations SHOULD provide a list of gateways where specified actor object can be retrieved. This list MAY be provided using the
gateways
query parameter. Each gateway address MUST be URL-endcoded, and if multiple addresses are present they MUST be separated by commas.Example:
ap://did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2/actor?gateways=https%3A%2F%2Fserver1.example,https%3A%2F%2Fserver2.example
This URL indicates that object can be retrieved from two gateways:
https://server1.example
https://server2.example
Implementations MUST discard query parameters when comparing
ap://
identifiers and treat identifiers with different query parameter values as equal.Inboxes and outboxes
Servers and clients MUST use gateways to deliver activities to inboxes or outboxes. Servers specified in the
gateways
property of an actor object MUST accept POST requests to respective gateway URLs.Example:
POST https://social.example/.well-known/apgateway/did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2/actor/inbox
Delivered activities might be not portable. If delivered activity is portable (has
ap://
identifier), the server MUST verify its [FEP-8b32] integrity proof. If the server does not accept deliveries on behalf of an actor, it MUST return405 Method Not Allowed
.ActivityPub clients MAY follow [FEP-ae97][FEP-ae97] to publish activities. In this case
Safari ios. Thank you for the copy
@The_Picard_Maneuver @FrostyTrichs I think this is a common attribute of the fediverse in general. Once a post has propagated to other sites, the non-existence of the originating site is not going to remove that post, but in some cases posts may contain references to images on the original site and the site that it propagated to may elect to reference images from the original site rather than store them locally. In that case, the new site will have the post but not images that it contained.
Sad to hear, had a very inspired name and the admin was very strong with hosting tech. Unfortunately however a generic instance with lax federation rules and no solid ideology, is a recipe for burning out your admins. The owner seemingly losing interest in lemmy also didn’t help.
Yeah I agree, that model just isn’t sustainable. Moderation is one of the most challenging aspects of running a Lemmy instance, and deciding to never defederate because of “free speech” and “user choice” just makes the job that much worse. It feels almost inevitable that instances like this will ultimately succumb to this type of burnout.
Really I feel like we should stop talking about “defederation” as an abstract concept without context or reason since it makes it seem like defederation happens for no reason. Which is almost never the case. We don’t talk about other forms of moderation that way, and if someone did it would be clear they’re one of those free speech trolls, so why do we so casually talk about defederation this way? Seriously, defederation, like any other moderation is 100% necessary, because humans are evil pieces of shit. Not all of them, but many are. That’s why we ban people, that’s why we defederate the most rotten places in the fediverse. Saying “just block users” is counterproductive. You know what Lemmy would look like if that’s all we offered here? Probably a more extreme version of 4chan, since those are the people that dominate when moderation isn’t enforced.
Agreed
shouldve kept the nsfw, ml and hexbear instance seperate when they had the chance.
Ironically, that lemm.ee still federated with .ml, hexbear, and lemmygrad was one of the primary factors for me deciding to move my account there from lemmy.world. I want to be a part of an instance that federates with those communities and then I can just block individual communities and accounts on a case-by-case basis from my account.
ml and hexbear were getting problematic for me so i blocked them. and the users there were infesting other posts with thier rants.
I’ve only been on Lemmy for a year, but this feels pretty significant. How do we prevent this from happening to other instances? Or do we not see it as a huge problem if we assume most active users will migrate to other Lemmy instances?
Also side note, I think Voyager defaults to lemm.ee.
Really nice that they’re doing a sunset period with advance warning instead of just randomly going dark. As Lemmy’s first major “shutdown” we need to accept that this sort of thing seems inevitable from time to time, maybe this can set an example and open a conversation on how to handle this sort of situation in the future. I’d hope this creates some pressure to Fediverse developers to improve portability for users (and communities!) moving between instances, maybe even some kind of immigration/emigration mode for people or communities who want to apply to transfer their account and history rather than simply sign up a new account while posting a link from their old account. Federation should be able to do better than that.
and they don’t support voyager
Voyager doesn’t support them
Mastodon handles it pretty decently where it automatically gets your followers to follow your new account, there’s no reason why communities/groups couldn’t do the same thing
Individual users’ follows are not very useful in the threadiverse compared to backlog of content.
The historical backlog isn’t going anywhere. It will still be viewable on other instances.
For example here’s an old thread from a community on vlemmy.net, an instance that disappeared more than a year ago.
Yes, but people can no longer engage with that content. It creates the appearance of relatively dead communities.
Yeah and that kinda looks bad at first glance. Just clicking on what seems like the biggest community (most subscribers) and seeing that it’s actually dead (instance went down or the community was migrated elsewhere).
feddit.de disappeared a while back. As did the original UK one. (Both have been replaced)
Was there an original uk one? This one is the only one I’m aware of, it had a moment of doubt a year back but we got new admins before we needed to move.
It reminds me of DMV.social’s shutdown, and for similar reasons (admin feeling overwhelmed). I don’t recall how big that one was though.