1 00:00:00,000 --> 00:00:01,960 Welcome to the Deep Dive. 2 00:00:01,960 --> 00:00:04,120 So we all pretty much live our lives 3 00:00:04,120 --> 00:00:05,920 by the digital calendar, right? 4 00:00:05,920 --> 00:00:08,000 I mean, it's the foundation for everything. 5 00:00:08,000 --> 00:00:10,960 It really is professional, personal, it's all in there. 6 00:00:10,960 --> 00:00:13,720 But the thing is, when we rely on the huge apps 7 00:00:13,720 --> 00:00:15,640 from the big tech companies, 8 00:00:15,640 --> 00:00:17,440 we're kind of surrendering control. 9 00:00:17,440 --> 00:00:19,920 You get locked into one ecosystem. 10 00:00:19,920 --> 00:00:21,680 And what happens when you need something 11 00:00:21,680 --> 00:00:25,680 that just works everywhere with everything? 12 00:00:25,680 --> 00:00:28,040 Exactly, something that respects open standards 13 00:00:28,040 --> 00:00:30,560 and gives you back the keys to your own schedule. 14 00:00:30,560 --> 00:00:32,760 And that's precisely our mission today. 15 00:00:32,760 --> 00:00:34,920 We're gonna find that open source backbone 16 00:00:34,920 --> 00:00:36,160 for time management. 17 00:00:36,160 --> 00:00:39,320 Our sources are all focused on a tool called Davial. 18 00:00:39,320 --> 00:00:40,680 Davial. Yeah. 19 00:00:40,680 --> 00:00:42,760 It's a calendar server that implements something called 20 00:00:42,760 --> 00:00:44,400 the CalVive protocol. 21 00:00:44,400 --> 00:00:47,040 And look, if you're new to server tech, don't worry, 22 00:00:47,040 --> 00:00:49,520 we're gonna unpack what all this means, why it matters, 23 00:00:49,520 --> 00:00:51,680 and well, what kind of power you actually get 24 00:00:51,680 --> 00:00:52,880 by hosting your own system. 25 00:00:52,880 --> 00:00:54,120 And before we jump into all that, 26 00:00:54,120 --> 00:00:57,080 we do want to acknowledge the supporter of this deep dive, 27 00:00:57,080 --> 00:00:58,160 Safe Server. 28 00:00:58,160 --> 00:01:00,480 Safe Server handles the hosting of this software 29 00:01:00,480 --> 00:01:03,120 and supports you in your digital transformation. 30 00:01:03,120 --> 00:01:07,400 You can find more information at www.safe-server.de. 31 00:01:07,400 --> 00:01:08,680 Okay, so let's unpack this. 32 00:01:08,680 --> 00:01:10,120 We're diving into Davicals. 33 00:01:10,120 --> 00:01:13,560 If someone is completely new to this world, what? 34 00:01:13,560 --> 00:01:14,680 What is this tool? 35 00:01:14,680 --> 00:01:18,960 At its core, Davical is a dedicated server 36 00:01:18,960 --> 00:01:20,720 just for calendar sharing. 37 00:01:20,720 --> 00:01:23,680 Think of it like your own private self-hosted cloud 38 00:01:23,680 --> 00:01:25,320 for all your events. 39 00:01:25,320 --> 00:01:28,320 But the real magic isn't the software itself. 40 00:01:28,320 --> 00:01:30,520 It's the fact that it speaks a standardized language 41 00:01:30,520 --> 00:01:33,760 that almost every calendar app in the world already understands. 42 00:01:33,760 --> 00:01:35,360 And that language is CalDev-y. 43 00:01:35,360 --> 00:01:37,680 CalDev, so that's the key to breaking 44 00:01:37,680 --> 00:01:39,840 that proprietary, that lock-in. 45 00:01:39,840 --> 00:01:40,680 Exactly. 46 00:01:40,680 --> 00:01:41,520 That's the coup. 47 00:01:41,520 --> 00:01:43,840 So for someone who doesn't speak fluent server, 48 00:01:43,840 --> 00:01:45,400 how do we visualize CalDev? 49 00:01:45,400 --> 00:01:48,440 And I see its sibling, iCalendar, mentioned here too. 50 00:01:48,440 --> 00:01:50,800 Right, okay, so think of CalDev as the protocol. 51 00:01:50,800 --> 00:01:52,080 It's like the official rule book. 52 00:01:52,080 --> 00:01:53,040 Rule book, I like that. 53 00:01:53,040 --> 00:01:54,800 Yeah, it's the standard set of instructions 54 00:01:54,800 --> 00:01:56,520 that tells your calendar app, 55 00:01:56,520 --> 00:01:58,280 whether you're using Apple's Calendar, 56 00:01:58,280 --> 00:01:59,880 Evolution on Linux, whatever, 57 00:01:59,880 --> 00:02:02,360 how to talk to the server and share data reliably. 58 00:02:02,360 --> 00:02:04,160 And iCalendar, what's its role? 59 00:02:04,160 --> 00:02:06,880 iCalendar is the standardized data format. 60 00:02:06,880 --> 00:02:10,120 So if CalDev is the rule book for how to file things, 61 00:02:10,120 --> 00:02:12,200 iCalendar is the standardized note card 62 00:02:12,200 --> 00:02:13,600 you write the information on. 63 00:02:13,600 --> 00:02:14,440 Ah, I see. 64 00:02:14,440 --> 00:02:16,840 Every event, every task is written 65 00:02:16,840 --> 00:02:19,160 on one of these standard note cards. 66 00:02:19,160 --> 00:02:21,520 That way, CalDev knows exactly how to file it 67 00:02:21,520 --> 00:02:22,360 and retrieve it, 68 00:02:22,360 --> 00:02:24,640 and any app can read it without confusion. 69 00:02:24,640 --> 00:02:26,160 And this is where it gets really interesting, 70 00:02:26,160 --> 00:02:27,880 because that standardization, 71 00:02:27,880 --> 00:02:29,600 that's what guarantees interoperability. 72 00:02:29,600 --> 00:02:30,440 Exactly. 73 00:02:30,440 --> 00:02:33,320 The sources list an amazing variety of clients it supports, 74 00:02:33,320 --> 00:02:35,800 Mozilla Calendar, Evolution. 75 00:02:35,800 --> 00:02:37,560 But also, and this is important, 76 00:02:37,560 --> 00:02:41,680 closed source products like Apple's iCal and even iOS. 77 00:02:41,680 --> 00:02:43,760 Yes, the whole point is that they are committed 78 00:02:43,760 --> 00:02:45,560 to supporting the widest possible 79 00:02:45,560 --> 00:02:47,520 CalDev client software. 80 00:02:47,520 --> 00:02:50,120 Devco wasn't built to be another proprietary system, 81 00:02:50,120 --> 00:02:52,920 it was built to implement the open consensus standard 82 00:02:52,920 --> 00:02:54,120 better than anyone else. 83 00:02:54,120 --> 00:02:55,840 And it does all this as free software, 84 00:02:55,840 --> 00:02:57,280 licensed under the GPL. 85 00:02:57,280 --> 00:02:59,680 We hear that acronym a lot, GPL. 86 00:02:59,680 --> 00:03:02,240 For our listener, why is that specific license 87 00:03:02,240 --> 00:03:03,320 so important here? 88 00:03:03,320 --> 00:03:04,360 It's vital. 89 00:03:04,360 --> 00:03:07,200 GPL means it's not just free as in price, 90 00:03:07,200 --> 00:03:09,200 it's free as in liberty. 91 00:03:09,200 --> 00:03:12,120 You have the freedom to use it, to study how it works, 92 00:03:12,120 --> 00:03:14,640 you can even modify it for your own needs, 93 00:03:14,640 --> 00:03:16,480 and then share those changes. 94 00:03:16,480 --> 00:03:18,320 So it's about transparency and control. 95 00:03:18,320 --> 00:03:19,120 Totally. 96 00:03:19,120 --> 00:03:21,080 When you're talking about something as core 97 00:03:21,080 --> 00:03:26,000 as your calendar, that level of control is, well, 98 00:03:26,000 --> 00:03:28,360 it's a hair amount for security and just knowing 99 00:03:28,360 --> 00:03:29,960 it'll be around for the long term. 100 00:03:29,960 --> 00:03:32,560 That immediately gets around all the privacy worries that 101 00:03:32,560 --> 00:03:34,000 come with the big tech platform. 102 00:03:34,000 --> 00:03:34,560 Yeah. 103 00:03:34,560 --> 00:03:36,200 OK, let's get into the features. 104 00:03:36,200 --> 00:03:39,080 What makes this an enterprise level tool? 105 00:03:39,080 --> 00:03:41,440 There are two headline features that really elevate it. 106 00:03:41,440 --> 00:03:44,560 They make it comparable to Microsoft Exchange or Google 107 00:03:44,560 --> 00:03:45,240 Workspace. 108 00:03:45,240 --> 00:03:46,600 OK, what's the first one? 109 00:03:46,600 --> 00:03:48,040 Delegation of access. 110 00:03:48,040 --> 00:03:50,840 This is the ability to grant really specific read 111 00:03:50,840 --> 00:03:53,240 and write access to other people without sharing 112 00:03:53,240 --> 00:03:54,360 your main password. 113 00:03:54,360 --> 00:03:57,160 So like an executive assistant could manage your schedule? 114 00:03:57,160 --> 00:03:57,880 Exactly. 115 00:03:57,880 --> 00:04:00,200 They can see your general availability in book meetings, 116 00:04:00,200 --> 00:04:02,040 but they never have to see private appointments 117 00:04:02,040 --> 00:04:04,560 unless you explicitly grant them that access. 118 00:04:04,560 --> 00:04:06,600 It's that level of granular control. 119 00:04:06,600 --> 00:04:07,720 That's a huge deal. 120 00:04:07,720 --> 00:04:09,000 You're not just sharing a link. 121 00:04:09,000 --> 00:04:12,720 You're granting specific administrative rights. 122 00:04:12,720 --> 00:04:15,300 OK, what's the second killer feature? 123 00:04:15,300 --> 00:04:18,320 The ability to schedule meetings and automatically see 124 00:04:18,320 --> 00:04:20,120 everyone's free and busy time. 125 00:04:20,120 --> 00:04:22,800 Ah, the holy grail of office logistics. 126 00:04:22,800 --> 00:04:24,000 Right, it's so critical. 127 00:04:24,000 --> 00:04:26,320 The CalDev protocol just handles it. 128 00:04:26,320 --> 00:04:28,520 It checks across all the users on the server, 129 00:04:28,520 --> 00:04:30,560 gets their availability instantly, 130 00:04:30,560 --> 00:04:31,840 and shows it to you. 131 00:04:31,840 --> 00:04:33,280 No more guessing games. 132 00:04:33,280 --> 00:04:34,920 You get that professional utility 133 00:04:34,920 --> 00:04:37,080 without the massive licensing fees. 134 00:04:37,080 --> 00:04:39,360 So if someone is listening and is convinced, 135 00:04:39,360 --> 00:04:41,040 what are the technical requirements? 136 00:04:41,040 --> 00:04:43,080 What do you need to actually run this? 137 00:04:43,080 --> 00:04:46,000 You basically need two main components on your server. 138 00:04:46,000 --> 00:04:48,640 First, you need a PostgreSQL database server. 139 00:04:48,640 --> 00:04:52,640 PostgreSQL specifically, why not something more common maybe? 140 00:04:52,640 --> 00:04:55,720 Well, this choice really speaks to the reliability needed. 141 00:04:55,720 --> 00:04:58,880 All that calendar data, the events, the delegation rules, 142 00:04:58,880 --> 00:05:01,840 the access controls, it's highly structured. 143 00:05:01,840 --> 00:05:05,420 PostgreSQL is, well, it's an enterprise-grade database. 144 00:05:05,420 --> 00:05:07,240 It's known for being super robust. 145 00:05:07,240 --> 00:05:08,280 So it's a vault. 146 00:05:08,280 --> 00:05:10,040 It's a solid digital vault, yeah. 147 00:05:10,040 --> 00:05:12,840 It handles all that complexity really well, which is essential. 148 00:05:12,840 --> 00:05:13,960 And the second component. 149 00:05:13,960 --> 00:05:18,400 A web server that can run PHP, specifically version 5 or higher. 150 00:05:18,400 --> 00:05:20,860 PHP is the go-between. 151 00:05:20,860 --> 00:05:21,600 You got it. 152 00:05:21,600 --> 00:05:24,480 It's the scripting layer that processes all the instructions coming 153 00:05:24,480 --> 00:05:27,880 from your calendar apps and talks to the PostgreSQL database. 154 00:05:27,880 --> 00:05:30,840 The source has mentioned that the configuration can look intimidating 155 00:05:30,840 --> 00:05:33,960 on the Wiki, but that it's often simpler than it seems. 156 00:05:33,960 --> 00:05:34,840 That's a great point. 157 00:05:34,840 --> 00:05:38,720 I mean, it's built to be configurable for huge, complex companies. 158 00:05:38,720 --> 00:05:41,880 But for a person or a small team, the configuration 159 00:05:41,880 --> 00:05:45,120 will usually need very few of those advanced settings. 160 00:05:45,120 --> 00:05:46,640 The default is pretty solid. 161 00:05:46,640 --> 00:05:49,040 I love this next detail because it gives us a peek 162 00:05:49,040 --> 00:05:52,960 into the developers' philosophy, their preference for operating systems. 163 00:05:52,960 --> 00:05:53,920 Oh, yeah. 164 00:05:53,920 --> 00:05:55,960 They don't hold back, do they? 165 00:05:55,960 --> 00:05:56,680 Not at all. 166 00:05:56,680 --> 00:06:00,200 It says you can run it on Linux, FreeBSD, Mac OS X. 167 00:06:00,200 --> 00:06:03,640 But then there's this very pointed warning about Microsoft Windows. 168 00:06:03,640 --> 00:06:04,600 They're pretty explicit. 169 00:06:04,600 --> 00:06:06,600 They use Debian Genial Linux themselves. 170 00:06:06,600 --> 00:06:11,080 And they say, quote, we definitely do not recommend using Windows for this 171 00:06:11,080 --> 00:06:14,720 unless you are completely hobbled by silly internal IT policies 172 00:06:14,720 --> 00:06:15,960 and have to do so. 173 00:06:15,960 --> 00:06:18,760 And look, it's not just them being snarky. 174 00:06:18,760 --> 00:06:21,560 It's a bit philosophical, sure, but it's also very practical. 175 00:06:21,560 --> 00:06:22,240 Oh, so. 176 00:06:22,240 --> 00:06:24,760 This kind of open source infrastructure just 177 00:06:24,760 --> 00:06:28,480 it thrives in a native open source environment like Linux. 178 00:06:28,480 --> 00:06:31,880 Trying to shoehorn it onto a proprietary OS 179 00:06:31,880 --> 00:06:34,760 often just creates headaches that defeat the whole purpose 180 00:06:34,760 --> 00:06:36,920 of simple, reliable self-hosting. 181 00:06:36,920 --> 00:06:38,320 Use the right tool for the job. 182 00:06:38,320 --> 00:06:38,960 Exactly. 183 00:06:38,960 --> 00:06:42,760 OK, so before Kaldav was the standard, there was WebDV. 184 00:06:42,760 --> 00:06:46,560 Does DavidGal still have any connection to that older protocol? 185 00:06:46,560 --> 00:06:48,540 It does for backward compatibility. 186 00:06:48,540 --> 00:06:51,680 You can set up access via WebDV, but the sources 187 00:06:51,680 --> 00:06:54,220 are very clear that this is not recommended. 188 00:06:54,220 --> 00:06:54,840 Why not? 189 00:06:54,840 --> 00:06:56,680 It's kind of like having a fax machine hooked up 190 00:06:56,680 --> 00:06:57,280 to your email. 191 00:06:57,280 --> 00:06:58,640 I mean, it works for legacy stuff, 192 00:06:58,640 --> 00:07:00,760 but you wouldn't use it for modern communication. 193 00:07:00,760 --> 00:07:03,920 Kaldav is just so much better optimized for calendar data. 194 00:07:03,920 --> 00:07:04,880 That makes sense. 195 00:07:04,880 --> 00:07:06,800 Let's shift from the code to the community. 196 00:07:06,800 --> 00:07:10,160 The project was started by Andrew McMillan, but in 2014, 197 00:07:10,160 --> 00:07:12,520 it moved to a full community support model. 198 00:07:12,520 --> 00:07:14,860 And what's so fascinating there is just how broad 199 00:07:14,860 --> 00:07:16,840 the definition of contribution is. 200 00:07:16,840 --> 00:07:19,360 It shows you how mature the project is. 201 00:07:19,360 --> 00:07:21,800 A healthy open source project needs so much more 202 00:07:21,800 --> 00:07:23,200 than just coders. 203 00:07:23,200 --> 00:07:26,960 So if a listener is inspired by this but isn't a Python guru, 204 00:07:26,960 --> 00:07:30,120 how can they practically help out a project like Davical? 205 00:07:30,120 --> 00:07:32,080 The sources have a wonderful list. 206 00:07:32,080 --> 00:07:33,700 Honestly, one of the most valuable things 207 00:07:33,700 --> 00:07:36,360 is writing and refining documentation. 208 00:07:36,360 --> 00:07:38,360 A great guide is often more important 209 00:07:38,360 --> 00:07:40,920 than a perfect piece of code for getting people to use it. 210 00:07:40,920 --> 00:07:43,080 And just helping other people out on the mailing list 211 00:07:43,080 --> 00:07:44,360 or on IRC. 212 00:07:44,360 --> 00:07:45,160 Absolutely. 213 00:07:45,160 --> 00:07:50,800 The IRC channel that's hashtag Davical on IRC.aftc.net 214 00:07:50,800 --> 00:07:52,320 is a great place to start. 215 00:07:52,320 --> 00:07:55,140 Or translating the interface into another language, 216 00:07:55,140 --> 00:07:56,840 that's a huge contribution. 217 00:07:56,840 --> 00:07:58,960 And they even invite people to help design future 218 00:07:58,960 --> 00:07:59,720 functionality. 219 00:07:59,720 --> 00:08:01,200 It's not just about maintenance. 220 00:08:01,200 --> 00:08:02,800 It's an invitation to actually shape 221 00:08:02,800 --> 00:08:03,960 the future of this thing. 222 00:08:03,960 --> 00:08:07,280 It really is a fantastic example of a community driven project 223 00:08:07,280 --> 00:08:10,640 that provides real enterprise grade value without the cost 224 00:08:10,640 --> 00:08:12,040 or the vendor lock in. 225 00:08:12,040 --> 00:08:13,960 The cost is just effort and attention. 226 00:08:13,960 --> 00:08:17,480 But the payoff is, well, it's complete control. 227 00:08:17,480 --> 00:08:18,200 Precisely. 228 00:08:18,200 --> 00:08:19,700 You're not just downloading software. 229 00:08:19,700 --> 00:08:21,600 You're engaging with a philosophy 230 00:08:21,600 --> 00:08:23,080 of digital sovereignty. 231 00:08:23,080 --> 00:08:25,840 Which brings us to the end of this deep dive. 232 00:08:25,840 --> 00:08:27,720 We've navigated Davical. 233 00:08:27,720 --> 00:08:30,080 We've defined CallDave and iCalendar. 234 00:08:30,080 --> 00:08:33,760 And we understand why Postgresql and the GPL license 235 00:08:33,760 --> 00:08:35,400 are so foundational. 236 00:08:35,400 --> 00:08:39,400 You should now have the basic knowledge 237 00:08:39,400 --> 00:08:42,320 to understand and maybe even take control 238 00:08:42,320 --> 00:08:44,500 of your own calendar infrastructure. 239 00:08:44,500 --> 00:08:46,600 And to connect that to the bigger picture for you, 240 00:08:46,600 --> 00:08:49,480 the listener, if CallDave lets you own your schedule, 241 00:08:49,480 --> 00:08:51,400 it makes you ask a question, doesn't it? 242 00:08:51,400 --> 00:08:53,560 What about the other parts of your digital life? 243 00:08:53,560 --> 00:08:54,400 Like contacts. 244 00:08:54,400 --> 00:08:55,000 Exactly. 245 00:08:55,000 --> 00:08:56,500 Contacts, which is often handled 246 00:08:56,500 --> 00:08:58,800 by a similar protocol called Cardavy. 247 00:08:58,800 --> 00:08:59,840 And of course, email. 248 00:08:59,840 --> 00:09:01,620 Understanding these underlying standards, 249 00:09:01,620 --> 00:09:04,080 that's really the first step toward true digital 250 00:09:04,080 --> 00:09:05,200 transformation. 251 00:09:05,200 --> 00:09:06,880 It ensures no tech giant can ever 252 00:09:06,880 --> 00:09:08,760 hold your schedule or your network hostage. 253 00:09:08,760 --> 00:09:09,640 An excellent point. 254 00:09:09,640 --> 00:09:10,840 If you're ready to take that next step, 255 00:09:10,840 --> 00:09:13,560 you can find all the details on the Devical installation 256 00:09:13,560 --> 00:09:15,920 page and their wiki. 257 00:09:15,920 --> 00:09:18,240 Thank you for joining us on this deep dive. 258 00:09:18,240 --> 00:09:21,560 And a final thank you to our supporter, SafeServer. 259 00:09:21,560 --> 00:09:23,480 SafeServer handles the hosting of the software 260 00:09:23,480 --> 00:09:25,680 and supports you in your digital transformation. 261 00:09:25,680 --> 00:09:29,240 You can find more info at www.safeserver.de.