When this was initially proposed some years ago, I was very clearly opposed because I did not see much use in such a feature. Having, however, now used Mastodon as my main social platform for almost a year, I would propose to reconsider the previous decision.
Codidact has always been about community. We even have it written in large letters on our organization page (codidact.org): "Community First".
It has always been our consideration that this principle implies that communities should be independent from a (corporate) entity. In fact this is the entire reason the Codidact project exists. Consequently both our community-built contents as well as our community-built software are provided under licenses allowing reuse, so that communities would be free to migrate to somewhere else if they didn't like our administration.
Federating Codidact might be a step into the right direction, giving communities further tools to be independent of any entity, including possibly The Codidact Foundation.
This is, however, not a decision that we should take lightly. There are some technical problems and some fundamental questions which we need to resolve before a decision might be made:
I have no doubt that implementing the ActivityPub protocol into our software, QPixel, is technically possible. Mastodon, for example, one of the most well-known fediverse applications is also written in Ruby on Rails. There would need to be some consideration how we map Codidact content to the data classes provided by the protocol, but I also think that this can be done.
In my opinion the technical problems are not with theoretical possibilities, but with a lack people who are competent and have time to implement the specific APIs and tools. Such a project does require, among others:
- knowledge about the Codidact data structure and code base,
- knowledge about the ActivityPub protocol,
- the time to combine the knowledge about these two things in a reasonable way
I am not saying that this is impossible, but - and I may be wrong - I don't think this would be in any way easy.
There are also some fundamental questions which need to be raised and resolved before such a project should be undertaken. These are mostly concerns about how the specific properties of a Q&A system can be mapped to the data model of the ActivityPub protocol (and I may be wrong about any of these, this is just my list of concerns that I consider fundamental):
How can anonymous voting work without being prone to vote abuse? On Mastodon there are "likes", but they are not anonymous. I presume anonymity to be a problem, because you'd have to trust the other server to properly provide the votes, which allows setting up fraudulent servers for vote abuse.
How should abilities/privileges/reputation/... work for a distributed system. Such features would have to consider information from - possibly - a large amout of other instances making the recalc inefficient.
Combined with Q2: how should cross-network moderation work? While, of course, people with moderation abilities might be able to make moderation actions such as editing, closing, deleting on their instance, but ideally some actions take effect on other sites (I think, for example that editing should work cross-instance, since otherwise we might end up with version hell)
Combining Q1 and Q3: how should we, however, ensure that only trustworthy instances share moderation activities, since otherwise trolls could get elevated privileges by using a manipulated instance.
I do think federation might be a viable goal -- in the long term.
However I am unsure whether "full" federation with random sites will ever be something desirable for the reasons mentioned above. Maybe, and I don't know whether ActivityPub supports for that, a limited federation only with selected and trusted sites might be a better approach for a Q&A site that wants to maintain moderation and post quality.
What do y'all think?
(This is all just my personal opinion on this topic and no "official" communication. Also I'm kinda back. "Hello kinda back")