e1b66a2b571708f450ec25f511297939
Technical Debt Has Killed JoinDiaspora
Creative Commons Attribution-No Derivative Works 4.0
EARLIER this month we published a pair of posts about JoinDiaspora [1, 2]. It's the first pod of Diaspora* and also the largest one. It was supposed to be the alternative to Facebook, being both Free software and federated (not the same as self-hosted but at least further decentralised).
An update on the future of JoinDiaspora.com Hello everyone.
This is a message from the diaspora* Project Core Team, in collaboration with Lukas, the current administrator of JoinDiaspora.
We know it’s been silent for a while, and everyone with an account on JoinDiaspora has been waiting for an update on what is going to happen with the pod in the near future. We have been busy in the background, and we now have a plan ready that we are happy to announce to everyone.
We will explain everything in more detail below, but here is a short summary of what is going to happen: On Friday, March 4th, at around 20:00 UTC, JoinDiaspora will go down for a long maintenance break. We cannot yet estimate how long this will take. We will use that time to move JoinDiaspora and its data from infrastructure maintained by Feneas to infrastructure maintained by the diaspora* Core Team. This work will not resolve existing issues with exporting account data. Our work on the export feature will start at a later time, see below. When maintenance is completed, JoinDiaspora will be available again in a limited-service mode. In this mode, you will no longer be able to read or write posts or comments. However, you will be able to manage your account, and you will be able to export your account data.
While this will be a big task for us, you do not need to do anything right now. We know that some of you have been having trouble exporting your profile and contents, but please refrain from using scrapers or similar means to copy your data. We will make sure that everyone who wants to receive an export will have the chance to do so once maintenance of the pod has been completed. Using scrapers and other means of automated downloading at this point will only cause excessive server load that’s not conducive to our work and the system’s reliability as a whole.
Why is the maintenance break and the infrastructure move required?
Feneas is winding down operations, including the operation of its services. A lot of people are concerned about losing their long-standing account data, and we wanted to help out if we possible could. We want to be able to offer everyone a long grace period to download the profile archives and eventually migrate to a new pod, but we cannot do that with the current infrastructure, as the diaspora* Core Team is not in control.
JoinDiaspora is a big pod, and moving all the data over to a different setup will take a long time. We cannot start this process without shutting down the pod, as the only way to guarantee full data consistency with minimal effort is to turn off the pod. We’ll also use the time to make sure that the pod is updated to the latest code version, and that the general environment is up to date. This will make our future work easier.
While we will prepare as much as possible, moving the final set of data and getting the pod running on the new hosts will take some time, and we cannot make any guarantees about when the pod will be available again.
Why can’t you just continue running JoinDiaspora as a full pod?
We’re aware that some of you would like us to keep running JoinDiaspora as-is, and you’re not happy to learn that this is not going to happen. We feel you.
JoinDiaspora is not just an old pod, it’s the oldest pod out there. JoinDiaspora started as a demo-instance, created by the original project team, and it continued its life as the most widely known pod, and one of the biggest.
diaspora* looked a lot different back then. Not only was the interface completely overhauled multiple times, the internals were as well. JoinDiaspora and its data went through lots of different database concepts, database engines, code architectures, schema changes … and all of that has taken a toll.
Some of the architectural changes from the past has left parts of JoinDiaspora’s internal data structures in an inconsistent state. The project team is aware of lots of small and weird bugs and inconsistencies that are specific to JoinDiaspora only, and it’s hard, if not impossible, to address them all. The older JoinDiaspora gets, the harder it becomes to maintain. There is already a set of JoinDiaspora-specific workarounds in place that allow it to work at all, and those will only grow larger over time.
As a project team, we have a lot of experience with debugging the “weird edge cases” of diaspora*, and we’ve also helped a number of old pods to fix their internal data.
After careful evaluation and lots of internal discussion, we concluded that “fixing” and continuing to run JoinDiaspora is not feasable [sic]. All good things must come to an end eventually, and JoinDiaspora has unfortunately reached that point.
I am currently not able to export my data. What will happen to my profile?
Some of you are currently unable to export your profile data. You might either see an error message, or it might look like nothing is happening at all. We are aware of this.
After the infrastructure migration is completed, we will start investigating the issues with account exports. Everyone who wants a data export will get one.
If you’re currently facing issues, please do not keep retrying the export over and over again. Please don’t use automated tools like scrapers to manually acquire a copy of your data. Doing so will only cause exessive server load, which only makes our work even harder.
As we don’t know what’s actually causing the export issues and how we can best fix them, this work will take some time. For each export, we have to observe its progress and intervene manually if errors arise. We don’t know how long it will take, but everyone will get their account data exported.
How long will I have to export my data?
Our current intention is to keep JoinDiaspora running at least until the profile migration feature has been released to a stable version of diaspora* and a significant number of pods have updated to it. This will give everyone who has an account on JoinDiaspora the chance to migrate their old account to an account on a new pod.
We are unable to offer a timeline or an estimate, but we will update everyone when an update is warranted. I do not consent to the diaspora* Project Team handling my profile data.
If you do not consent to the project team handling your profile data as part of this migration, please head to your account settings and click the “close account” button. This will irrevocably delete your personal data.
Where will you post future updates?
We have created this diaspora* account, joindiaspora-sunset@pod.diaspora.software, specifically for this purpose. Any updates we have will be shared as posts via this account.
You can read posts from this account even if you do not have a diaspora* account yourself by accessing this account’s public profile using this link.
I have a question or concern that’s not answered here.
If you start sharing with this account, it will automatically share back with you. This allows you to send private messages to this account, which we will answer as soon as possible.
Alternatively, you can write an email to joindiaspora-sunset@diasporafoundation.org. Please be patient while we work on resolving this situation. We’ll do our best to help you all move smoothly to a new home of your choice, as soon as we can.