Edit: Thanks everyone! We now have 4 people (including me) in the dev team.
As such, we are not looking for more people. Unless you happen to be very very qualified in the fields we’ll be dealing with. (E.g., You work in digital identity management, you’re a specialist in web security, or something else incredible.)
Please note: I am featuring this article on satania.moe. As such, this post targets people who aren’t from the server at all. Which is why I talk about subjects you may already be aware of if you are a member of the community.
Satania Dropout is looking for volunteer programmers to expand our community. And you may not know what Satania Dropout is, nor what we’re planning to do, and that’s alright! I am so glad that my announcement piqued your interest. I am going to explain everything you need to know like who we are or what we’re trying to make.
About Satania Dropout
Satania Dropout is an English online community of about 6,400 members. It started in June 2017 with the release of satania.moe. It consists of a Discord chat server on which members can discuss and share media. We have been running Satania Dropout for over two years now, and we got very good at it. 😎 Now, we want to go beyond Discord. We want to establish our presence on other platforms.
We aim to moderate the community in the fairest way possible. Giving our members a lot of liberty to talk about whatever they want, while also stopping the abuse of this right and establishing a minimum quality standard. We developed this balance between freedom and reasonable moderation throughout two years of management. It is the reason why many of our members enjoy our server!
Discord is an American chat platform. Nerds and gamers use it a lot. It is quite similar to Slack but oriented towards individuals instead of businesses. We chose Discord because it was the most modern and convenient chat app at the time. As such, we will carry the coordination for this project on Discord.
You don’t need a phone number to make a Discord account, unlike for most other chat applications. However, mainland Chinese users cannot access Discord. (Nor any other foreign messaging app.)
Through analytics, I know most programmers who visit satania.moe are Chinese. So I hope this isn’t inconvenient and you can bypass it. 😢
If not, contact me by email instead. If I think you’re suited for the task, I’m willing to buy you a VPN that works in China. And pay for it for as long as you work with us. 💖
About our goals
To understand this project, you need to know one thing:
We don’t like Discord. Discord is closed-source proprietary and isn’t a really good company. They don’t seem to work very hard on their application nowadays, and they fail at protecting us against spamming and raiding. They also like to ban people for no reasons. We would want to move away from Discord. However, this would be very difficult.
While we don’t like Discord, we rely on it heavily. We rely on the fact that it has a lot of users, that it gives us everything for free, that everything on it is ready-made for us.
This dependency needs to stop. We want to do things by ourselves instead of relying on big social networks. We want to host our applications by ourselves. We want to have full control over our community. We want an autonomous Satania Dropout.
And this is entirely possible. In another blog post, I argued that in the future, we are going to see a lot more independently-owned social platforms appear. Because open-source is getting better, servers are getting cheaper, and people are generally getting sick of huge companies.
I want Satania Dropout to be an early player in this wave of indie social platforms. But as I said, we rely too much on Discord to ditch it yet. So I want to establish our presence on a new platform that we’ll maintain at the same time as the Discord server. Also, I want to start setting up the basics for when we need to expand even more.
And the platform I want to expand to is Mastodon.
Mastodon is a microblogging platform similar to Twitter. Except it doesn’t have a terrible desktop interface. Also, it is fully open-source and meant to be self-hosted.
Contrarily to Twitter, Mastodon focuses on creating communities. For instance, Mastodon has a tab where you can see every post from people in your server. This way, if you send a message, people will read it. Even if you have no followers, you’re never talking in the void.
It’s way more fun like that! You get to meet new people from your server, and you can see everything that’s happening. It’s just something you wouldn’t get on a “global” social network.
But the real genius part of Mastodon is federation. Mastodon servers can connect to other servers. Users can repost, follow and interact with people from other servers seamlessly! So all the Mastodon servers form an immense network called the Fediverse.
Since this post targets devs, I can go into technical detail: Mastodon servers use a standardised protocol called ActivityPub to interact. This protocol is from the W3C. That’s the same organisation which standardises HTML and CSS, so it’s serious business.
Technically, any social platform where users publicly post things to their account and reply to others could work with ActivityPub. So there have been projects to make other social network clones that work with the Fediverse. Like PixelFed for Instagram, or PeerTube for YouTube. Isn’t that crazy? Someone from Mastodon can seamlessly follow and interact with someone on PeerTube, and vice-versa!
We’ll probably have to fork Mastodon. Firstly, to integrate with some features which I’m going to explain. Secondly, because most servers fork Mastodon anyway to provide tweaks and exclusive features (and raise the default character limit).
Mastodon is in Ruby, which is a simple language to learn. It should be quite easy to work on it, even with no prior experience.
The exact scope of the changes will depend on whether I can find enough people to work on the project. And how hard working with Mastodon’s code is.
About the projects
1. Static pages
A community cannot work without members. And this can be the biggest challenge to any new server: spreading the word. Initially, Satania Dropout managed to do that with satania.moe. However, as I said, we were heavily supported by the fact that we used Discord.
If we want to be autonomous, we’re going to need to step up our advertisement game. We must make up for the fact that we don’t have a presence on mainstream social platforms.
So there are two static websites I want to make. The first is the spiritual successor to satania.moe. A new meme website related to Satania, with similar humour but a different theme. I already know what I want to make. This website would advertise for our new community.
The second is a Satania Dropout landing page. That would introduce people to our community, show them how we’re different and better, and explain how everything works. We need a way to convince those who are unfamiliar with Mastodon, our community, and all.
The advantage is that I studied graphic design, which is convenient. I feel like finding graphic designers is way harder than programmers.
2. A Weblate translation hub
I take translation seriously. Satania.moe supports about 20 languages. Because it’s easy to find people who speak foreign languages when your community is worldwide.
So far, the translation process has been very DIY. As we’ll have more and more text to translate, we’ll need a translation hub. Luckily, there is a perfect solution for this. Weblate is an open-source localisation platform that we can self-host for free.
Given that Weblate is incredibly easy to customise, we shouldn’t need to fork it. So while this is among the planned projects, it shouldn’t require any programming.
3. A universal login system
The last thing on the list for the expansion is an authentication system called Satania Connect. It would manage authentication on every service (except Discord), allowing members to use a single account on all of Satania Dropout.
Authentication systems are hard to build. But this is critically important. At first, it would only manage accounts for Mastodon and Weblate. But as we grow, it will save members a lot of effort and harmonise everything.
- Satania Connect would synchronise fundamental pieces of information across services. Such as the user’s profile picture and nickname.
- It would give us more control and enable us to fight spamming and raiding more easily. As well as protect our member’s accounts better.
- It would allow us to leverage Discord’s API to implement interoperability features.
Satania Connect would use OpenID Connect to manage authentication request. (Hence why it’s “Satania Connect”, the name was inspired by “France Connect”, the French government’s version of this idea.) OpenID Connect is a well-established protocol for this. It powers all those “Login with Google” buttons.
A lot of self-hosted apps already support OpenID Connect. Such as Weblate, GitLab, Sentry.io, or Rocket.chat. So there are a lot of applications that we can deploy and easily integrate with Satania Connect. Mastodon is one major exception. We will need to implement OpenID Connect support in our fork.
Creating an OpenID Connect server would be a significant struggle. It has highly complex specifications that are easy to misimplement. But as always, open-source saves the day.
There is a server called Hydra that provides compliant certified OpenID Connect and OAuth 2.0. Hydra is an exceptional project. Commonly, certifying an implementation of OpenID Connect costs $1,000. We get that for free as Hydra is certified. Hydra does so much of the hard work for us and should be tremendously helpful.
In a nutshell, this is the biggest project. It’s an investment of effort that will considerably pay off afterwards.
I want to assemble a team of 2-4 volunteers (including me) to work on:
- The deployment of the Mastodon and Weblate servers (easy)
- The two static pages, the satania.moe successor and the Satania Dropout landing page (medium)
- The universal login system (medium-hard)
Given that we’re in the middle of August, I would want to do that for the end of Autumn or Winter. But I don’t like setting deadlines because they cause rush, and the programming speed is very challenging to predict for now.
I can understand that as this is a volunteer project, no one can guarantee any commitment. As long as you think you’ll be able to invest time, that’s all that matters. If this ends up not being the case, it will be understandable.
Also, I don’t expect any long-term involvement. You won’t have to maintain any project after the end. But if you want to, you are welcome to do so! I am hoping I’ll find at least some people willing to stick with us on future projects. But I know this won’t be everyone’s case.
As as I previously said, if you need a VPN to access Discord or GitHub, I am willing to pay for it for as long as you work with us. It would be a shame if we weren’t able to cooperate just because of blocks. I don’t want to waste opportunities like that.
And although Satania Dropout is an English community, don’t worry. Most of us aren’t native speakers either, including me. I need to get people to proof-read my blog posts, or else I make a ton of mistakes. xD
If you’re interested, please DM me at Pizzacus#2884 or the email on my GitHub profile. I hope this post convinced you and gave you the information you needed! 💕
I usually work on solo projects, so I am not used to recruiting people… Last time I looked for a developer, I struggled a lot. But this time, you can say I’m “trying harder” since I’m putting a banner on satania.moe and all. There’s also the fact that this is for a way more concrete and established project, whereas the previous time was for an event. So I couldn’t say anything because it was meant to be a surprise.
So yeah, if you think you even might be interested, don’t hesitate. Just message me, don’t worry if you feel uncertain. I’ll answer all your questions.
Thanks in advance!