 So welcome again for people who were not here a few hours ago when I did my first talk, thanks for coming. At this time I'm going to speak about the Fediverse and Mastodon. Probably before, but not a picture of me. I didn't change jobs since one hour ago. I'm still a system administrator. Freda is working in the open source program office. I must be helping community projects and my co-worker or committee manager. And before discussing about Fediverse and Mastodon, I will do a quick recap of the history so far. So 1971, Elon Musk was born. 2022, he decided to buy Twitter and everybody live for Mastodon. I said it was very short. This is a lightning talk, so that's the lightning part. So yeah, what is Mastodon? Everybody will say it's a kind of elephant. It's technically right, but it's not what we are discussing about today. It's a social network web application. That's a free software. Obviously, we are at a free software conference where we speak about free software. It started in 2016. Like a lot of free software projects, it's not named after an animal. For example, Python is not named based on the snack. It's based on Monty Python. So Mastodon is not named based on the elephant, but some US metal band. So go for it. And yeah, a social network using web application. Every intranet has it. The intranet that we use at Fedat has some kind of social network. Nobody used it. Anyone before had it. Nobody used it. Every product on the market has it. So why is it so special? Well, because it's federated using a protocol called ActivityPub. The name is not important. I just mentioned that so you know that it exists. Yeah, but what is the federation? So for people living in Europe, well, Europe is a federation. That's basically people being here and discussing. The US is a federation. The federation is the federation. And in the case of software, what we have is a setup where every node discusses. So there is no specific central server. In the case of Twitter, well, if someone with which decide to smoke too much and buy the company and trash it, well, you can do nothing because it's centralized and he has money and that's it. In the case of Mastodon, worst case, you can buy a server, trash it and turn out that there is a ton of others. So that's not enough. So how do you work when you have no central server to decide who is who and who discuss? Well, it will rely on well-known technology, DNS, you know. Some things that always work but you cannot live without it. And a system called Webfinger because DNS is not enough. So you need more. I again just mentioned it's not important to know. And right now, the whole network, which is the Fediverse, it's close to 13,000 nodes. That's a lot. So there is some node with one person, for example mine. There is basically me and maybe a bot account that I never used because it's a social network but it works also for people who are not very social. And there is bigger nodes. That's the amount of people this morning. That's a lot. I mean, it's like the size of one or more, maybe. It's definitely bigger than my city. And since it's federated, you can also have multiple software. So Mastodon is one but there is other. For example, Mobilison, which is made by French people I know which is used to do events. So like not do strike but it could work for that. Owncast, which is a server for doing webcast and streaming. Next cloud that I should not have to present but I will still present. You can use that because there is an activity pub component so you can chat and micro blog from your drive server. There is something called Funkroll which allows to exchange songs. I got that list this morning from Wikipedia. So just go to Wikipedia. There is more space on my side and it's more up to date. So one of the interesting parts about Federation is that it impacts a lot of the culture on the network and everything. So for example, you need to choose an instance because if you go on some place, you will discuss with some people. If you go on another place, you will discuss with others. Since everything is federated, you can discuss with each other but there is different rules. It's kind of like 20 years ago, you had to decide your email and not just go to Gmail or Hotmail, you had choice. That's basically the same. And the instance are either divided by language. If you speak French, maybe you want to speak with other French people instead of going on Japanese animation instance where you understand nothing. Or sometimes it's by topic. There is discussion related to free and open source software. Something for academics. There is different policy around the instance. Some people who are very strict, some people who are more like very free speech and we welcome Nadze because that's free speech, this kind of stuff. So yeah, you have to pick an instance. And it's okay, it's much easier than move around because you also have to pick a city but here you can just click and move to another place. It do not work like this for your nationality or this kind of thing. So just pick, you do not like, move somewhere else. And of course, since it's federated that means that nobody has power over the other or I mean no one has ultimate power which means that there is new type of drama which is fascinating in itself. For example, I gave the example of free speech instance who say yeah, we do not care about anything as long as it's legal and if it's legal in the US that's great. Well, it tends to clash with anarchist instance who for example do not like fascist. You know the whole part of anti-fascist, they are against fascist. So they tend to clash and usually what happens is people just blacklist each other and disconnect and for some reason it's something that people think is bad. But when you do the count with that much node that means that there is a million of potential link. So yeah, obviously some of them will be problematic and will be cut and I remember discussing about that and I'm like yeah, sure there is 20 people we can not discuss with 20 other people but for a million of folks it's nothing and yet sometimes it's seen as a big deal. So far nobody blocked me but I say nothing so it's easier. So yeah, my thought was mostly for community and official presence of project because we had the discussion in the federal community like people said oh yeah, we need to be present on Mastonant which okay, sure, why not? We are on other social network and it's the one where everybody is going and then the question is how do we do? So we can start by using an existing server. That's easy, you have nothing to do you just need to create an account. The problem is you need to find a sustainable server because if it's made by volunteers volunteers tend to have a life outside of their unpaid volunteering and they also sometimes tend to use crappy hardware forget to do backup, this kind of thing so you need to choose a tech vacation yeah, sometimes volunteer tech vacation nobody's here to restart the server. You need to decide for moderation and reputation again, it's not great if you have your federal account just next to an AD account so you need to verify that. You need to also match with the local community like for example federal would be great with something related to hacking something related to free software not so great about people discussing the French cuisine and its delicacy and interesting stuff and then there is the question how do we know that it's you because anybody can create an account anywhere so you do not just need to say it's me so there is then another solution which is using your own domain that's my preferred one because people know that if it's written federal project then it's federal then you have two choices the first one paid hosting so paid hosting is cheap it's 10€ per month the only problem is if you are working in a big free software company based in the US well you have to deal with procurement and it's easily 6 months of meeting so yeah, just to spend 10€ then there is the solution of self hosting and that's why I'm doing that presentation so for self hosting you can decide to go with Mastono which is the default software you want that everybody follow because everybody use and the problem is standard web application I've seen worse but it's not because you can torture me with something based on Java and Scala that you should have something complicated to force me to do that so it's like you need Postgres you need Rails I guess Freddy's and Sidekick and this kind of stuff so it's pretty doable but it's still consuming a lot of resource or you can use something small I use a software called Goto Social and it's great because it's a static go long binary the installation is curl start it can use the database but you can use SQLite so nothing to do with that no configuration everything is done with environment if you work at Fedat for a community just contact my team and we will be happy to have people to test your deployment because when there is meeting I do not listen and I do some work and experimental stuff so I have already everything deployed for that and that's just the part about deploying because when you are doing for your own account you do not share your account it's like your toothbrush you do not share them when you are in a community you can share the account you do not share the toothbrush just the account so we found that there is two issues the first one is how do you post because you can pass the password around and it's not secure and if you do that I would pretend that I didn't hear you doing that but there is several ways you can use a few services to schedule post on Twitter people use Tweetdeck which is Twitter only people who are using Hootsuite which is not working for Mastonaut I know that Buffer supports it there is a various tool one called Mastonaut scheduler another one called Feed2AP which takes RSS feed and post on Mastonaut and various bot or you can write your own I was supposed to do that for my co-worker but it turned out it's too complicated to authenticate using OOS so I was just waiting for a single password authentication and it's not yet developed so I did nothing and then there is the other issue which is receiving because you are going to post and say something and people will try to interact with you but if it's a bot well computer do not answer chatGPT is not really answering it's just pretending to be so you need to have a notification for that and again that's an open problem it should not be really too hard it's basically writing a client removing the part where you deal with actual user and UX so it's mostly getting events and then sending an email and for some reason nobody did it yet but if you want to find something for an intern I'm ready to give that intern some work to do related to that we have no budget in my team so we cannot do that and that's the end for my presentation so if you want to contact me again I'm not on social network except Mastonaut but it's my private one so it's not on the slide so you can contact me at miscathreaded.com or own IRC or internal stuff or whatever that's it and well that's the end that's why you are supposed to upload