1 00:00:00,000 --> 00:00:03,760 You know, before we even get into the actual sources today, 2 00:00:03,760 --> 00:00:05,880 we really need to acknowledge the supporter 3 00:00:05,880 --> 00:00:07,480 making this deep dive possible. 4 00:00:07,480 --> 00:00:08,940 Oh, definitely, safe server. 5 00:00:08,940 --> 00:00:10,200 Right, safe server. 6 00:00:10,200 --> 00:00:12,800 Because, well, today we're talking about escaping 7 00:00:12,800 --> 00:00:16,200 these massive corporate data silos. 8 00:00:16,200 --> 00:00:18,000 Like, think about Goodreads, right? 9 00:00:18,000 --> 00:00:19,440 Yeah, which is owned by Amazon. 10 00:00:19,440 --> 00:00:22,440 Exactly, or, you know, posting book reviews on Twitter. 11 00:00:22,440 --> 00:00:24,960 These are totally closed off ecosystems 12 00:00:24,960 --> 00:00:27,280 that basically just monetize your reading habits. 13 00:00:27,280 --> 00:00:29,520 They're machines, yeah, just feeding user data 14 00:00:29,520 --> 00:00:30,600 into an algorithm. 15 00:00:30,600 --> 00:00:32,920 And that is exactly where safe server comes in. 16 00:00:32,920 --> 00:00:36,240 They help organizations find and implement 17 00:00:36,240 --> 00:00:39,840 open source solutions to replace those exact kinds 18 00:00:39,840 --> 00:00:42,040 of proprietary monolithic services. 19 00:00:42,040 --> 00:00:43,600 Which is huge for data sovereignty. 20 00:00:43,600 --> 00:00:44,400 It really is. 21 00:00:44,400 --> 00:00:46,360 Like, if you're a business or an association 22 00:00:46,360 --> 00:00:48,440 and you have strict compliance or data protection 23 00:00:48,440 --> 00:00:51,480 requirements, you can't just hand your data over to big tech. 24 00:00:51,480 --> 00:00:53,880 Safe server handles the consulting, the setup, 25 00:00:53,880 --> 00:00:55,840 and they run it all on secure German servers. 26 00:00:55,840 --> 00:00:57,400 So you actually own your infrastructure. 27 00:00:57,400 --> 00:01:00,840 You can check them out at www.safeserver.de. 28 00:01:00,840 --> 00:01:04,360 And that idea, owning your own space, 29 00:01:04,360 --> 00:01:06,480 that really brings us to the core of what 30 00:01:06,480 --> 00:01:07,640 we're looking at today. 31 00:01:07,640 --> 00:01:08,800 It really does. 32 00:01:08,800 --> 00:01:11,020 So for today's Deep Dive, our mission 33 00:01:11,020 --> 00:01:14,680 is to give you, the listener, a beginner-friendly entry 34 00:01:14,680 --> 00:01:18,800 point into this really revolutionary piece of software 35 00:01:18,800 --> 00:01:19,840 called Bookworm. 36 00:01:19,840 --> 00:01:21,040 Yeah, Bookworm. 37 00:01:21,040 --> 00:01:22,480 With a Y, by the way. 38 00:01:22,480 --> 00:01:23,360 W-Y-R-M. 39 00:01:23,360 --> 00:01:23,880 Right. 40 00:01:23,880 --> 00:01:25,880 And we've got the official Bookworm website 41 00:01:25,880 --> 00:01:30,000 and their comprehensive GitHub repository documentation 42 00:01:30,000 --> 00:01:31,640 right here on the table. 43 00:01:31,640 --> 00:01:34,640 So if you're tired of algorithms dictating your reading list 44 00:01:34,640 --> 00:01:36,520 and you want to track your books without feeding 45 00:01:36,520 --> 00:01:38,760 a corporate machine, this is for you. 46 00:01:38,760 --> 00:01:40,040 OK, let's unpack this. 47 00:01:40,040 --> 00:01:40,560 Let's do it. 48 00:01:40,560 --> 00:01:42,240 To start, I just want to ground this 49 00:01:42,240 --> 00:01:43,840 in the actual user experience. 50 00:01:43,840 --> 00:01:45,720 Like, what does Bookworm actually 51 00:01:45,720 --> 00:01:46,920 feel like for a beginner? 52 00:01:46,920 --> 00:01:48,840 Well, on the surface, it feels very familiar. 53 00:01:48,840 --> 00:01:51,040 It's a social network for tracking your reading. 54 00:01:51,040 --> 00:01:51,520 Right. 55 00:01:51,520 --> 00:01:54,160 You update your status, log when you finish a book, 56 00:01:54,160 --> 00:01:55,760 set annual goals, that kind of thing. 57 00:01:55,760 --> 00:01:56,260 Exactly. 58 00:01:56,260 --> 00:01:57,440 You write reviews. 59 00:01:57,440 --> 00:01:59,200 But the vibe is entirely different. 60 00:01:59,200 --> 00:02:01,660 Yeah, reading the docs, the best analogy I could think of 61 00:02:01,660 --> 00:02:03,400 is, well, imagine walking into one 62 00:02:03,400 --> 00:02:07,360 of those giant fluorescent-lit mega bookstores, 63 00:02:07,360 --> 00:02:11,080 where the first thing you see is this massive cardboard display 64 00:02:11,080 --> 00:02:13,400 for some celebrity memoir, right? 65 00:02:13,400 --> 00:02:15,440 Bought and paid for by a huge publisher. 66 00:02:15,440 --> 00:02:17,100 The whole space is a sales funnel. 67 00:02:17,100 --> 00:02:17,600 Totally. 68 00:02:17,600 --> 00:02:20,280 You are just a data point to them. 69 00:02:20,280 --> 00:02:24,920 But Bookworm feels like leaving that fluorescent mega mall 70 00:02:24,920 --> 00:02:28,960 and stepping into a cozy, dusty, local bookstore. 71 00:02:28,960 --> 00:02:29,960 I love that. 72 00:02:29,960 --> 00:02:33,600 Where under certain books, there are actual handwritten index 73 00:02:33,600 --> 00:02:35,640 cards from the staff. 74 00:02:35,640 --> 00:02:38,040 If this made you cry, try this one. 75 00:02:38,040 --> 00:02:39,600 Real human connections. 76 00:02:39,600 --> 00:02:41,760 And what's fascinating here is that the developers 77 00:02:41,760 --> 00:02:44,600 are super explicit about that philosophical shift 78 00:02:44,600 --> 00:02:45,880 in their documentation. 79 00:02:45,880 --> 00:02:46,380 Oh, really? 80 00:02:46,380 --> 00:02:46,880 How so? 81 00:02:46,880 --> 00:02:49,320 They explicitly state that Bookworm 82 00:02:49,320 --> 00:02:52,160 isn't primarily meant to just be a sterile catalog 83 00:02:52,160 --> 00:02:53,520 or a universal data source. 84 00:02:53,520 --> 00:02:55,240 Right, it's not the Library of Congress. 85 00:02:55,240 --> 00:02:55,720 Exactly. 86 00:02:55,720 --> 00:02:58,280 I mean, it does function as a database, obviously. 87 00:02:58,280 --> 00:03:01,080 But it's built specifically for high trust communities. 88 00:03:01,080 --> 00:03:03,640 They prioritize recommendations from actual people, 89 00:03:03,640 --> 00:03:04,760 not algorithms. 90 00:03:04,760 --> 00:03:05,800 Which is such a relief. 91 00:03:05,800 --> 00:03:08,200 There's no machine learning model in the background 92 00:03:08,200 --> 00:03:11,120 trying to maximize your screen time by feeding 93 00:03:11,120 --> 00:03:12,640 you controversial reviews. 94 00:03:12,640 --> 00:03:14,320 No, your feed is chronological. 95 00:03:14,320 --> 00:03:16,080 It's just the friends and communities 96 00:03:16,080 --> 00:03:17,800 you actively choose to follow. 97 00:03:17,800 --> 00:03:19,400 And there was this phrase in the docs 98 00:03:19,400 --> 00:03:21,040 that really stuck out to me. 99 00:03:21,040 --> 00:03:24,720 They encourage casual commentary as you go. 100 00:03:24,720 --> 00:03:26,160 Yes. 101 00:03:26,160 --> 00:03:30,520 Because on massive platforms, writing a review 102 00:03:30,520 --> 00:03:33,240 feels like you're shouting into a stadium. 103 00:03:33,240 --> 00:03:36,000 You feel like you have to write a Pulitzer winning essay. 104 00:03:36,000 --> 00:03:36,960 Exactly. 105 00:03:36,960 --> 00:03:39,760 But here, it's just like leaning over to a friend on the couch 106 00:03:39,760 --> 00:03:43,360 and saying, I'm on chapter four and this main character 107 00:03:43,360 --> 00:03:44,800 is driving me insane. 108 00:03:44,800 --> 00:03:48,040 And you can only really have that casual tone because 109 00:03:48,040 --> 00:03:49,840 of how they handle privacy. 110 00:03:49,840 --> 00:03:51,440 Right, the granular privacy settings. 111 00:03:51,440 --> 00:03:54,360 Yeah, you're not forced to broadcast everything 112 00:03:54,360 --> 00:03:55,560 to the entire internet. 113 00:03:55,560 --> 00:03:57,160 You can restrict a reading update 114 00:03:57,160 --> 00:04:00,240 to just your approved followers or even keep it completely 115 00:04:00,240 --> 00:04:01,480 private just for yourself. 116 00:04:01,480 --> 00:04:03,040 Which makes sense. 117 00:04:03,040 --> 00:04:05,760 Maybe you're reading a dense technical manual for work 118 00:04:05,760 --> 00:04:08,160 and you want to share notes with colleagues. 119 00:04:08,160 --> 00:04:11,160 But then on the weekend, you're reading some trashy romance 120 00:04:11,160 --> 00:04:13,160 novel and you only want your close friends 121 00:04:13,160 --> 00:04:14,360 to see your commentary. 122 00:04:14,360 --> 00:04:16,000 You control the dial. 123 00:04:16,000 --> 00:04:17,960 But OK, let me push back a little here. 124 00:04:17,960 --> 00:04:18,520 Go for it. 125 00:04:18,520 --> 00:04:20,600 Because if the whole point is to create 126 00:04:20,600 --> 00:04:24,880 these small cozy independent spaces, 127 00:04:24,880 --> 00:04:27,120 how do you not just end up totally isolated? 128 00:04:27,120 --> 00:04:28,720 The disconnected island problem. 129 00:04:28,720 --> 00:04:29,240 Yeah. 130 00:04:29,240 --> 00:04:32,960 Like if I lock myself in a tiny private neighborhood bookshop, 131 00:04:32,960 --> 00:04:35,800 I can't talk to anyone who doesn't live on my street. 132 00:04:35,800 --> 00:04:39,440 How does the broader community actually benefit from that? 133 00:04:39,440 --> 00:04:41,100 If we connect this to the bigger picture, 134 00:04:41,100 --> 00:04:44,280 this is actually where the magic of federation comes in. 135 00:04:44,280 --> 00:04:47,880 Bookworm relies on a protocol called Activity Pub. 136 00:04:47,880 --> 00:04:48,800 Activity Pub. 137 00:04:48,800 --> 00:04:49,280 Right. 138 00:04:49,280 --> 00:04:53,160 So Bookworm isn't one giant server sitting in an Amazon 139 00:04:53,160 --> 00:04:53,840 data center. 140 00:04:53,840 --> 00:04:56,840 It's software that anyone can install on their own server. 141 00:04:56,840 --> 00:04:58,120 That's called an instance. 142 00:04:58,120 --> 00:04:58,640 Got it. 143 00:04:58,640 --> 00:05:01,440 But because all these separate instances use Activity Pub, 144 00:05:01,440 --> 00:05:03,940 they speak the same language, they can talk to each other. 145 00:05:03,940 --> 00:05:05,720 So my private book club instance can still 146 00:05:05,720 --> 00:05:06,720 talk to the rest of the world. 147 00:05:06,720 --> 00:05:07,320 Exactly. 148 00:05:07,320 --> 00:05:09,680 The source material actually gives a really funny example. 149 00:05:09,680 --> 00:05:11,800 You can run a closed instance just 150 00:05:11,800 --> 00:05:13,240 for your real world book club. 151 00:05:13,240 --> 00:05:13,740 OK. 152 00:05:13,740 --> 00:05:15,240 But you can still follow your friend 153 00:05:15,240 --> 00:05:19,040 posts on some highly niche server devoted entirely 154 00:05:19,040 --> 00:05:22,640 to like 20th century Russian speculative fiction. 155 00:05:22,640 --> 00:05:24,280 That is incredibly specific. 156 00:05:24,280 --> 00:05:24,760 Right. 157 00:05:24,760 --> 00:05:26,160 But you can interact singlessly. 158 00:05:26,160 --> 00:05:27,660 And because it's an open standard, 159 00:05:27,660 --> 00:05:30,000 it actually goes beyond just Bookworm. 160 00:05:30,000 --> 00:05:31,040 Wait, what do you mean? 161 00:05:31,040 --> 00:05:34,620 So Mastodon and Pluroma, which are micro blogging platforms, 162 00:05:34,620 --> 00:05:36,540 kind of like Twitter Alternative, 163 00:05:36,540 --> 00:05:38,680 they also use Activity Pub. 164 00:05:38,680 --> 00:05:39,280 Oh, wow. 165 00:05:39,280 --> 00:05:41,160 So a friend on Mastodon can actually 166 00:05:41,160 --> 00:05:44,160 read and comment directly on your Bookworm review, 167 00:05:44,160 --> 00:05:45,980 right from their Mastodon feed. 168 00:05:45,980 --> 00:05:46,600 That's crazy. 169 00:05:46,600 --> 00:05:49,520 So you're not locked into one specific app to talk to people. 170 00:05:49,520 --> 00:05:50,240 Exactly. 171 00:05:50,240 --> 00:05:52,560 It's the run your own social philosophy. 172 00:05:52,560 --> 00:05:54,920 You control your small, high trust network, 173 00:05:54,920 --> 00:05:57,600 but you're not cut off from the global conversation. 174 00:05:57,600 --> 00:06:00,560 But wait, how does that work for finding books? 175 00:06:00,560 --> 00:06:03,040 Like, if everyone is on these tiny scattered servers, 176 00:06:03,040 --> 00:06:05,160 isn't the database just fragmented? 177 00:06:05,160 --> 00:06:06,240 You would think so, right? 178 00:06:06,240 --> 00:06:08,720 Yeah, like if I search for a new Stephen King book, 179 00:06:08,720 --> 00:06:11,360 but the data for it is on some other server, 180 00:06:11,360 --> 00:06:13,160 do I just get zero results? 181 00:06:13,160 --> 00:06:14,240 So this is brilliant. 182 00:06:14,240 --> 00:06:16,640 Federation actually solves the island problem 183 00:06:16,640 --> 00:06:18,120 for the database, too. 184 00:06:18,120 --> 00:06:21,640 When these instances interact, when users share messages 185 00:06:21,640 --> 00:06:25,180 or reviews, the servers share metadata in the background. 186 00:06:25,180 --> 00:06:27,320 Oh, so they're basically gossiping with each other. 187 00:06:27,320 --> 00:06:27,960 Exactly. 188 00:06:27,960 --> 00:06:30,000 Hey, my user just reviewed this book. 189 00:06:30,000 --> 00:06:32,640 Here's the title, author, and cover art. 190 00:06:32,640 --> 00:06:34,080 And then your server saves that. 191 00:06:34,080 --> 00:06:35,720 Right, it caches it. 192 00:06:35,720 --> 00:06:40,160 So collaboratively, organically, all these independent servers 193 00:06:40,160 --> 00:06:42,960 are building a decentralized global database 194 00:06:42,960 --> 00:06:43,800 of books. 195 00:06:43,800 --> 00:06:47,960 Without relying on a central corporate server, that is wild. 196 00:06:47,960 --> 00:06:50,040 It's a huge technical achievement. 197 00:06:50,040 --> 00:06:53,840 Which naturally brings us to peeking under the hood. 198 00:06:53,840 --> 00:06:56,600 Because coordinating that kind of decentralized network 199 00:06:56,600 --> 00:06:58,400 sounds like a nightmare to build. 200 00:06:58,400 --> 00:06:59,800 It's definitely not simple. 201 00:06:59,800 --> 00:07:01,880 We've got the GitHub repository stats here. 202 00:07:01,880 --> 00:07:04,140 Let's talk about the tech stack making this possible. 203 00:07:04,140 --> 00:07:04,640 Sure. 204 00:07:04,640 --> 00:07:06,480 So the back end is heavily Python. 205 00:07:06,480 --> 00:07:09,600 In fact, Python makes up almost 75% of the code base. 206 00:07:09,600 --> 00:07:13,240 Wow, 74.7% to be exact, according to the repo. 207 00:07:13,240 --> 00:07:13,740 Right. 208 00:07:13,740 --> 00:07:16,400 And they use Django as their web framework 209 00:07:16,400 --> 00:07:18,840 with PostgresWolf for the main database. 210 00:07:18,840 --> 00:07:21,240 OK, so pretty standard robust tools so far. 211 00:07:21,240 --> 00:07:23,840 Yes, but the real heavy lifting for federation 212 00:07:23,840 --> 00:07:25,880 is handled by Celery and Redis. 213 00:07:25,880 --> 00:07:28,680 OK, and for anyone listening who isn't a back end developer, 214 00:07:28,680 --> 00:07:31,600 why are Celery and Redis so crucial here? 215 00:07:31,600 --> 00:07:34,200 Well, the decentralized web is messy. 216 00:07:34,200 --> 00:07:36,560 Servers go offline, connections drop. 217 00:07:36,560 --> 00:07:39,440 If your bookworm server tries to send a review 218 00:07:39,440 --> 00:07:42,000 to a server in Tokyo, and that server is down. 219 00:07:42,000 --> 00:07:44,040 Your server would just freeze up waiting for it. 220 00:07:44,040 --> 00:07:45,720 Exactly, if it was synchronous. 221 00:07:45,720 --> 00:07:48,520 But Celery is an asynchronous task queue. 222 00:07:48,520 --> 00:07:51,040 It takes that message, hands it to Redis, 223 00:07:51,040 --> 00:07:53,120 which is like a temporary holding pen, 224 00:07:53,120 --> 00:07:56,140 and basically says, keep trying to send this in the background, 225 00:07:56,140 --> 00:07:58,440 but let the user keep clicking around. 226 00:07:58,440 --> 00:07:59,840 Oh, that makes so much sense. 227 00:07:59,840 --> 00:08:02,000 So it handles the friction of the real world. 228 00:08:02,000 --> 00:08:02,720 Exactly. 229 00:08:02,720 --> 00:08:05,120 They use Docker and Nginx for deployment, too. 230 00:08:05,120 --> 00:08:08,080 They're just using these incredibly battle-tested 231 00:08:08,080 --> 00:08:11,200 open source staples to build something really resilient. 232 00:08:11,200 --> 00:08:13,360 And here's where it gets really interesting to me, 233 00:08:13,360 --> 00:08:15,800 the front end, what the user actually sees. 234 00:08:15,800 --> 00:08:16,480 Oh, yeah. 235 00:08:16,480 --> 00:08:19,640 The docs mention they use Django templates and a CSS 236 00:08:19,640 --> 00:08:22,040 framework called Bulma.io. 237 00:08:22,040 --> 00:08:25,000 But they have this one phrase in the developer documentation. 238 00:08:25,000 --> 00:08:27,240 Vanilla JavaScript in moderation. 239 00:08:27,240 --> 00:08:28,320 Yes. 240 00:08:28,320 --> 00:08:30,880 Vanilla JavaScript in moderation. 241 00:08:30,880 --> 00:08:33,760 I mean, it's just such a sunny, quiet rebellion 242 00:08:33,760 --> 00:08:35,400 against modern web development. 243 00:08:35,400 --> 00:08:36,240 It really is. 244 00:08:36,240 --> 00:08:38,400 Because right now, every corporate site 245 00:08:38,400 --> 00:08:41,240 is just a massive, bloated JavaScript application 246 00:08:41,240 --> 00:08:44,000 that drains your phone's battery just to show you text. 247 00:08:44,000 --> 00:08:44,500 Right. 248 00:08:44,500 --> 00:08:46,960 Chasing the latest Silicon Valley framework. 249 00:08:46,960 --> 00:08:48,320 But they're just like, nope. 250 00:08:48,320 --> 00:08:49,520 Keep it simple. 251 00:08:49,520 --> 00:08:52,480 Vanilla JS, and only when we need it. 252 00:08:52,480 --> 00:08:56,560 It perfectly mirrors their whole anti-corporate friendly ethos. 253 00:08:56,560 --> 00:08:58,400 This raises an important question, though. 254 00:08:58,400 --> 00:09:00,840 How do you actually build and maintain something 255 00:09:00,840 --> 00:09:03,880 this complex without a massive corporate budget? 256 00:09:03,880 --> 00:09:04,520 Seriously. 257 00:09:04,520 --> 00:09:06,520 I mean, looking at the GitHub repo, 258 00:09:06,520 --> 00:09:09,040 they have over 2.6 thousand stars, which is great. 259 00:09:09,040 --> 00:09:09,640 Yeah. 260 00:09:09,640 --> 00:09:13,720 But the wild part is they have 283 forks and over 105 261 00:09:13,720 --> 00:09:14,960 individual contributors. 262 00:09:14,960 --> 00:09:17,840 A project of that size, managing a custom activity 263 00:09:17,840 --> 00:09:20,800 pub implementation with 105 strangers, 264 00:09:20,800 --> 00:09:23,320 that takes serious coordination. 265 00:09:23,320 --> 00:09:25,060 And they do it all out in the open. 266 00:09:25,060 --> 00:09:27,840 The repository has a contributing .md file 267 00:09:27,840 --> 00:09:29,640 that explicitly says you don't even 268 00:09:29,640 --> 00:09:31,040 need to know how to code to help. 269 00:09:31,040 --> 00:09:33,600 Right, they need people for documentation, translations, 270 00:09:33,600 --> 00:09:34,840 design, bug testing. 271 00:09:34,840 --> 00:09:36,280 That's a real grassroots movement. 272 00:09:36,280 --> 00:09:38,240 And financially, they're entirely 273 00:09:38,240 --> 00:09:39,400 supported by the community. 274 00:09:39,400 --> 00:09:41,320 Patreon and Open Collective, right? 275 00:09:41,320 --> 00:09:44,880 Yeah, exactly, which means no venture capitalists breathing 276 00:09:44,880 --> 00:09:47,320 down their necks demanding a return on investment. 277 00:09:47,320 --> 00:09:49,500 And that's the ultimate protection, isn't it? 278 00:09:49,500 --> 00:09:52,760 As soon as a startup takes VC money, the clock is ticking. 279 00:09:52,760 --> 00:09:54,280 Eventually, they have to monetize. 280 00:09:54,280 --> 00:09:57,360 Yep, they sell your data or fill your feed with ads. 281 00:09:57,360 --> 00:09:59,680 Bookworm doesn't have that pressure. 282 00:09:59,680 --> 00:10:03,960 So bringing this all together for you, the listener, 283 00:10:03,960 --> 00:10:05,160 why does all this matter? 284 00:10:05,160 --> 00:10:09,960 Right, why should you care about Activity Pub and RedisQs? 285 00:10:09,960 --> 00:10:12,200 Because taking control of your digital life 286 00:10:12,200 --> 00:10:14,320 doesn't mean you have to give up the joy of sharing 287 00:10:14,320 --> 00:10:15,520 a good book with friends. 288 00:10:15,520 --> 00:10:18,080 Exactly, you don't have to choose between a corporate data 289 00:10:18,080 --> 00:10:20,560 harvesting machine and tracking your books alone 290 00:10:20,560 --> 00:10:21,840 in an Excel spreadsheet. 291 00:10:21,840 --> 00:10:23,720 You can choose an environment built for you, 292 00:10:23,720 --> 00:10:25,360 not for advertisers. 293 00:10:25,360 --> 00:10:28,040 And before we wrap up, I want to leave you 294 00:10:28,040 --> 00:10:30,760 with one final thought to sort of mull over something 295 00:10:30,760 --> 00:10:32,800 that builds on what we've talked about. 296 00:10:32,800 --> 00:10:35,760 The sources mention that Bookworm collaboratively 297 00:10:35,760 --> 00:10:38,520 builds this decentralized database of books. 298 00:10:38,520 --> 00:10:40,160 The federated library. 299 00:10:40,160 --> 00:10:42,800 Right, but think about the implications of that. 300 00:10:42,800 --> 00:10:44,760 If our collective reading habits, reviews, 301 00:10:44,760 --> 00:10:47,400 and literary discussions are stored across thousands 302 00:10:47,400 --> 00:10:48,680 of independent servers. 303 00:10:48,680 --> 00:10:50,400 Rather than one corporate database. 304 00:10:50,400 --> 00:10:53,360 Exactly, how might this permanent, uncensorable, 305 00:10:53,360 --> 00:10:57,280 federated library change the way human literary history is 306 00:10:57,280 --> 00:10:57,940 preserved? 307 00:10:57,940 --> 00:10:59,200 Oh, wow. 308 00:10:59,200 --> 00:11:01,480 Because if Goodreads shuts down tomorrow, 309 00:11:01,480 --> 00:11:03,400 millions of reviews vanish. 310 00:11:03,400 --> 00:11:04,800 It's a single point of failure. 311 00:11:04,800 --> 00:11:07,680 Corporate censorship, or just a server shutdown, 312 00:11:07,680 --> 00:11:08,680 and it's all gone. 313 00:11:08,680 --> 00:11:12,600 But with Bookworm, if one server goes offline, 314 00:11:12,600 --> 00:11:15,400 the metadata lives on everywhere else. 315 00:11:15,400 --> 00:11:18,640 It's truly preserving history against corporate decay. 316 00:11:18,640 --> 00:11:20,640 That is a profound way to look at it. 317 00:11:20,640 --> 00:11:23,520 The community literally owns the infrastructure. 318 00:11:23,520 --> 00:11:25,240 And that concept, taking ownership 319 00:11:25,240 --> 00:11:27,120 of your infrastructure, brings us right back 320 00:11:27,120 --> 00:11:28,600 to our sponsor, SafeServer. 321 00:11:28,600 --> 00:11:31,000 It's the exact same principle just applied 322 00:11:31,000 --> 00:11:32,360 to an organizational level. 323 00:11:32,360 --> 00:11:33,560 Exactly. 324 00:11:33,560 --> 00:11:36,720 Because organizations face this exact same dilemma. 325 00:11:36,720 --> 00:11:39,080 They're locked into proprietary software 326 00:11:39,080 --> 00:11:42,760 from massive vendors paying exorbitant licensing fees 327 00:11:42,760 --> 00:11:44,720 and surrendering their operational data. 328 00:11:44,720 --> 00:11:47,000 And SafeServer provides the escape hatch. 329 00:11:47,000 --> 00:11:48,240 They really do. 330 00:11:48,240 --> 00:11:49,960 By switching to open source solutions, 331 00:11:49,960 --> 00:11:53,000 whether it's Bookworm for a massive book club 332 00:11:53,000 --> 00:11:55,960 or specialized enterprise tools for a business, 333 00:11:55,960 --> 00:11:59,320 you gain total autonomy over your community guidelines 334 00:11:59,320 --> 00:12:00,480 and your user data. 335 00:12:00,480 --> 00:12:03,040 And honestly, you save a significant amount of money 336 00:12:03,040 --> 00:12:05,320 by cutting out those proprietary licenses. 337 00:12:05,320 --> 00:12:06,960 Huge savings. 338 00:12:06,960 --> 00:12:09,240 So if you're part of a business, an association, 339 00:12:09,240 --> 00:12:11,560 or any group looking to regain control, 340 00:12:11,560 --> 00:12:13,920 SafeServer can be commissioned for consulting. 341 00:12:13,920 --> 00:12:15,320 They will help you find and implement 342 00:12:15,320 --> 00:12:17,760 the exact right open source fit for your needs 343 00:12:17,760 --> 00:12:20,320 and operate it securely on German servers. 344 00:12:20,320 --> 00:12:21,640 Total data sovereignty. 345 00:12:21,640 --> 00:12:25,080 Head over to www.SafeServer.de to learn more. 346 00:12:25,080 --> 00:12:27,520 It's time to build a web that actually works for us. 347 00:12:27,520 --> 00:12:28,640 I couldn't agree more. 348 00:12:28,640 --> 00:12:30,520 Thanks for joining us on this deep dive. 349 00:12:30,520 --> 00:12:32,720 We'll catch you on the next one.