Perl fediverse network

ED: This is also posted on reddit, https://www.reddit.com/r/perl/comments/zp8d5g/perl_fediverseactivitypub_social_network/ so please check there also

A while back I bought the https://perl.social/ domain without much immediate use for it. I originally had it redirecting to the perl twitter community. However with the recent twitter drama going around I started setting up an activitypub based network to take the place of the twitter community in the advent that there was an exodus of Perl programmers from twitter. That seems to have been happening so I finally kicked into gear to get it ready for use.

https://perl.social/ should show you the public face of the community, (if it doesn't let me know). In the upper right you'll find the login button, and can register a new user. Once registered, like all fediverse things you'll be able to be followed by people as such @username@perl.social and can follow other users on other servers by putting them in the search box at the top and then following them.

I've set it up using Friendica as the backend of the social network, as it offered some features that I felt were important.

  1. Moderate resource usage, mastodon tends to be rather heavy to run.
  2. Child/group managed accounts, so say the Perl Steering Committee can have an account that is managed by the people in it rather than there being a fully separate account with it's own password
  3. SAML support, hear me out on this down below
  4. Some other addons that look like they'll be interesting going forward like the twitter plugin to let users post to perl.social and mirror the posts to their old twitter accounts.
  5. Mastodon API support, this should let mastodon clients and some other fediverse clients work with the site too, enabling more things to be done. We should really develop a Perl client for all this too.

On the SAML front, this ended up being a desire when setting up the site because none of the current fediverse systems really seem to provide first class support for MFA and a lot of user management tools that I believed I would need once things were up and running. I setup Keycloak to be the identity provider for this all since it'll handle all the passwords reasonably securely, can allow for things like github login or other OIDC providers, etc. This should make running the site a lot less burdensome going forward since users should be able to add WebAuthn, FIDO, TOTP and a few other things to keep their account secure.

It should also let me create a small slightly privileged group that can help do account recovery and other tasks without giving them easy access to reading people's DMs or other private things.

Things left to do:

Create a proper Terms of Service and Code of Conduct. Long term these will be fairly critical to keeping the site safe to use and helping enforce any community rules that get made. I'm looking for any kind of advice on how this should be done as it shouldn't just be me making these kinds of decisions. Right now you can assume that at least the following vague rules exist: "Don't be a jerk in a way that gets me yelled at, Don't do anything illegal, Be excellent to each other" until anything more formal is created. Once it is, we'll be able to make it show up on everyone's next login so that they can read it and agree or read it and come complain to me.

I've reserved a number of names that have both been requested and ones that I believe would be contentious to have someone registered (perl, psc, p5p, etc.) and if those groups or people are ready to take them over then just message me and we'll get it worked out.

When registering, the email is almost certainly going to go to your spam folder right now. The fact that we're on a non-standard TLD, and the email is being sent by a VPS, means that the server reputation just doesn't exist and isn't trusted yet. It should eventually get better once more people mark it all as not spam but I'll also eventually also look into getting it sent by a real provider that won't have those issues, but I'm not going to pay for that until it actually makes sense to do so.

Please check it all out and let me know about any issues you run into, or let me know if you want to help. I've started getting the infrastructure setup so that I can start letting people help but it wasn't the first priority to getting it all setup.

1 Comment

Leave a comment

About Ryan Voots

user-pic I blog about Perl. And never fill out bios.