Return to ActivityPub Conference 2019

Advice to new Fediverse administrators and developers

This talk by Luc Didry can be found at https://archive.org/details/apconf-talks/Talk1_Luc_compressed.mov, and you can get his slides at https://frama.link/ap-conf-2019. Luc works for Framasoft, a French non-profit organization that bills itself as a “digital emancipation network” and hosts a Mastodon instance and is the developer of two Fediverse projects, PeerTube and Mobilizon. Its purpose is the promotion, dissemination, and development of free software. They host more than 30 freely available Web services.

PeerTube is a free culture Federated alternative to YouTube, and Mobilizon is an alternative to Facebook events which should come out in 2020. Since the work they do is good, and it is a non-profit, I made a small donation to them while writing this. If you are inspired to do the same, you can contribute at https://soutenir.framasoft.org/en/. They are completely financed by donations, mainly from individuals.

To start, hosting an ActivityPub service is not like hosting another service, nor is developing an ActivityPub service like developing any other service. Being Federated does make a difference.

His advice for administrators

  • If you have an open instance: Moderate! In fact, he would advise that even for a closed instance. Create a moderation team. You don’t need a lot of technical background to do this, so you can get help from non-techie folks. But it is very important to have more than one moderator. People take vacations, and you don’t want to have burnout. Having a team of moderators makes this much more practical. And with a team you can consul;t on questionable cases to get a consensus.
  • Create a code of conduct. We talked about this when we looked at Mastodon previously, and noted that different instances might have very different opinions about this, as indeed they might about moderation. But if you are going to moderate, having a document you can point to that describes prohibited behavior is very important. And it makes the job of the moderators easier since they have a standard to apply.
  • Luc notes that in a Federated environment this can be more difficult since different instances will have a trust relationship, and they may not agree on what is prohibited behavior. And because ActivityPub is an open protocol, you may have people using very different software to participate in any given thread, and different software may have different limitations. As we know, judging actual intent and emotional content in a text environment is difficult enough, and having different platforms with different capabilities adds to this. For example, are there emojis available? Are they the same? Do we know what they signify in some other environment?
  • Know your limits! Don’t open registration if you cannot maintain the service for a long time, or at least put a big warning on the registration page. And make your level of service explicit. If you are the only one maintaining the server, you cannot promise 24×7 service.
  • Do your job seriously! Make backups, test your backups, stay on top of your certificates, and renew them on time.

Advice for developers

This is a little less detailed, but as he pointed out at the beginning of his talk, he is a sysadmin, and not himself a developer.

  • Look at moderation tools implemented for other federated software, and figure out what works well. Moderation is a lot easier if you plan for it when building the software. But also ask your community what they want to see implemented.
  • Keep your personal life and your professional life separate. Set up an e-mail address through the project, and don’t use your personal e-mail for project work. ActivityPub is a protocol for social media, and that breeds conflicts.
  • Design your default settings with care. Most people never change the defaults.
  • Build in a good way to make announcements to all users. This could be as simple as a banner when the software is used.

Listen to the audio version of this post onĀ Hacker Public Radio!