[{"data":1,"prerenderedAt":451},["ShallowReactive",2],{"footer-primary":3,"footer-secondary":93,"footer-description":119,"tv-community-question-time":121,"tv-community-question-time-seasons":132,"tv-community-question-time-episodes":140,"sales-reps":199},{"items":4},[5,29,49,69],{"id":6,"title":7,"url":8,"page":8,"children":9},"522e608a-77b0-4333-820d-d4f44be2ade1","Solutions",null,[10,15,20,25],{"id":11,"title":12,"url":8,"page":13},"fcafe85a-a798-4710-9e7a-776fe413aae5","Headless CMS",{"permalink":14},"/solutions/headless-cms",{"id":16,"title":17,"url":8,"page":18},"79972923-93cf-4777-9e32-5c9b0315fc10","Backend-as-a-Service",{"permalink":19},"/solutions/backend-as-a-service",{"id":21,"title":22,"url":8,"page":23},"0fa8d0c1-7b64-4f6f-939d-d7fdb99fc407","Product Information",{"permalink":24},"/solutions/product-information-management",{"id":26,"title":27,"url":28,"page":8},"63946d54-6052-4780-8ff4-91f5a9931dcc","100+ Things to Build","https://directus.io/blog/100-tools-apps-and-platforms-you-can-build-with-directus",{"id":30,"title":31,"url":8,"page":8,"children":32},"8ab4f9b1-f3e2-44d6-919b-011d91fe072f","Resources",[33,37,41,45],{"id":34,"title":35,"url":36,"page":8},"f951fb84-8777-4b84-9e91-996fe9d25483","Documentation","https://docs.directus.io",{"id":38,"title":39,"url":40,"page":8},"366febc7-a538-4c08-a326-e6204957f1e3","Guides","https://docs.directus.io/guides/",{"id":42,"title":43,"url":44,"page":8},"aeb9128e-1c5f-417f-863c-2449416433cd","Community","https://directus.chat",{"id":46,"title":47,"url":48,"page":8},"da1c2ed8-0a77-49b0-a903-49c56cb07de5","Release Notes","https://github.com/directus/directus/releases",{"id":50,"title":51,"url":8,"page":8,"children":52},"d61fae8c-7502-494a-822f-19ecff3d0256","Support",[53,57,61,65],{"id":54,"title":55,"url":56,"page":8},"8c43c781-7ebd-475f-a931-747e293c0a88","Issue Tracker","https://github.com/directus/directus/issues",{"id":58,"title":59,"url":60,"page":8},"d77bb78e-cf7b-4e01-932a-514414ba49d3","Feature Requests","https://github.com/directus/directus/discussions?discussions_q=is:open+sort:top",{"id":62,"title":63,"url":64,"page":8},"4346be2b-2c53-476e-b53b-becacec626a6","Community Chat","https://discord.com/channels/725371605378924594/741317677397704757",{"id":66,"title":67,"url":68,"page":8},"26c115d2-49f7-4edc-935e-d37d427fb89d","Cloud Dashboard","https://directus.cloud",{"id":70,"title":71,"url":8,"page":8,"children":72},"49141403-4f20-44ac-8453-25ace1265812","Organization",[73,78,84,88],{"id":74,"title":75,"url":76,"page":77},"1f36ea92-8a5e-47c8-914c-9822a8b9538a","About","/about",{"permalink":76},{"id":79,"title":80,"url":81,"page":82},"b84bf525-5471-4b14-a93c-225f6c386005","Careers","#",{"permalink":83},"/careers",{"id":85,"title":86,"url":87,"page":8},"86aabc3a-433d-434b-9efa-ad1d34be0a34","Brand Assets","https://drive.google.com/drive/folders/1lBOTba4RaA5ikqOn8Ewo4RYzD0XcymG9?usp=sharing",{"id":89,"title":90,"url":8,"page":91},"8d2fa1e3-198e-4405-81e1-2ceb858bc237","Contact",{"permalink":92},"/contact",{"items":94},[95,101,107,113],{"id":96,"title":97,"url":8,"page":98,"children":100},"8a1b7bfa-429d-4ffc-a650-2a5fdcf356da","Cloud Policies",{"permalink":99},"/cloud-policies",[],{"id":102,"title":103,"url":81,"page":104,"children":106},"bea848ef-828f-4306-8017-6b00ec5d4a0c","License",{"permalink":105},"/bsl",[],{"id":108,"title":109,"url":81,"page":110,"children":112},"4e914f47-4bee-42b7-b445-3119ee4196ef","Terms",{"permalink":111},"/terms",[],{"id":114,"title":115,"url":81,"page":116,"children":118},"ea69eda6-d317-4981-8421-fcabb1826bfd","Privacy",{"permalink":117},"/privacy",[],{"description":120},"\u003Cp>A composable backend to build your Headless CMS, BaaS, and more.&nbsp;\u003C/p>",{"id":122,"title":123,"logo":124,"cover":125,"tile":126,"announcement_text":8,"description":127,"slug":128,"one_liner":129,"card_text":8,"status":130,"sort":131},"94965a81-5c52-4059-95a7-5e9b9e467e5b","Community Question Time","f8a7965b-9c52-4eb1-988a-ca8da5f87f1a","055eaa7b-ccd7-44a8-8b6f-5db9c714384c","8cb1690a-f634-40d8-b037-f37adcbafc84","We're a super transparent team, and in Community Question Time we open the floor to you — our community — to ask the questions on your mind. How do we make decisions? What's the deal with our investors? What's the bigger picture? All questions are welcome.","community-question-time","Ask our founders questions about the company behind Directus.","published",6,[133],{"id":134,"number":135,"show":122,"year":136,"episodes":137},"29867ef9-edaa-4066-ad89-4c93969f949c",1,"2023",[138,139],"18b823d0-ba5a-43ff-ab82-a074d11db574","9cc8741c-aa8a-44a1-8e92-8775b11b2063",[141,175],{"id":138,"slug":142,"vimeo_id":143,"description":144,"tile":145,"length":146,"resources":147,"people":154,"episode_number":135,"published":164,"title":165,"video_transcript_html":166,"video_transcript_text":167,"content":8,"seo":8,"status":130,"episode_people":168,"recommendations":172,"season":173},"mistakes","921050862","How do we balance business and community? What have been some of our mistakes? What vision did you sell to VCs? How else might we make money? ","a7422934-3964-4dec-8d6b-5241a4a1ee24",22,[148,151],{"name":149,"url":150},"Blog Post","https://directus.io/blog/community-question-time-0/",{"name":152,"url":153},"Ask Questions","https://github.com/directus/directus/discussions/17034",[155,158,161],{"name":156,"url":157},"Ben Haynes","https://directus.io/team/ben-haynes",{"name":159,"url":160},"Rijk van Zanten","https://directus.io/team/rijk-van-zanten",{"name":162,"url":163},"Kevin Lewis","https://directus.io/team/kevin-lewis","2023-01-31","Mistakes","\u003Cp>Speaker 0: Hello there. My name is Kevin. I run developer relations at Directus, and I'm in New York City for the first time since the start of the pandemic, to meet the team. So that's really exciting. And so I thought I would take this opportunity to meet up with our cofounders, Ben and Reich, and ask them a bunch of questions that you've posed.\u003C/p>\u003Cp>That's me making sure I don't get knocked down by a car. Ask a ton of your questions, and this is just the start. We'll be doing this every few months. But I'm gonna go meet with Ryke, and then we are gonna ask him some questions. So one of the first questions we had in is just what is the value community at\u003C/p>\u003Cp>Speaker 1: the end of the day, it's the the foundation where everything is built on at the moment, honestly. Feedback loop is what what makes the project what it is, really.\u003C/p>\u003Cp>Speaker 0: Yeah. Because without the feedback, like, we're just flying blind to a degree. We're building stuff for\u003C/p>\u003Cp>Speaker 1: us. And And and at the end of day, the goal is to help as many people as we can. So we we need that you know, it's a symbiotic thing, really.\u003C/p>\u003Cp>Speaker 0: Yeah. Absolutely. So I suppose one of the slightly more tricky questions perhaps is you're gracing yourself. Is, what are some of the, I don't know, mistakes or missteps that you think we have made as directors? Oh, boy.\u003C/p>\u003Cp>I suppose scope to engineering, but maybe more broadly\u003C/p>\u003Cp>Speaker 1: Yeah.\u003C/p>\u003Cp>Speaker 0: To date.\u003C/p>\u003Cp>Speaker 1: That's a great question. I I I think one of the one of the bigger things that comes to mind is that we've launched a lot of stuff out of sort of enthusiasm, out of proof of concepts. Right? Where it's just like, we were noodling around with a new idea and it turns out that the proof of concept was already, you know, kinda there. And then you launch the proof of concept to to a GitHub branch or something and then people got excited and then you end up just pushing it out because it's like, oh, everybody already likes it.\u003C/p>\u003Cp>Let's just do it. Right? But then after the fact you realize like There's a maintenance\u003C/p>\u003Cp>Speaker 0: button or it needs\u003C/p>\u003Cp>Speaker 1: to be built. Built. Right. Yeah. We hadn't quite figured out the full spec yet, so now it's like, oh, but it should have done\u003C/p>\u003Cp>Speaker 0: this. Yeah. Yeah.\u003C/p>\u003Cp>Speaker 1: Or it should have worked like that. So like taking that slower, slower, has has been a big\u003C/p>\u003Cp>Speaker 0: I've seen you do that we wanna push out, maintain\u003C/p>\u003Cp>Speaker 1: Yeah. For sure.\u003C/p>\u003Cp>Speaker 0: Properly. So I suppose there's definitely, growth\u003C/p>\u003Cp>Speaker 1: because there's out of that. There's so many fun things that we can do and that we have done and that we're trying out and whatnot. And then it's like, oh, but how would that work for real though? Yeah.\u003C/p>\u003Cp>Speaker 0: Or at scale.\u003C/p>\u003Cp>Speaker 1: Or at scale Yeah. Or how does that Yeah. Exactly. So even now with like some of the new big features that we're already working on with like web sockets and stuff, it's like if you really just sit down and just think about what that means, it's like, oh, okay. Yeah.\u003C/p>\u003Cp>Yeah. There's just so much more that that that shows up and it's it's sometimes easy to miss, you know, the bigger picture if you just get excited about about a new feature like that. Reason with that Jet GPT stuff as well, wherever Yeah. Everybody's like, oh, what if\u003C/p>\u003Cp>Speaker 0: we just have AI?\u003C/p>\u003Cp>Speaker 1: It's like, woah, woah, woah.\u003C/p>\u003Cp>Speaker 0: When you build projects for yourself, you really just have to have like this this implementation that doesn't have to work at scale. Yeah. But we're having to think about what it means to build features that not only all of our all of our community can use Yeah. In open source in their own deployment, but also that we're gonna host and have Yep. Have tens of thousands of users have access to right this minute and\u003C/p>\u003Cp>Speaker 1: the implications\u003C/p>\u003Cp>Speaker 0: of that. Thanks for joining me in my office. Very rude for you to be eating on the job, if I may say so myself. Mark, I've got some questions for you. Mhmm.\u003C/p>\u003Cp>The first one, which is a little tricky, but I think very fair and very in the forefront of many of our community members' minds, which is there is a risk when building a business that we are then going to struggle to maintain and grow the community that's got us to where we are today. And I'm kinda wondering what you think about that.\u003C/p>\u003Cp>Speaker 1: Yeah. No. Like I said, it is it is a delicate delicate balancing act really, where it's like, you know, the community side of things, it it grows the project and user base to what it is right now, but at the same time, to make that sustainable over time, we gotta make enough revenue or enough profit to really get that, you know, make that work long time. Because the last thing we wanna do now is, you know, be sort of flesh in the pen and die out immediately.\u003C/p>\u003Cp>Speaker 0: Yeah. We want people to, like, rely on this project, not just for a year or 2 years, No.\u003C/p>\u003Cp>Speaker 1: Exactly. We we wanna be there reliable for as long as you need us. Right? And in order to do that, we have to make revenue. That's that's just the way it is, you know.\u003C/p>\u003Cp>Everybody gotta pay their rent. We gotta pay The one's\u003C/p>\u003Cp>Speaker 0: up right now.\u003C/p>\u003Cp>Speaker 1: There's there's loads of cost when it comes to to building software at this scale, and yet, you know, if you give everything away in open source, you you don't make revenue out of it. So it's a very delicate balance I guess. But I'm I'm I'm hopeful that in this dual sort of open source slash SaaS model, we can we can still help out with the parts that are still tricky. Even though the software you already can use, the the tricky bit is still, you know, hosting and doing it at scale for production use, backups and everything. So I do really believe that sort of that SaaS model next to having the open source code base is a sustainable thing.\u003C/p>\u003Cp>Yeah. I mean, not turning our back from this community either\u003C/p>\u003Cp>Speaker 0: like Oh, absolutely. Critical because without them, like, we we don't have the adoption. We don't have Exactly. The the proof, the social proof that this makes sense.\u003C/p>\u003Cp>Speaker 1: Yeah.\u003C/p>\u003Cp>Speaker 0: That makes sense. Before I got here, the core team was really hot at answering people's questions when they came in on Discord. And you know community members have quite rightly noticed that starting to trail off a bit and I'm wondering if you have, any thoughts or or reasons for this? I know we've started to talk about it a bit, but given this context of us sitting here and it being a question that we got from the community, I thought this would be a great arena to talk about it again. Yeah.\u003C/p>\u003Cp>Absolutely.\u003C/p>\u003Cp>Speaker 1: And I complicated question. Right? Where it's like, early days, you know, smaller open source community. Therefore, the amount of questions that you get, I could just step into discord, you know, in the morning and just answer basically all of the open ones and then start moving on with my day. Whereas now, we're at a point where it would basically be a 3 x full time job to to really, you know, give it the attention and love that it deserves.\u003C/p>\u003Cp>And then the other thing is we did notice that at certain points, like, the the more duplicated or similar questions you get, it becomes, more of a challenge to sort of aggregate the similar ones together first, and then really just focus on explaining it well and sort of permanently when it comes to, like, docs and videos and stuff\u003C/p>\u003Cp>Speaker 2: like that.\u003C/p>\u003Cp>Speaker 1: So I think the focus shifted a little bit from trying to help everybody out individually to trying to help out Everyone. The community as a whole at the same time. So that means aggregating all the questions together first and then figuring out the priority of like, okay, what topics are often asked about? That's also why flows came up just now. Because we we know we get a lot of questions around you.\u003C/p>\u003Cp>How or how can you debug that better and that sort of thing. So really just taking the time to to first aggregating it and then focusing on the more quality content around that rather than trying to do one off, answer answer.\u003C/p>\u003Cp>Speaker 0: We're also just, what, like 30 ish people? Oh, that too. Yeah. Yeah. I mean, I think that's a huge thing.\u003C/p>\u003Cp>It's like we're 30 people. Yeah. And those 30 people are, you know, engineers who are working on pushing the platform forward and fixing bugs that occur. It includes salespeople who are there to, you know, take on people who want to pay us for the service, and that's great because they make the project sustainable, marketing to gather interest, docs, writers. But we are just 30 people and we all have stations that are, you know, pushing the project forward.\u003C/p>\u003Cp>Absolutely.\u003C/p>\u003Cp>Speaker 1: And then\u003C/p>\u003Cp>Speaker 0: answering community questions, is something that we absolutely are committed to doing, but within the bounds of the time we have. Bear in mind we also are doing other bits. And yeah that's really tricky because also like quite crudely, you know, we have a support offering that, you know, enterprises can pay for and those contexts enable us to hire people to help and support. Right. But still that is just a very small amount of, like, you know, hours that can be spent overall on what is appropriate for the people paying.\u003C/p>\u003Cp>But then when you have the community there as well, the the the the exponential growth of that community and user and users isn't reflected in the stuff that we have For sure. And that's fine, but then but then there's this really come to us one time?\u003C/p>\u003Cp>Speaker 1: Yeah. Exactly.\u003C/p>\u003Cp>Speaker 0: Down in docs and education 100%. And then we can help anyone else who Yeah. Who ask questions who we have time to.\u003C/p>\u003Cp>Speaker 1: Yeah. That's because there's there's also a lot of great questions that sort of toy on the difference between how do I do x versus it would be cool if your ex could do y. You know what I mean? And but yeah, I think right now just to answer the the the actual questions that are coming in, we're we're just focusing on basically tackling it at the source. Just making sure that, like, people don't have to come in to ask the question in the first place.\u003C/p>\u003Cp>Right? Because there's just angles where you said education content.\u003C/p>\u003Cp>Speaker 0: And then just trying our best for the rest. Oh, yeah. Absolutely. The last question I have for you actually is, a little bit more high level, I suppose, which is just how do we decide what to work on in engineering? That's a\u003C/p>\u003Cp>Speaker 1: great one.\u003C/p>\u003Cp>Speaker 0: Like, how do we decide on that?\u003C/p>\u003Cp>Speaker 1: Yeah. No. That is a great question, which is also one that that changed with the growth of the community and the project, obviously. Because when it started out, I mean, especially especially early early days, it was just like whatever the wind blew and it was just like, oh, it feels like feels like insights this week. You know what I mean?\u003C/p>\u003Cp>But but nowadays, no, there's there's way more of a process now. Especially seeing that we have a lot of of feature requests coming in as well. It's it's it's it's a pretty big challenge to figure out, like, which one is the important one to do next, basically. Because like you mentioned, the same goes for engineering. Like, there's only so many people and so many hours in\u003C/p>\u003Cp>Speaker 2: a day.\u003C/p>\u003Cp>Speaker 1: So we have to figure out what's important.\u003C/p>\u003Cp>Speaker 0: What goes into that process?\u003C/p>\u003Cp>Speaker 1: So it is it is mostly community interest honestly, where it's just we have GitHub discussions which is a great aggregator of new ideas. Like, how would it work?\u003C/p>\u003Cp>Speaker 2: How could it work?\u003C/p>\u003Cp>Speaker 1: How should it work? Like, how would it work? How could it work? How should it work? And how can we make it work like that?\u003C/p>\u003Cp>Right? And then the other thing is with up votes, we can basically just have a ranked list of like, here's the top ten things that we would like to see next from that community angle. And at the same time, there's obviously also parts. It's it's A big focus is also stability and performance.\u003C/p>\u003Cp>Speaker 0: Mhmm. Right? Where it's\u003C/p>\u003Cp>Speaker 1: like we can't forget that, you know, most of the engineering work is to make sure that what we have remains the work and gets better, rather than it's not it's not just taking on more stuff, more stuff, more stuff. Right? So that's another tricky balance where it's like we gotta be careful in picking our battles because every time we push out something new now, we gotta make sure that it's good. Yeah. It needs to work.\u003C/p>\u003Cp>Speaker 0: And it's easy to take.\u003C/p>\u003Cp>Speaker 1: And it's easy to maintain, and it works everywhere.\u003C/p>\u003Cp>Speaker 0: Another question, I guess, which was explicitly asked, and it's kind of a really nice segue into it. I said it was the last question. I lied. It's ripping off of it, I guess Oh, good. Is how do we balance kind of feature requests from customers, from people who pay us for directors cloud at an enterprise level or, you know, whatever that might look like.\u003C/p>\u003Cp>Mhmm. Companies who we're who we're wanting to get on board perhaps and community features. I imagine a lot of the time they converge and they are actually similar and it just adds like, you know, oh, well, we can treat that as like 10 upvotes for the sake\u003C/p>\u003Cp>Speaker 1: of impact.\u003C/p>\u003Cp>Speaker 0: But sometimes I imagine there's feature requests that come in from this more like enterprise land Sure. That are just not what the community Not at odds with it, just not and we still only have so many hours to spend. So how how do you make that decision as to\u003C/p>\u003Cp>Speaker 2: That's that's\u003C/p>\u003Cp>Speaker 0: a great point.\u003C/p>\u003Cp>Speaker 1: So so we do still look at\u003C/p>\u003Cp>Speaker 0: it with the\u003C/p>\u003Cp>Speaker 1: same sort of 80 20 lens that we do for basically everything. Where it's like if somebody shows up and they they want us to they wanna do a sponsored feature and they're like, here's what we needed to do. There's still that first layer that we need to look at it. It's like, does that make sense for the bigger picture? Yeah.\u003C/p>\u003Cp>Right? Where it's like, we want this to go out to as many people as possible, but this feels like something that is so hyper specific to one use case, it might not be as appropriate as a core feature. Right? And then it becomes a question of like, okay, are we gonna do it as an extension? Are we just gonna not do it?\u003C/p>\u003Cp>Right? But luckily, so far, what what most of the evidence is basically what you hinted on earlier, where it's like, the needs of the community are inherently the needs of everybody else. Mhmm. Because and it's it's all the same pool. Mhmm.\u003C/p>\u003Cp>Right? So luckily, a lot of the sponsor features and stuff, they come in and they sponsor something that is already on the feature list. So it's basically what you just mentioned where we treat it as, oh, that just, you know, gives it a virtual 10 extra uploads.\u003C/p>\u003Cp>Speaker 0: Yeah. Or however we see how that build that. Yeah.\u003C/p>\u003Cp>Speaker 1: See how that bumps it to, to the Tejulis, basically. Yeah. But it it is a great way to to to sort of tie it back into your question around how do you make it revenue work. Right? I do think it's a great additional revenue stream where it's like we're we get to build the features that we do wanna build already.\u003C/p>\u003Cp>Right? But we we can offer to sort of prioritize them for a fee, and that helps, you know, that helps the revenue side of things. It helps us to be able to fund the building of the feature.\u003C/p>\u003Cp>Speaker 0: Which then everyone can use.\u003C/p>\u003Cp>Speaker 1: And everybody can use\u003C/p>\u003Cp>Speaker 0: it still. And I also like the because of how extensible Director says, if it isn't something that's gonna be useful to everyone but for whatever reason, money or whatever, then we deem that no really we do need to build this to, you know, have this company on board or whatever it may be, that there is a way to do it in a way that doesn't just bloat into Corus\u003C/p>\u003Cp>Speaker 1: as well. Right. Yeah.\u003C/p>\u003Cp>Speaker 0: That is. Just filled extensions. Exactly.\u003C/p>\u003Cp>Speaker 1: Yeah. Really nice. Yep.\u003C/p>\u003Cp>Speaker 0: Well, thanks for taking the time to speak to me.\u003C/p>\u003Cp>Speaker 1: This has\u003C/p>\u003Cp>Speaker 0: been really fun. I've enjoyed hanging out in Brooklyn and ending up at Joe's Pizza. Shout out. Yeah. Shout out.\u003C/p>\u003Cp>It it was a good good slice of\u003C/p>\u003Cp>Speaker 1: pizza. Yeah.\u003C/p>\u003Cp>Speaker 0: But, yeah, thank you very much. I'm I'm gonna try and have a chat with Ben over the next few days Yeah. As we are gathered here in New York City.\u003C/p>\u003Cp>Speaker 1: Absolutely. Sick. Thank you.\u003C/p>\u003Cp>Speaker 0: Hey, Dan. Good to see you.\u003C/p>\u003Cp>Speaker 2: Good to see\u003C/p>\u003Cp>Speaker 0: you, Kevin. Thanks for making the time. Yeah. Even though I totally grabbed you off the side of what we were doing, which is, we've been in New York for the last couple of days. How have you found it?\u003C/p>\u003Cp>Speaker 2: It's amazing. It's always good to get together with the team in person. We had only 1 or 2 before this, so getting to meet new people on the growing team. Excellent.\u003C/p>\u003Cp>Speaker 0: So as you know, I've got some questions from the community that I've gathered from a few different places. I'm gonna start with one for me just to set the scene, which is that we have our 1st board meeting in a couple of weeks and I'm kind of curious how you're feeling about it.\u003C/p>\u003Cp>Speaker 2: Yeah. I mean, there's the normal nerves that come with the first of anything, but really excited. We're hitting our goals and just, excited to see what the board thinks and have that, communication in both directions.\u003C/p>\u003Cp>Speaker 0: Nice. Well, the first question from the community I'm gonna start I'm gonna start with one of the the tricky ones. Sorry. But I've set the scene for it, which is that we, you know, we have some VCs now and, they they wanna make their money back, and I'm kinda curious what vision you sold them on and then kind of how that vision interplays with our community and open source work.\u003C/p>\u003Cp>Speaker 2: Yeah. I mean, so it's obviously super important for us to make revenue, to have the income that supports our staff, to support our our servers and everything that we need to deliver our product and services. And we also have to keep the investors happy. That's just a big part of what we're trying to do, building a sustainable company. My mentality for that has been, you know, we have this enormous breadth of open source users, you know, 21,000,000, Docker downloads right now.\u003C/p>\u003Cp>You don't need to monetize them all. The goal is a rising tide lifts all ships. If we push, the product, if we push the open source offering and a percentage of those need to host with us, they need our professional services, whatever it might be that we commercialized, then they can come take that off their plate, and and we can drive revenue and continue to keep all those investors happy.\u003C/p>\u003Cp>Speaker 0: Yeah. That makes sense. I, kind of on that same trend, I know something in the forefront of community members' minds, knowing full well that, like, we are, you know, we are we are marching towards sustainability through making money. At the moment we have Directus Cloud where, you know, we people can pay us to host Directus for them and handle infrastructure, you know, and hosting costs and rolling updates. But I wanna know, as do members of the community, what else is in your mind in the kind of short, mid term for how we might, you know, make make money?\u003C/p>\u003Cp>Yeah. So I mean the the\u003C/p>\u003Cp>Speaker 2: we have the 3 legged stool as I call it, the milkmaid stool that never wobbles. We've got the core platform which is that, that open source cake that we deliver. But it's not just the infrastructure, you know, the table that cake sits on that we're providing. We're also giving those enterprise exclusives. So the cloud comes with exclusive extensions and features and capabilities, that are just icing on that cake.\u003C/p>\u003Cp>They're not a core part of the software, but those, of course, add a value, to those to the to the cloud service. There's also professional services, support offerings, consulting. There's this whole slew of, things that we go beyond the product, to deliver to those customers as well. And then of course, that third leg of the stool is the marketplace. The extensions is essentially a whole app store, that can have free extensions from the community, from our authoritative engineers, and some of those can be monetized as well.\u003C/p>\u003Cp>Speaker 0: So one thing you mentioned was about having, you know, extensions that are exclusive to cloud and how they're the icing on the cake. And I'm kinda wondering how you at what point can we no longer really call ourselves, an open source product and instead something more like open core or something like that. How do you grapple with that, How do you grapple with that definition?\u003C/p>\u003Cp>Speaker 2: Yeah. So basically, you have a number of metaphors. I'm a big fan of metaphors, but the cake one I think works really well. You have this open source core. You have this idea of the cake, and the cake is, you know, exactly that, but the scale matters.\u003C/p>\u003Cp>You know, if you have this ratio of very little cake and a lot of paid icing on top of it, that's not so tasty. You basically have the whole thing as the cake and then you give it a facade, whatever is the important customized bit for you. You can design it, you lay it out, the color, everything, but that ratio is important. You keep a full cake, that's exactly what it needs to be, you don't need to maintain it, you just kinda buy buy it as is, and then you decorate it, and you make it yours.\u003C/p>\u003Cp>Speaker 0: Yes. Because you definitely maintain cakes.\u003C/p>\u003Cp>Speaker 2: Yeah. That's a full on bakery here.\u003C/p>\u003Cp>Speaker 1: Mhmm. Mhmm.\u003C/p>\u003Cp>Speaker 0: Alright. I'm on to the last couple now, and I think these are possibly the questions you expected, which is, at the time of recording, we are, you know, in the middle of January 2023. What are you excited about in the next year?\u003C/p>\u003Cp>Speaker 2: I think one of the biggest things from a tech I'm a product person, so on the technical side, I think real time data of WebSockets is just enormous. The way that we've built the platform is these this toolkit and all those tools can be used together. So when you add something like real time data with web sockets, you compound things like real time collaborative editing, real time dashboard for insights and flows. I think from a, a product standpoint, that's certainly the biggest. And then that that third leg of the stool, the marketplace, the extensions, having that be have have the perfect DX, you know, developer experience, having a marketplace in the app where you can very seamlessly pull in that icing, those extensions, that's gonna be a huge part of this year.\u003C/p>\u003Cp>Speaker 0: Nice. And I suppose the inverse of that is, you know, you're the CEO of a company that's employing like 30 people ish. What are you worried about?\u003C/p>\u003Cp>Speaker 2: What's in\u003C/p>\u003Cp>Speaker 0: your mind?\u003C/p>\u003Cp>Speaker 2: I I think just that. I mean, 18 months ago, we were it was, Rich and I, you know, a 2 person open source organization, and now we've grown to 30:30 folks and we just hired somebody yesterday. You know, this is it's very challenging to hold on to your ethos, to your vision if you scale very quickly. So growing at the right pace, finding the right team members, which we've been very successful at doing, and just making sure that we don't lose track of our vision, the open source nature, the respectful communication, the collaborative nature of of growing a distributed team across the globe. Those are challenging things to do, but I think so far we're doing it really well.\u003C/p>\u003Cp>Speaker 0: Cool. Thank you so much. And so that was our first community question time. I'm back in Berlin now editing that video. There's the plant I can't keep alive.\u003C/p>\u003Cp>But hopefully, you found that interesting. It's really important to us to just be as transparent open as possible with you, the community that has got us to where we are today and will, you know, take us to where we'll be in the future. We'll run this every few months, so keep the questions coming wherever really we'll see them, and we will bring those into future community question times. I also thought this would be a really good chance to just kinda say that with Wrike at least We'll we'll do this monthly, you know, and we might dig into some more technical topics around technical decisions that are being made and technical progress and features that are being built. But yeah, hopefully you found this good and I will see you next time.\u003C/p>","Hello there. My name is Kevin. I run developer relations at Directus, and I'm in New York City for the first time since the start of the pandemic, to meet the team. So that's really exciting. And so I thought I would take this opportunity to meet up with our cofounders, Ben and Reich, and ask them a bunch of questions that you've posed. That's me making sure I don't get knocked down by a car. Ask a ton of your questions, and this is just the start. We'll be doing this every few months. But I'm gonna go meet with Ryke, and then we are gonna ask him some questions. So one of the first questions we had in is just what is the value community at the end of the day, it's the the foundation where everything is built on at the moment, honestly. Feedback loop is what what makes the project what it is, really. Yeah. Because without the feedback, like, we're just flying blind to a degree. We're building stuff for us. And And and at the end of day, the goal is to help as many people as we can. So we we need that you know, it's a symbiotic thing, really. Yeah. Absolutely. So I suppose one of the slightly more tricky questions perhaps is you're gracing yourself. Is, what are some of the, I don't know, mistakes or missteps that you think we have made as directors? Oh, boy. I suppose scope to engineering, but maybe more broadly Yeah. To date. That's a great question. I I I think one of the one of the bigger things that comes to mind is that we've launched a lot of stuff out of sort of enthusiasm, out of proof of concepts. Right? Where it's just like, we were noodling around with a new idea and it turns out that the proof of concept was already, you know, kinda there. And then you launch the proof of concept to to a GitHub branch or something and then people got excited and then you end up just pushing it out because it's like, oh, everybody already likes it. Let's just do it. Right? But then after the fact you realize like There's a maintenance button or it needs to be built. Built. Right. Yeah. We hadn't quite figured out the full spec yet, so now it's like, oh, but it should have done this. Yeah. Yeah. Or it should have worked like that. So like taking that slower, slower, has has been a big I've seen you do that we wanna push out, maintain Yeah. For sure. Properly. So I suppose there's definitely, growth because there's out of that. There's so many fun things that we can do and that we have done and that we're trying out and whatnot. And then it's like, oh, but how would that work for real though? Yeah. Or at scale. Or at scale Yeah. Or how does that Yeah. Exactly. So even now with like some of the new big features that we're already working on with like web sockets and stuff, it's like if you really just sit down and just think about what that means, it's like, oh, okay. Yeah. Yeah. There's just so much more that that that shows up and it's it's sometimes easy to miss, you know, the bigger picture if you just get excited about about a new feature like that. Reason with that Jet GPT stuff as well, wherever Yeah. Everybody's like, oh, what if we just have AI? It's like, woah, woah, woah. When you build projects for yourself, you really just have to have like this this implementation that doesn't have to work at scale. Yeah. But we're having to think about what it means to build features that not only all of our all of our community can use Yeah. In open source in their own deployment, but also that we're gonna host and have Yep. Have tens of thousands of users have access to right this minute and the implications of that. Thanks for joining me in my office. Very rude for you to be eating on the job, if I may say so myself. Mark, I've got some questions for you. Mhmm. The first one, which is a little tricky, but I think very fair and very in the forefront of many of our community members' minds, which is there is a risk when building a business that we are then going to struggle to maintain and grow the community that's got us to where we are today. And I'm kinda wondering what you think about that. Yeah. No. Like I said, it is it is a delicate delicate balancing act really, where it's like, you know, the community side of things, it it grows the project and user base to what it is right now, but at the same time, to make that sustainable over time, we gotta make enough revenue or enough profit to really get that, you know, make that work long time. Because the last thing we wanna do now is, you know, be sort of flesh in the pen and die out immediately. Yeah. We want people to, like, rely on this project, not just for a year or 2 years, No. Exactly. We we wanna be there reliable for as long as you need us. Right? And in order to do that, we have to make revenue. That's that's just the way it is, you know. Everybody gotta pay their rent. We gotta pay The one's up right now. There's there's loads of cost when it comes to to building software at this scale, and yet, you know, if you give everything away in open source, you you don't make revenue out of it. So it's a very delicate balance I guess. But I'm I'm I'm hopeful that in this dual sort of open source slash SaaS model, we can we can still help out with the parts that are still tricky. Even though the software you already can use, the the tricky bit is still, you know, hosting and doing it at scale for production use, backups and everything. So I do really believe that sort of that SaaS model next to having the open source code base is a sustainable thing. Yeah. I mean, not turning our back from this community either like Oh, absolutely. Critical because without them, like, we we don't have the adoption. We don't have Exactly. The the proof, the social proof that this makes sense. Yeah. That makes sense. Before I got here, the core team was really hot at answering people's questions when they came in on Discord. And you know community members have quite rightly noticed that starting to trail off a bit and I'm wondering if you have, any thoughts or or reasons for this? I know we've started to talk about it a bit, but given this context of us sitting here and it being a question that we got from the community, I thought this would be a great arena to talk about it again. Yeah. Absolutely. And I complicated question. Right? Where it's like, early days, you know, smaller open source community. Therefore, the amount of questions that you get, I could just step into discord, you know, in the morning and just answer basically all of the open ones and then start moving on with my day. Whereas now, we're at a point where it would basically be a 3 x full time job to to really, you know, give it the attention and love that it deserves. And then the other thing is we did notice that at certain points, like, the the more duplicated or similar questions you get, it becomes, more of a challenge to sort of aggregate the similar ones together first, and then really just focus on explaining it well and sort of permanently when it comes to, like, docs and videos and stuff like that. So I think the focus shifted a little bit from trying to help everybody out individually to trying to help out Everyone. The community as a whole at the same time. So that means aggregating all the questions together first and then figuring out the priority of like, okay, what topics are often asked about? That's also why flows came up just now. Because we we know we get a lot of questions around you. How or how can you debug that better and that sort of thing. So really just taking the time to to first aggregating it and then focusing on the more quality content around that rather than trying to do one off, answer answer. We're also just, what, like 30 ish people? Oh, that too. Yeah. Yeah. I mean, I think that's a huge thing. It's like we're 30 people. Yeah. And those 30 people are, you know, engineers who are working on pushing the platform forward and fixing bugs that occur. It includes salespeople who are there to, you know, take on people who want to pay us for the service, and that's great because they make the project sustainable, marketing to gather interest, docs, writers. But we are just 30 people and we all have stations that are, you know, pushing the project forward. Absolutely. And then answering community questions, is something that we absolutely are committed to doing, but within the bounds of the time we have. Bear in mind we also are doing other bits. And yeah that's really tricky because also like quite crudely, you know, we have a support offering that, you know, enterprises can pay for and those contexts enable us to hire people to help and support. Right. But still that is just a very small amount of, like, you know, hours that can be spent overall on what is appropriate for the people paying. But then when you have the community there as well, the the the the exponential growth of that community and user and users isn't reflected in the stuff that we have For sure. And that's fine, but then but then there's this really come to us one time? Yeah. Exactly. Down in docs and education 100%. And then we can help anyone else who Yeah. Who ask questions who we have time to. Yeah. That's because there's there's also a lot of great questions that sort of toy on the difference between how do I do x versus it would be cool if your ex could do y. You know what I mean? And but yeah, I think right now just to answer the the the actual questions that are coming in, we're we're just focusing on basically tackling it at the source. Just making sure that, like, people don't have to come in to ask the question in the first place. Right? Because there's just angles where you said education content. And then just trying our best for the rest. Oh, yeah. Absolutely. The last question I have for you actually is, a little bit more high level, I suppose, which is just how do we decide what to work on in engineering? That's a great one. Like, how do we decide on that? Yeah. No. That is a great question, which is also one that that changed with the growth of the community and the project, obviously. Because when it started out, I mean, especially especially early early days, it was just like whatever the wind blew and it was just like, oh, it feels like feels like insights this week. You know what I mean? But but nowadays, no, there's there's way more of a process now. Especially seeing that we have a lot of of feature requests coming in as well. It's it's it's it's a pretty big challenge to figure out, like, which one is the important one to do next, basically. Because like you mentioned, the same goes for engineering. Like, there's only so many people and so many hours in a day. So we have to figure out what's important. What goes into that process? So it is it is mostly community interest honestly, where it's just we have GitHub discussions which is a great aggregator of new ideas. Like, how would it work? How could it work? How should it work? Like, how would it work? How could it work? How should it work? And how can we make it work like that? Right? And then the other thing is with up votes, we can basically just have a ranked list of like, here's the top ten things that we would like to see next from that community angle. And at the same time, there's obviously also parts. It's it's A big focus is also stability and performance. Mhmm. Right? Where it's like we can't forget that, you know, most of the engineering work is to make sure that what we have remains the work and gets better, rather than it's not it's not just taking on more stuff, more stuff, more stuff. Right? So that's another tricky balance where it's like we gotta be careful in picking our battles because every time we push out something new now, we gotta make sure that it's good. Yeah. It needs to work. And it's easy to take. And it's easy to maintain, and it works everywhere. Another question, I guess, which was explicitly asked, and it's kind of a really nice segue into it. I said it was the last question. I lied. It's ripping off of it, I guess Oh, good. Is how do we balance kind of feature requests from customers, from people who pay us for directors cloud at an enterprise level or, you know, whatever that might look like. Mhmm. Companies who we're who we're wanting to get on board perhaps and community features. I imagine a lot of the time they converge and they are actually similar and it just adds like, you know, oh, well, we can treat that as like 10 upvotes for the sake of impact. But sometimes I imagine there's feature requests that come in from this more like enterprise land Sure. That are just not what the community Not at odds with it, just not and we still only have so many hours to spend. So how how do you make that decision as to That's that's a great point. So so we do still look at it with the same sort of 80 20 lens that we do for basically everything. Where it's like if somebody shows up and they they want us to they wanna do a sponsored feature and they're like, here's what we needed to do. There's still that first layer that we need to look at it. It's like, does that make sense for the bigger picture? Yeah. Right? Where it's like, we want this to go out to as many people as possible, but this feels like something that is so hyper specific to one use case, it might not be as appropriate as a core feature. Right? And then it becomes a question of like, okay, are we gonna do it as an extension? Are we just gonna not do it? Right? But luckily, so far, what what most of the evidence is basically what you hinted on earlier, where it's like, the needs of the community are inherently the needs of everybody else. Mhmm. Because and it's it's all the same pool. Mhmm. Right? So luckily, a lot of the sponsor features and stuff, they come in and they sponsor something that is already on the feature list. So it's basically what you just mentioned where we treat it as, oh, that just, you know, gives it a virtual 10 extra uploads. Yeah. Or however we see how that build that. Yeah. See how that bumps it to, to the Tejulis, basically. Yeah. But it it is a great way to to to sort of tie it back into your question around how do you make it revenue work. Right? I do think it's a great additional revenue stream where it's like we're we get to build the features that we do wanna build already. Right? But we we can offer to sort of prioritize them for a fee, and that helps, you know, that helps the revenue side of things. It helps us to be able to fund the building of the feature. Which then everyone can use. And everybody can use it still. And I also like the because of how extensible Director says, if it isn't something that's gonna be useful to everyone but for whatever reason, money or whatever, then we deem that no really we do need to build this to, you know, have this company on board or whatever it may be, that there is a way to do it in a way that doesn't just bloat into Corus as well. Right. Yeah. That is. Just filled extensions. Exactly. Yeah. Really nice. Yep. Well, thanks for taking the time to speak to me. This has been really fun. I've enjoyed hanging out in Brooklyn and ending up at Joe's Pizza. Shout out. Yeah. Shout out. It it was a good good slice of pizza. Yeah. But, yeah, thank you very much. I'm I'm gonna try and have a chat with Ben over the next few days Yeah. As we are gathered here in New York City. Absolutely. Sick. Thank you. Hey, Dan. Good to see you. Good to see you, Kevin. Thanks for making the time. Yeah. Even though I totally grabbed you off the side of what we were doing, which is, we've been in New York for the last couple of days. How have you found it? It's amazing. It's always good to get together with the team in person. We had only 1 or 2 before this, so getting to meet new people on the growing team. Excellent. So as you know, I've got some questions from the community that I've gathered from a few different places. I'm gonna start with one for me just to set the scene, which is that we have our 1st board meeting in a couple of weeks and I'm kind of curious how you're feeling about it. Yeah. I mean, there's the normal nerves that come with the first of anything, but really excited. We're hitting our goals and just, excited to see what the board thinks and have that, communication in both directions. Nice. Well, the first question from the community I'm gonna start I'm gonna start with one of the the tricky ones. Sorry. But I've set the scene for it, which is that we, you know, we have some VCs now and, they they wanna make their money back, and I'm kinda curious what vision you sold them on and then kind of how that vision interplays with our community and open source work. Yeah. I mean, so it's obviously super important for us to make revenue, to have the income that supports our staff, to support our our servers and everything that we need to deliver our product and services. And we also have to keep the investors happy. That's just a big part of what we're trying to do, building a sustainable company. My mentality for that has been, you know, we have this enormous breadth of open source users, you know, 21,000,000, Docker downloads right now. You don't need to monetize them all. The goal is a rising tide lifts all ships. If we push, the product, if we push the open source offering and a percentage of those need to host with us, they need our professional services, whatever it might be that we commercialized, then they can come take that off their plate, and and we can drive revenue and continue to keep all those investors happy. Yeah. That makes sense. I, kind of on that same trend, I know something in the forefront of community members' minds, knowing full well that, like, we are, you know, we are we are marching towards sustainability through making money. At the moment we have Directus Cloud where, you know, we people can pay us to host Directus for them and handle infrastructure, you know, and hosting costs and rolling updates. But I wanna know, as do members of the community, what else is in your mind in the kind of short, mid term for how we might, you know, make make money? Yeah. So I mean the the we have the 3 legged stool as I call it, the milkmaid stool that never wobbles. We've got the core platform which is that, that open source cake that we deliver. But it's not just the infrastructure, you know, the table that cake sits on that we're providing. We're also giving those enterprise exclusives. So the cloud comes with exclusive extensions and features and capabilities, that are just icing on that cake. They're not a core part of the software, but those, of course, add a value, to those to the to the cloud service. There's also professional services, support offerings, consulting. There's this whole slew of, things that we go beyond the product, to deliver to those customers as well. And then of course, that third leg of the stool is the marketplace. The extensions is essentially a whole app store, that can have free extensions from the community, from our authoritative engineers, and some of those can be monetized as well. So one thing you mentioned was about having, you know, extensions that are exclusive to cloud and how they're the icing on the cake. And I'm kinda wondering how you at what point can we no longer really call ourselves, an open source product and instead something more like open core or something like that. How do you grapple with that, How do you grapple with that definition? Yeah. So basically, you have a number of metaphors. I'm a big fan of metaphors, but the cake one I think works really well. You have this open source core. You have this idea of the cake, and the cake is, you know, exactly that, but the scale matters. You know, if you have this ratio of very little cake and a lot of paid icing on top of it, that's not so tasty. You basically have the whole thing as the cake and then you give it a facade, whatever is the important customized bit for you. You can design it, you lay it out, the color, everything, but that ratio is important. You keep a full cake, that's exactly what it needs to be, you don't need to maintain it, you just kinda buy buy it as is, and then you decorate it, and you make it yours. Yes. Because you definitely maintain cakes. Yeah. That's a full on bakery here. Mhmm. Mhmm. Alright. I'm on to the last couple now, and I think these are possibly the questions you expected, which is, at the time of recording, we are, you know, in the middle of January 2023. What are you excited about in the next year? I think one of the biggest things from a tech I'm a product person, so on the technical side, I think real time data of WebSockets is just enormous. The way that we've built the platform is these this toolkit and all those tools can be used together. So when you add something like real time data with web sockets, you compound things like real time collaborative editing, real time dashboard for insights and flows. I think from a, a product standpoint, that's certainly the biggest. And then that that third leg of the stool, the marketplace, the extensions, having that be have have the perfect DX, you know, developer experience, having a marketplace in the app where you can very seamlessly pull in that icing, those extensions, that's gonna be a huge part of this year. Nice. And I suppose the inverse of that is, you know, you're the CEO of a company that's employing like 30 people ish. What are you worried about? What's in your mind? I I think just that. I mean, 18 months ago, we were it was, Rich and I, you know, a 2 person open source organization, and now we've grown to 30:30 folks and we just hired somebody yesterday. You know, this is it's very challenging to hold on to your ethos, to your vision if you scale very quickly. So growing at the right pace, finding the right team members, which we've been very successful at doing, and just making sure that we don't lose track of our vision, the open source nature, the respectful communication, the collaborative nature of of growing a distributed team across the globe. Those are challenging things to do, but I think so far we're doing it really well. Cool. Thank you so much. And so that was our first community question time. I'm back in Berlin now editing that video. There's the plant I can't keep alive. But hopefully, you found that interesting. It's really important to us to just be as transparent open as possible with you, the community that has got us to where we are today and will, you know, take us to where we'll be in the future. We'll run this every few months, so keep the questions coming wherever really we'll see them, and we will bring those into future community question times. I also thought this would be a really good chance to just kinda say that with Wrike at least We'll we'll do this monthly, you know, and we might dig into some more technical topics around technical decisions that are being made and technical progress and features that are being built. But yeah, hopefully you found this good and I will see you next time.",[169,170,171],"2d8c17b3-6be6-4bce-913b-01c5c2ca556b","a96cc94f-9d69-42fb-8ca4-826ea9f12c36","b6e2f298-dfab-4e48-9811-bba285a16053",[],{"id":134,"number":135,"show":122,"year":136,"episodes":174},[138,139],{"id":139,"slug":176,"vimeo_id":177,"description":178,"tile":179,"length":180,"resources":181,"people":183,"episode_number":187,"published":188,"title":189,"video_transcript_html":190,"video_transcript_text":191,"content":8,"seo":8,"status":130,"episode_people":192,"recommendations":196,"season":197},"5-years-time","924306486","How to we balance flexibility with responsibility? What does Directus in 5 years look like? What does sustainable open source look like while trying to remain fair?","9d9c1967-64b3-4990-a09a-9653152a5380",56,[182],{"name":152,"url":153},[184,185,186],{"name":156,"url":157},{"name":159,"url":160},{"name":162,"url":163},3,"2024-03-18","5 Years Time","\u003Cp>Speaker 0: Hello, everyone, and welcome to community question time. This is actually the third one that we've done, since I started actually. But I'm really excited to be inviting our founders here, to give you the chance to ask about Directus, the company behind Directus, the future, the vision. And, don't don't give these guys any slack. Don't give these guys any slack.\u003C/p>\u003Cp>Come come with what's on your mind. We are a very, very transparent bunch, and this is one of those times where we open the floor. Just as we are kicking off, would you 2 like to give just a brief, description of your of your roles here?\u003C/p>\u003Cp>Speaker 1: Sure. Yeah. That's easy. I'll go first. I am the CEO and founder of Directus.\u003C/p>\u003Cp>I created it originally 20 years ago in 2004. It's been exciting the last couple of months, and we can finally say it's been around for 20 years.\u003C/p>\u003Cp>Speaker 2: Indeed.\u003C/p>\u003Cp>Speaker 1: And Rich joined, 8 years ago, something like that. Oh, yeah. He's our colleague. Introduce himself as cofounder, but that's my my role, I guess.\u003C/p>\u003Cp>Speaker 2: It's awesome. I'm, Greg Van Zonthe, CTO and cofounder. So where Ben created the platform in 2004, I feel like I created the platform in 2016 instead of again.\u003C/p>\u003Cp>Speaker 1: You you actually create the platform. I create, like, an idea with, like, a like, a a mock up or more\u003C/p>\u003Cp>Speaker 0: based on\u003C/p>\u003Cp>Speaker 1: what you\u003C/p>\u003Cp>Speaker 2: did. So we've we've both co created the platform in 2016 that I think is the way to describe it.\u003C/p>\u003Cp>Speaker 0: Yeah. This iteration of it at least.\u003C/p>\u003Cp>Speaker 2: This iteration. Yeah. Exactly. Yeah. Exactly.\u003C/p>\u003Cp>Yeah. So I lead the technical crew in the technical sort of implementation vision.\u003C/p>\u003Cp>Speaker 0: And so for those few people who are in the chat, the point of this, event, I suppose, is that we run it periodically, and there's a chance for it to you it is a chance for you to ask, any questions that are on your mind about the wider project. That could be about the company. It could be around the future of directors as a project, or anything else really. So do pipe in. I've got chat open right here.\u003C/p>\u003Cp>I'll keep looking at it, and I will be facilitating those questions. Yeah. So, Ben, in the chat, I have to admit yesterday, I was so confused because I thought you were you were this, Ben. Yeah. That makes it makes way more sense now.\u003C/p>\u003Cp>Speaker 1: So, while On that note, I had a, sort of a strategic, call yesterday. We were coordinating a call and there were 4 Bens on the call. I I my name's Keith. It was like, there was 5 people on the call and 4 of them were Bens, which seems pretty rare. Yeah.\u003C/p>\u003Cp>Speaker 0: That's a bad\u003C/p>\u003Cp>Speaker 2: thing I'll ever face, luckily.\u003C/p>\u003Cp>Speaker 0: How did you how did you last names?\u003C/p>\u003Cp>Speaker 1: No. Because there's 2 Ben H's. So, yeah, it got it got slippery, but, no, it was it was fine.\u003C/p>\u003Cp>Speaker 0: You managed to to make it work and didn't promise to do anything on behalf of others. So there you go. I'll put the screen. Yeah. Which one?\u003C/p>\u003Cp>So, yes, once again, please do come with questions. But, before, you know, there are any asked, I wanna kinda ask about we just launched the marketplace beta, and I wanna talk a little bit about, Ben, your, your narrative that you use around the 3 legged store and how the marketplace fits into that and how the marketplace is actually a really critical part to the success of our project going forward?\u003C/p>\u003Cp>Speaker 1: Yeah. No. That's that's a fun one to talk about. I mean, it's I I I'm obviously a big fan of metaphors and initialisms, acronyms. I I'd say that this one is more of it's not an acronym, but they have, like, the idea of a backronym where you have the thing first and then you sort of retrofit the, the metaphor afterwards.\u003C/p>\u003Cp>I think this is sort of that. Like, we knew that there's 3 big pieces to the to the company. And then this idea of a of a stool, like a a milkmaid stool, I think is what they're called, which has 3 legs. The idea is that they don't wobble because they have 3 legs. So it just kinda it's a nice visualization.\u003C/p>\u003Cp>Yeah. Of course, you want a nonwobbly product, a nonwobbly team, and a nonwobbly company. So the 3 pillars that support us, we start obviously with the core software. That's what, you know, Rich and I have been working on for for the better half of the last decade. And that is the key to everything that we're doing.\u003C/p>\u003Cp>But, of course, you need to deploy that and we need to make that as easy as possible. It's great to self host, but we wanted to create our cloud service, that offering. That was the 2nd leg. We have a single tenant cloud, a multi tenant cloud, and, of course, looking at all sorts of deployment options. And then the 3rd leg you know, the 3rd pillar of the company has been, sort of this if if we we have something called the 80 20 rule.\u003C/p>\u003Cp>It's really important for us to make sure that our software doesn't get bloated. We don't try and do too much and become like a monolithic system. We're trying to balance between sort of the the really the nice aspects of monolithic, approaches and then the microservice approach, which is great, but has a lot of complexity. We're trying to find that balance. And in this 80 20 rule, we say that the core software should satisfy 60, 80% of what you need, hopefully, really quickly, instantly.\u003C/p>\u003Cp>You point us at a database and you get it.\u003C/p>\u003Cp>Speaker 0: But, of\u003C/p>\u003Cp>Speaker 1: course, you still need to develop your full solution to a 100% and extensions and configuration and, you know, all these other pieces, your custom logic and code, that's the last 20%. And it's great to give people the modularity and extensibility of our core software. But, you know, doing that in isolation isn't nearly as much fun as being able to build an extension, send it out into a marketplace where our huge community can browse those extensions, learn more about them, maybe have ideas they didn't even know they had. It also motivates the maintainers of these extensions who are now seeing like, oh, wow. This is really popular.\u003C/p>\u003Cp>I'm getting all these downloads and installs and I get some visibility. It gives them more of a motivation to keep pushing and working on the, their projects, their extensions. So the Marketplace is the 3rd pillar, core, cloud and and Marketplace. And this is what really helps us get more, inspiration for use cases of the platform and get to a 100% faster. Again, leveraging not just our core software but everything else the community is generating, around the world.\u003C/p>\u003Cp>Speaker 0: Right. I have a thank you for that, by the way, Ben. So, right, I have a question for you. So earlier today, you, published a blog post called what we considered when building a marketplace, and I've actually just pushed that into the little, live highlights thing at the bottom of this page. Although I'm watching the page over here and it's not appeared, so your mileage may vary, but it's on our blog.\u003C/p>\u003Cp>And, some of the really early feedback that's coming about the marketplace right now today has been around this, What word am I looking for? This balance between giving people the raw power to make their own choices versus limiting the ability for something to go wrong to either stop foot guns or to look out for people's security, stuff like that. This is ongoing. This is a literally ongoing thread that's happening in Discord right now. It's been really busy in our marketplace beta channel.\u003C/p>\u003Cp>But I wondered if you could talk a little bit about how you perceive the balance between flexibility and, you know, control versus a duty perhaps could even be the word to keep people safe and happy?\u003C/p>\u003Cp>Speaker 2: Yeah. I mean, that's a great question. So, this is a topic I could easily ramble on for 2 hours. So let me try to\u003C/p>\u003Cp>Speaker 0: Well, I'll I'll I'll pull you in in 5. Yeah. You have one. Go. Sure.\u003C/p>\u003Cp>So so\u003C/p>\u003Cp>Speaker 2: the first so the the first little bit of back information that is required there is, like, where does an extension even run-in the first place? Like, where do you ship that code, and where does it run? So I've seen platforms, Shopify comes to mind, that run it off off-site completely, and everything is webhooks back and forth. Other platforms, they they rely on sort of Docker containers and try to isolate it that way. In our case, we've made the decision early days to say, okay.\u003C/p>\u003Cp>For extensions you built yourself for your own project, you can just tap into whatever you need from the whole system. You're basically just full access. You can do whatever you want, because you're the one creating these extensions, and therefore, you can trust yourself not to do anything stupid. That's that's sort of\u003C/p>\u003Cp>Speaker 0: In theory. In theory. Theory.\u003C/p>\u003Cp>Speaker 2: Right. That was sort of the original security model of extensions because they were sort of meant for, like, you know, you built your own hook to to extend your copy of directives. Right? When it comes to this marketplace now, we're making it super easy to install stuff made by somebody else, right, on both cloud or self hosted. It doesn't matter.\u003C/p>\u003Cp>It's all the same. But that now means that you no longer really know what's going on under the hood. Right? So for extensions in the previous paradigm, they can access effectively anything. They can access anything in the database, anything on your local machine where you're running direct is because you can, you know, access the file system, the network, any of those pieces, which then also means that if that's the thing you're installing from somebody else, at that point, all bets are off.\u003C/p>\u003Cp>You know, anything anything can happen. And that is, for extensions developers, really nice because you can do whatever and make it really cool. But it's for extension consumers, really scary because you really just don't know what you're up against. Right? So the the balancing act that you were talking about, the question that we have to ask ourselves is, like, when it comes to a marketplace, on which of those two sites are we gonna sort of lead?\u003C/p>\u003Cp>Right? Are we gonna say, well, the marketplace is just completely open ended. All bets are off. Good luck. Save yourself.\u003C/p>\u003Cp>It's at your own risk. Or are we gonna say, well, you know, now that you're browsing it through Directus and installing it through Directus as the end user, you have a certain expectation of trust of, like, oh, what is presented to me here in this marketplace, I can install and use knowing that it won't blow up my whole project or send all my stuff to some malicious active third party or mine a bunch of crypto or something. Right? So for this initial release, we're erring on that side of, you know, user trust and security first. Right?\u003C/p>\u003Cp>So we're saying, by default, we're relying on the sandbox model that we implemented, by saying anything the extension wants to do upfront in static file, it has to define the stuff it needs access to. So it's like, oh, my extension wants to talk to this exec third party API. And then, therefore, the extension can now do it through a couple of methods that we give it. Right? But, therefore, the for the end user, there's a very clear contract of this is exactly the stuff that the extension can access outside of, you know, the information that's passed in through a Hooper filter or something.\u003C/p>\u003Cp>And that is you know, it's it's an in it's a very tricky balance as you've seen in that marketplace beta channel, for which thanks for the folk listening in. It's always fantastic to have those discussions. Because now the question becomes like, oh, but I really wanna import, you know, I wanna import libraries to do stuff with the file system, or I wanna use third party SDKs that might not use fetch or use some other networking thing, and now those don't work, which is definitely a tricky balance. Right?\u003C/p>\u003Cp>Speaker 0: Yeah.\u003C/p>\u003Cp>Speaker 2: But right now, we're really erring on that side of user trust and security first and then seeing, okay, where are the improvements in that sandbox model to to unlock all of that power again, so to speak, to get it back up to that that almost full power nature of of the extensions model.\u003C/p>\u003Cp>Speaker 0: And I think that's part of it too. I think this, it's really easy to look at, the sandbox x SDK and look at marketplace and the decisions made there and completely link them. Okay. The marketplace doesn't do x. That's an issue.\u003C/p>\u003Cp>But maybe the issue and this was actually the core the core, friction in here with these 2 competing narratives. 1 around marketplace doesn't let you install x and the other saying, well, actually, it's just that you can't build x using the sandbox SDK. And that's a solution which also honors the security model we've created. Another interesting thing though, that you said, which I will agree with and challenge, if I may, which is once you once we are providing the interface to browse and install the extensions, there is a contract to a degree that those things are trustworthy. That isn't the case in every, open listing marketplace setup.\u003C/p>\u003Cp>You can blow up a WordPress installation by installing a DUD plug in. So as a decision made, I will agree with you by saying I feel the same way in documentation as the reason that I will resist, at least for the time being, AI generated code snippet examples because because once it's provided through our interface, it's it's ours.\u003C/p>\u003Cp>Speaker 2: I I think the WordPress example is a really, really good one that has come up in the research with the team around the subject as well, of course. Because if you install, WordPress yourself on your own server, it's completely free. Like, the old bets are off, it's do whatever mode. Right? If you use wordpress.com or, like, the hosted equivalent of, you know, a WordPress installation, now there is way more constraints in place.\u003C/p>\u003Cp>Right? They only\u003C/p>\u003Cp>Speaker 0: is that?\u003C/p>\u003Cp>Speaker 2: Some of the yeah. It it's, like, for the same reason. I I I of course, I don't know the internal decision making there, but I'm assuming it's for the same reasoning that is, like, you know, you're using, you know, WordPress in a sort of controlled environment that you're paying for. You need to be able to trust that this stays alive. And then the stuff that you're installing is trustworthy and will work the way you would expect it to.\u003C/p>\u003Cp>Right?\u003C/p>\u003Cp>Speaker 1: Again, like, there's the self hosted versus our cloud and having to make sure that we have things really tightly scoped in cloud. But we have a multi tenant cloud and a single tenant cloud. A single tenant is our enterprise. And peep, those customers can upload custom extensions. So they do have workarounds, but we do have to make sure when you're sharing hardware in a multi tenant configuration, you know, noisy neighbors and making sure that people aren't, you know, scooting over into other people's projects.\u003C/p>\u003Cp>We have to keep that really tightly tightly scoped.\u003C/p>\u003Cp>Speaker 2: That too.\u003C/p>\u003Cp>Speaker 0: That's also that's also, of course, a decision in how we implement extensions. You know, we spoke briefly in in the past internally about different models for even offering extensibility. I believe Shopify might be a platform where as an as a extension or plug in, I'm not sure what word they use. Author, you host an external service, which is that you host it one instance of it. And then each of the instances can plug into that.\u003C/p>\u003Cp>And then it's a little bit the risk is different because all you're making is external HTTP requests. So there is also a decision in our implementation.\u003C/p>\u003Cp>Speaker 2: Contract model then. Right? Because you know the request going to the extension, and you know that the output is in a certain format that you're gonna work with. And whatever happens in that black box over there, you don't have to care about anymore because it's hosted off-site. Right?\u003C/p>\u003Cp>So it's a different model, with pros and cons of their own for sure.\u003C/p>\u003Cp>Speaker 0: So there's a question in the chat around, will third party modules ever be available? I think we're getting a little bit into, like, the weeds, and I want to pull that, if I may, into the marketplace beta channel where we can have, like, a more meaningful back and forth around the answer to that and the nuances of that. And thank you to Benny for kinda stepping in and giving, like, a cliff notes answer, but we can talk more about that, of course. Still on the marketplace. And by the way, I will keep going with questions until we run out of time for absence of other questions in the chat.\u003C/p>\u003Cp>So please do do come with them. But, talking more about the marketplace, Ben, I'm curious about how you talk about the opportunity that the marketplace brings when you're talking to potential customers, our board, our investors, people people with that level of, you know, stake in the director's project, because where it is today and where it may be in the future may not be the same. I'm kinda curious how you talk about that.\u003C/p>\u003Cp>Speaker 1: Yeah. I mean, there's a couple different things. I think one is, the moment. You know, Directus has a lot it's like a back end as a service, which you it's just a database. You can do anything.\u003C/p>\u003Cp>You know, there's so many use cases. So, how do you give people inspiration for what it could be used for? Because I I kind of imagine it. Directus is like this big warehouse of opportunity and and potential, but people come in through one door, like one Google search or one, you know, thinking of what the platform is, whether that's a headless CMS or back end as a service. And then I think similar to something like Airtable, you know, they have 10 1,000 templates and all these, you know, options for what you can do in their sort of spreadsheet service.\u003C/p>\u003Cp>When you get into, like, a data service, I think that our marketplace will offer the same amount of like eye opening of you come in. It's like, oh, I'm gonna go get some extensions for making my content authoring experience better. What is this? This is like a stock you know, it's for the stock market or this could be, you know, anything any off the wall example that somebody came up with for their edge case. Now you're thinking in your head, oh, I do something similar.\u003C/p>\u003Cp>I wonder if I could manage that data and direct this and kind of unifies a few more systems. You know, reduce that complexity and cost. And, of course, the answer is usually yes. You can manage that in Directus, but it takes that sort of eye opening moment. And I think the marketplace is a great place to explore that potential.\u003C/p>\u003Cp>So that's one thing that comes up a fair amount. Another one is keeping things unopinionated. In a lot of our decks and the way we talk about Directus, we use the word unopinionated or agnostic. Again, we've built platforms that you know, Directus powers things for Fortune 10, Fortune 100 companies, you know, millions and millions of downloads, tens of millions. And you have to support their stack.\u003C/p>\u003Cp>You have to support their skill set. You have to support their languages. And I think it's easy to start making decisions early on that impact and restrict that flexibility for people to use their make their own decisions. And especially when we're looking at emergent things like AI that are so powerful, and you can you can really integrate and people are putting them right into the core software. Sometimes that might make sense if you are being more, opinionated in your in your builds.\u003C/p>\u003Cp>But we wanna make sure that we stay flexible and agnostic. And so for things like AI or things where you have to put in a proprietary API key, all that just makes sense in an in a marketplace because you can start to say, okay. This is this flavor of this functionality and you can go use a paid service or a free service. You can, you you know, integrate whatever you want. So I think that's a nice escape hatch to build in third party service integrations without us as maintainers saying this is, you know, we're we use Discord internally, you know.\u003C/p>\u003Cp>But obviously, lots of people use Slack, you know. You start to have to start making decisions. We wanna keep that as open as possible for as long as possible. Extension for us to do that.\u003C/p>\u003Cp>Speaker 0: A question we're good. A question for you, Reich, kind of leading on from that to a degree, and actually a comment I saw in the community, I think, yesterday or the day before that peaked my interest in in preparation for this event. Someone said, you know, oh, I would like this functionality that doesn't exist today. Someone says groovy. You can build that as an extension, not an issue.\u003C/p>\u003Cp>And the response they had was, you know, cool. It could be built or provided as an extension, but this feels like the kind of thing that should be available in the core software. And at the same time, when we've spoken recently, I know one of your upcoming, you know, or one of your motivations generally is actually taking some of the core functionality in directors today and explicitly removing it from the core and providing it as an extension. And I'm curious how how you feel about this and and what the basis is for that thought. What does and, Benny, I see your question there.\u003C/p>\u003Cp>I have one more bit of context following on from this question, then I'll ask that because I think there's a bit more, to it. How do you feel about that? I think people expect that they get a call that that is more capable, but we have this extensions model and you're trying to even slim down the call. So could you talk a bit\u003C/p>\u003Cp>Speaker 1: about that?\u003C/p>\u003Cp>Speaker 2: So the one of the technical challenges is that we find ourselves trying to build a thing that can do anything for everybody everywhere. So, therefore, what do you include? Everything. Right? That is sort of the slippery slope that you find yourself in.\u003C/p>\u003Cp>So what we're sort of aiming to do now is, like, the code base of the, you know, the direct to its internals is turning into a bit of a bigger monolith because we have so many individual features and parts to it. So the strategy there is gonna be twofold, is 1, to modularize the code base. So if it's included around, it doesn't matter as an extension. It's just, like, to keep the individual responsibilities as modular as we can just for maintainability. And then the second part is, yeah, asking the question, what, you know, is Directus versus what is, you know, the the complete package that you can get with different extensions in Nextiva.\u003C/p>\u003Cp>Mhmm. So, for example, if you look at interfaces, we have, I think, 3 or 4 different WYSIWYGs, you know, 1 in JSON, 1 markdown, one edited JS, 1, tiny MCHTML 1. And you can ask yourselves, like, do you need all 4 for every installation for everybody out there, Or do we just ship with 1 and then have the other 3 available just as opt ins through a marketplace? Right? And that feels like a fairly logical progression to me, especially now that we have a marketplace where you can easily install those pieces.\u003C/p>\u003Cp>The same would go for things like layouts, right, where it's like a Kanban layout or something we ship out of the box now. Might might be relevant for some, might not be relevant for others. Maybe that just becomes, you know, an easy opt in through through a marketplace instead.\u003C/p>\u003Cp>Speaker 0: Fascinating. I never use the Kanban view. It's I've seen others use it, and it looks fantastic. Just a bit it's a great example. I don't use it.\u003C/p>\u003Cp>So why is it shipped in every project?\u003C/p>\u003Cp>Speaker 1: I think things go in both directions. I think what Rich said is is absolutely correct. You know, not getting bloat, making sure that we can really keep the core a core, and then everything else is sort of the spokes of that hub and spoke, concept. But it also could go the opposite way. You know, Rich and I have talked a lot over the years about, you know, what community pull requests look like and how that affects us as a team trying to maintain like reviewing them is, you know, we've tried to formalize it and say, go through this process before you, as an outside contributor, just send us code because it's a lot of work to review.\u003C/p>\u003Cp>Those are usually very opinionated, going back to keeping things unopinionated. We try to do our job on, like, the vision side of the the company to distill specific features that people request that are very price specific to what they need. How do we distill it down to an agnostic functionality? How can we make a core functionality that will work across all these use cases but that satisfies what that person was trying to build. So instead of doing a core pull request, what I'm getting at is extensions are a great a great way to pitch that.\u003C/p>\u003Cp>If you wanted to build an awesome extension and say this this could be great core functionality, We might not be able to have the time and resources to review core PRs and all that. You can build an extension. If it gets critical mass, we would love to have conversations. If it doesn't make sense to go into core, maybe that's the way it happens. So some things will get pulled out of core and made extensions, and then some things might turn from extensions into core functionality.\u003C/p>\u003Cp>I think the key there is being really cautious. You know, there's some of the big the big 3 players, that have been sort of caught taking really, really powerful community built applications and then, like, just stealing it, ripping off and building it into the, like, no s or something like that. And then the little developer who had this really great idea never gets any credit or anything. So how you take a community built extension and move it into core where we're gonna help maintain it and build it, but credit, you know, the the author and how do you do that, you know, financially or whatever that looks like. There's a lot of nuance there to figure out.\u003C/p>\u003Cp>But, hopefully, you know, we got a pretty awesome community. I think we could work to make the platform what it needs to be and then have the extensions be what they need to be. And that I don't know if that's gonna be one of the questions that you have. It actually it came up, Benny had it, like, where do we see the platform?\u003C/p>\u003Cp>Speaker 0: Have hang on. Hang on. I have I have some context. I have some mega context here. Hang on.\u003C/p>\u003Cp>I think because I I think that's a necessary context. Just to tie tie up that question, though, there is something else that's really worth noting, which is Directus is a Swiss army knife, a chameleon, what however you wanna frame it. It's such a powerful tool that can be used for so many different cases, so for so many different use cases. Sometimes when people come in and think, oh, that should be core functionality, they're thinking through the sliver of use cases that they want to implement. And what we have to consider is, again, that that bigger picture, every user in every use case does this make sense as core functionality.\u003C/p>\u003Cp>I think that's a nuance where there is a slight difference in perception as maintainers versus users, community members, customers, and so on. So I think that's interesting. So the question of where do you see directors in 3 to 10 years, I think there was just a tiny bit of additional context, if I if I may ask right perhaps to just briefly, like, cover, which is today, Directus' data abstraction engine and, indeed, the setup of Directus is that you connect it to 1 SQL database and some asset storage and we present an interface for that one database and asset storage. But this there is ongoing work to perhaps change that change that makeup of what directors is. And I think before jumping into what we see directors be directors being in 3 to 10 years is just a brief just like a teaser even, you know, the work will happens in public, but a teaser of what that might or what this what this mad scientist project may result in because I think that influences the question that Benny asks.\u003C/p>\u003Cp>Speaker 1: Sure. Yeah. I mean, first and foremost and, like, Kevin's just sliding back the velvet curtain. Like, tell us tell us talk about all the things that we're doing behind the scenes.\u003C/p>\u003Cp>Speaker 2: Yeah. So, I mean, first and foremost, we've seen the the database landscape sort of diverge quite a bit. Right? So when, I mean, when I just joined the project, then it was a long time ago, but it was we just we only supported MySQL 5.6, I think it was at the time. And that was it.\u003C/p>\u003Cp>That was the only thing I ran on. Right? And that was enough at the time because it was really people needed a database. You had MySQL. That's that was just the name of the game.\u003C/p>\u003Cp>Right? There was no other real the the rest of it wasn't up and coming enough yet. Then when we rebuilt that in sort of the current paradigm that you're seeing, we were like, okay. Well, let's try to abstract that out to just be SQL so it becomes any SQL database instead of just MySQL. Because there's some differences, but they're generally similar enough where we can just say, okay.\u003C/p>\u003Cp>I'm just gonna support any of those SQL databases. Right? Then now, you know, early 2024, we're seeing more and more sort of SQL like or SQL compatible ish, vendors show up left and right that are getting increasingly popular. You know, think about PlanetScale or Snowflake or or those types of services, that are, you know, not always directly SQL compatible, but also very close enough to a point where it's like, why wouldn't it work? Because, you know, the paradigms are the same.\u003C/p>\u003Cp>So part of the the first exercise was thinking about, okay, how can we include those in sort of our SQL support as well? So it's SQL like, but then we have certain features that work, don't work maybe. And then while we're designing that, the question really became, okay, what is just a data source in the first place? Right? Because what is really the difference between, a structured REST API versus, a relational database versus a data warehouse that stores stuff relationally?\u003C/p>\u003Cp>At the end of the day, you're all talking about, you know, data in in a very similar format in all these different sources. Right? So that is really what we started focusing on at that point, with how can we abstract that away in a format that is this is getting a little technical now, but that is a declarative base. So you can declare the data you wanna get out of it, then have a plug in ecosystem that is fetching that information from individual vendors, and then get it back in a known format. And that is really the data abstraction project.\u003C/p>\u003Cp>Right? That'll unlock, you know, a bunch of other interesting angles that we never thought about before just by approaching it in that direction. But that is that is really the the the core. Kinda go back to\u003C/p>\u003Cp>Speaker 1: the core principles of the company is, you know, taking sort of expanding, from MySQL to Postgres to, you know, down the SQL line and now continuing to distill it down. Like, that is part of this, like, vision team is how do we continue to be less opinionated? Like, there's other data stores that people use. It's great to quickly support something like CockroachDB from a distributed side. But, you know, the data lakes and all the, sort of LMs infected.\u003C/p>\u003Cp>Like, there's so much that we could be managing and sort of make those part of the marketplace. You know, how do we make those atomic units of connectors for different data store, data stores that are available? Like, it's great to have the browse, manage, visualize on the app and API side, but we also have to think of the data coming in and how we can improve that over time. And Rich didn't even mention the the f word in that, which I'm surprised.\u003C/p>\u003Cp>Speaker 0: It was I was about to do it. I was about to do it too.\u003C/p>\u003Cp>Speaker 2: To go now. 3, 2, 1. Yeah.\u003C/p>\u003Cp>Speaker 0: Oh, I thought I thought we were about to. I thought we were gonna do it.\u003C/p>\u003Cp>Speaker 2: I'll I'll continue that train of thought too because it it started with what is a data source. And then the second piece to that big thing is, like, where does that data live? And the answer is it lives in all sorts of places at the same time all the time, for good reasons. Right? So we've seen a lot of piece like, a lot of software try to sort of synchronize it back to a centralized place and then manage that and then try to use, you know, integrations to get it synced back out.\u003C/p>\u003Cp>That has been historically, you know, very popular. We're seeing some tools, pop up now. They're trying to sort of get that data connected through GraphQL specifically because you're dealing with known schemas on both sides. Excuse me. So the question now became okay.\u003C/p>\u003Cp>If we have this sort of very agnostic declarative data fetching engine that we're building, how does that tie into federating the big f word, across those different data stores at the same time? Right? So as if you're declaring one data structure to come out of it, but the data is like, the underlying data itself is just stored in different places, how can we get that out efficiently, and return it in the way that you need it, rather than having to treat it as disparate data sources.\u003C/p>\u003Cp>Speaker 0: And in reality, like, people do sync data back using directors today. They'll have a primary database, which will be the thing they connect, and then we'll use our automation features code or no code, whatever that may look like, to bring in and sync data from then, you know, additional sources. Because And, again,\u003C/p>\u003Cp>Speaker 1: perfectly valid because, I mean, think of the systems that have just gone offline in the last 48 hours. Like, big systems go offline. It's nice to have sort of a local, like, your own database synced where you can still pull that data in and you've got the results.\u003C/p>\u003Cp>Speaker 0: That. Yeah. Yeah. I know I didn't thought about that.\u003C/p>\u003Cp>Speaker 1: Talking about. Like, you can't always pull it in and say this is we talk a lot about single source of truth in the database. That's what we manage. There's no direct as magic that happens in between. It's the database.\u003C/p>\u003Cp>That's the magic. We give you access. But one database isn't enough usually. We manage all types of data. When you look at something like customer data, you can have your customers in Stripe.\u003C/p>\u003Cp>You know, you have it in HubSpot or Salesforce. You've got it in probably some sort of relational database for your SaaS or whatever you're building. And you've probably got some thrown over in, say, cold storage and a data lake. You know? All that customer data needs to be accessible so that you can find the value.\u003C/p>\u003Cp>But you can't just pull it all like, those services are all used in different ways for a reason. So managing the data where it lives in situ is important. And the only way to really do that is through that, not the 4 letter f word, but the 10 letter f word that are able. And that's why it's so exciting. I counted.\u003C/p>\u003Cp>Speaker 0: Yeah. He sat there counting. And we now know that's what was happening in the last few minutes.\u003C/p>\u003Cp>Speaker 1: Anyway, so it's pretty it's really exciting thinking of, like, what is the future of, you know, data in because we can argue so much on the data outside or the IO. Yeah.\u003C/p>\u003Cp>Speaker 2: The other thing is, exciting to me there is because it becomes a declarative system, we know what the output format is, and we know what the input format is. So it also means that getting that data from one place to the next becomes, you know, a a possibility now because the data format coming out of Salesforce is now gonna be compatible with the data format going into a HubSpot. Right? Because we sort of, convert it and and handle it in the middle at point, which is exciting\u003C/p>\u003Cp>Speaker 0: too. Before I swing around to the actual question, which I think required that context to a degree because I think it is a, a mental model shift, you know, for those who think about directors and what it is capable of. I think talking a little bit, you know, looking to the future, I think is was important to ask that question. The only other thing I will add to all of this, not that I wanna dig deep into it, is all these different data store types have characteristics, as Ben said. They have characteristics and strengths and weaknesses.\u003C/p>\u003Cp>And there is a I I don't know I don't I don't know if any of us know the answer to it right in this moment of of research and development. But how do you take advantage of the strengths of all of these data store qualities, rather than trying to make them all fit into one box? Or do you have a box that actually makes sense for all of them to fit into? You know, the way that you look at document databases and access those and the strengths and the weaknesses are different from a relational database. And so there's like, big brain, big brain thinking beyond beyond me.\u003C/p>\u003Cp>Speaker 1: Rich has obviously the the real answer to these questions. You know, the entire engineering team is working through solving that very difficult problem, but I think there is no answer. There's no silver bullet for how you, like, solve this problem. It's a balancing act, and you have to really think through exactly what you wanna accomplish. You don't wanna end up with, like, the lowest common denominator.\u003C/p>\u003Cp>You know, nobody wants to take the power of Aurora or Postgres, our cockroach, and say, oh, you have the power of SQLite because we're gonna support all these, and so it's that lowest common denominator. Exactly. But we all there's also the idea of progressive enhancements. There's things you can do with extensions of some of these databases, that give you more, like, geospatial capabilities. And if you don't have that installed, what happens?\u003C/p>\u003Cp>So there's so many things to consider. I think Rich and our and our engineering team are doing an amazing job of trying to solve those so that we can have the best possible experience in sort of a progressive enhancement way. But, yeah, there's I don't I I'd be blown away if Richard's just like, oh, yeah. The answer is Come on.\u003C/p>\u003Cp>Speaker 0: Well, the answer is we've got 21 more minutes.\u003C/p>\u003Cp>Speaker 2: It depends, as usual. A lot. Yeah. I mean, the way we're solving a lot of those issues now is by the the declarative model. I've mentioned it a couple of times, but that has really helped a lot in this where we're saying we wanna get data set a, and we wanna nest dataset b based on these values.\u003C/p>\u003Cp>Right? So it's kinda like defining a joint, but we're not defining exactly a joint because we're defining it in the declarative way, and it's not the SQL query. So, therefore, now in in a document data store where you don't really have native joins most often because it's, you know, in the design model, at least, depends on what vendor, of course. But then now we can say, okay. For the vendors that do have sort of a native joining capability, we can use it.\u003C/p>\u003Cp>For those that don't, we know what dataset to fetch on the left and right side and stitch it together. So for a lot of the features that we can implement sort of, like, an in the middle fallback that still allows you to do it, it's just gonna be a little bit the performance characteristics are gonna be different. Right? I think the second big piece, and this is something that has been true from the start, is that we don't wanna have any proprietary data model requirements for any of these data stores. So, therefore, even if, what would be a good example?\u003C/p>\u003Cp>I mean, the geospatial thing, I think, is a good one. If you have very, very specific geospatial querying requirements that only exist in that one vendor, at that point, use that vendor for whatever that integration is that you're trying to build in. Right? So it's like we can manage and show you the the, it's that same 80 20 idea. We can show you all of the information.\u003C/p>\u003Cp>We can support, you know, the vast majority of those filtering capabilities and the editing experience that you need for to show, like, to build a direct as that or something similar. But if for your end project, you have a hyper specific need that only exists with with an extension in that one sort of database type or something. Great. That's where the nonopinionated data modeling comes in, and then it's just like, please just use that. Right?\u003C/p>\u003Cp>Speaker 0: So that's very techy, like, where where we're going. It's very like hopefully, those watching live or on demand are like, wow. That's, you know, that's big. So with that in mind, because I do think that was required context, I'm gonna ask both of you, and I'd be interested in you answering separately almost to a degree. Ben, whether you see direct us in 3 years to 10 years, how would you be describing it in in the ideal world in that time period?\u003C/p>\u003Cp>Speaker 1: I mean, hopefully, I don't have to describe it. Hopefully, in 3 to 10 minutes\u003C/p>\u003Cp>Speaker 2: Very good.\u003C/p>\u003Cp>Speaker 1: Oh, yeah. Not directors, obviously. Everybody who doesn't use that to manage their data, and connect it and democratize in all the fancy marketing words? When I read the question in the audience from I think it's from Benny. I actually because we were talking about marketplace, I was thinking marketplace.\u003C/p>\u003Cp>And I was gonna start talking about, you know, how we can elevate the community through allowing them to, you know, monetize their own extensions. And what a cool way for them to have, like, side hustles or primary hustles, you know, where they can, build all these awesome things really easily. That's the purpose of, you\u003C/p>\u003Cp>Speaker 0: know Yeah.\u003C/p>\u003Cp>Speaker 1: Optimizing developer experience for extensions. They can build easily, you know, with some great idea and then just quickly turn around and start, you know, selling it or giving away for free or whatever that looks like. So I think that was something big that I wanted to kinda touch on is how can we, you know, originally, this platform, you know, 2 decades ago, I think Rich was 8, and it was really just me. And I expanded to a few other people. We worked on it.\u003C/p>\u003Cp>But then Rich came in. It was the 2 of us. You know, a 2 person open source org flying out and talking to huge companies and just super excited. Then it expanded through some financing. We were good at like a team of 10.\u003C/p>\u003Cp>Now we're a team of like 30. And that's amazing, but you can only scale a company so much. And what's so exciting is you've got the maintainers, the company, then you've got the contributors, and then you've got the broader user community. And it just it gets so big where you get into 100 of thousands of people. We have to continue to focus on how we can embrace all of those people and have them contribute to this platform.\u003C/p>\u003Cp>The extension marketplace is a huge part of that, bringing everybody in and just kind of having this network effect of learning what the platform can do. Again, I built it for my own myopic ideas of, like, this is what my agency needs, and it grew to be more than that, because the idea is broader than that. But I think we still have a lot to learn about what we can do with this platform that is fed from the community. So I don't think I I would not want to know what Directus will be in 3 or 10 years. I think it's the most exciting thing is that we get to work with such a huge community to figure out what it is, you know, every day, every month.\u003C/p>\u003Cp>I think that the breadth of of the platform is such that there's so much potential to be a lot of things. There's also the danger, you know, the double edged sword of if you try to be too much, you know, too fast, too furious, what are you? You know, that can be slippery as well. How do you market that?\u003C/p>\u003Cp>Speaker 0: For sure.\u003C/p>\u003Cp>Speaker 1: Talking about yeah. It's it's anything and everything. So, I think just really, you know, judicious growth and trying to understand, like, what is it now? What are we next? Whilst having, like, some fun, like, divergent ideation around what it could be, in the future.\u003C/p>\u003Cp>This is a real this is a real, like, non answer. I'm, like, skating all around, like, what people thought I'd wanna do.\u003C/p>\u003Cp>Speaker 0: You said it, not me. You said it, not me.\u003C/p>\u003Cp>Speaker 1: Long story short, I think that if my ideal would be that it is in we'll say 10 years out. Like, that's an absurd amount of time. But 10 years ago, I was saying the same thing. In 10 years' time, I would hope that we are still completely true for the ethos of of an open platform and all the things that that brings. You know?\u003C/p>\u003Cp>The open source, the openness, the radical transparency. As a company, as a product, I hope we are still as open as we are today or even more so. And I hope that the platform is so recognized, as being a leader in whatever we have become at that point that people are just like, dude, that is there's a factor that is an amazing platform. They took the long road. You know, at that point, I'll be saying it's 30 30 years in, which is that's kinda crazy.\u003C/p>\u003Cp>Speaker 0: You'll be fully gray.\u003C/p>\u003Cp>Speaker 1: Well, well, yeah, we'll see. I hope I'm in heaven. Yeah. The goal would be just to be, like, this is the preeminent solution. That is the de facto and not resting on our laurels.\u003C/p>\u003Cp>Not saying like, oh, yeah. We made it. Like, going into that cruise control, which happens a lot. But continuing to try and stay agile and nimble, like, always trying to, like, push the envelope. Like, what is next?\u003C/p>\u003Cp>I think you can't plan for that. You know, I I I've made a joke a lot about every time I say the word future proof, I will always throw air quotes around it because you don't know what's coming. A couple years ago, nobody knew that generative AI and all these different emergent trends were gonna be what they are. We We don't know what's gonna be coming in the future. So, Yeah.\u003C/p>\u003Cp>That's my my answer, not answer.\u003C/p>\u003Cp>Speaker 0: That was good. I'll give it to you. Pass. B plus. Right?\u003C/p>\u003Cp>Speaker 2: I really hope we could start selling ice cream as to the point of the check. We're going to be an ice cream.\u003C/p>\u003Cp>Speaker 0: And then we'll rest on our laurels. Cruise control all the way, baby.\u003C/p>\u003Cp>Speaker 1: No. It's just audience. Someone had mentioned that we could become an ice cream company, which\u003C/p>\u003Cp>Speaker 0: not not that fun.\u003C/p>\u003Cp>Speaker 2: No. I think, realistically, I think, I hope directors can get to that point of ubiquitousness where it's just the obvious starting point for basically any project that deals with data by definition, any project. I think that the current strategy of treating it as a sort of the core platform being a a very modular foundation on which you can build on with extensions. You can build together the ideal x management platform for whatever you need to build. Is really just an exciting sort of way to get the future proofness.\u003C/p>\u003Cp>Right? Because at that point, it's like, oh, now if an LLM becomes the data source, that can become one of the building blocks, but the foundational thing doesn't have to pivot. Right? It's like, to be fair, explaining what that pivotal thing is has been the challenge. So I think in the next 3 years, one thing that I'm really excited about is to just help people with that sort of onboarding and understanding of what you can do with it to which, you know, marketplace is a huge thing.\u003C/p>\u003Cp>The templates we've been discussing in the future release will be a huge thing for that, where you can just get started with a sort of one click of, like, oh, I wanna use it as a blank. Bang. You know? Click a button and you go. I think that'll help the adoption that sends a lot.\u003C/p>\u003Cp>But, yeah, really, that that place for your big notice in the data space, I think, is a really achievable 10 year plan.\u003C/p>\u003Cp>Speaker 0: If I may, I know it was a question for you too, but, obviously, I run developer relations. Right? I come with a very developer focused lens. I think about the developer user, but what I hope to be the case is actually not related to that audit. Because I think that's I don't wanna say a given.\u003C/p>\u003Cp>I don't wanna be cocky, but, like, I think we are this fantastic developer tool. We're a fantastic tool for everyone, but what I really want is people who don't deem themselves to be technical enough feel like they can have ownership and access over real data and be able to glean whatever they need from that data. I think that, you know, we talk about our mission being to democratize data or make it more accessible across everyone in the organization, and I think that that is that's the thing for me that, like, I'm most excited about. I still think to a degree today, we lean a little more if it was a spectrum of, like, fully technical to developers don't know it's there at all. It's not for developers at all.\u003C/p>\u003Cp>I still think we're probably leaning a little heavier towards the developer side. And that I think as time goes on and I think extensions are a big part of this, we can start to to just be be, you know, a more ubiquitous tool to use the word you use, but not just for developers. Yeah.\u003C/p>\u003Cp>Speaker 1: To get back on what you just said, Kevin, I think if if I was looking at like the grand, like, decade out sort of landscape. But if we go to like the it was like 3 or 10 years. In 3 years, I've talked a lot to strategics and VCs, like, just companies in general about around where we might be in a shorter time frame. I think that's exactly right. Right now, we are developer tooling.\u003C/p>\u003Cp>It almost requires an engineer to provision, set up the hardware. Like, there's words that peep normal people wouldn't even they're like, Kubernetes. I don't know. What are you talking about? You know, downloading from Docker.\u003C/p>\u003Cp>But I think 3 years out is a reasonable time frame, to start looking at addressing the business user or the nontechnical user, directly. I think right now, the onboarding experience, the documentation, everything is framed around supporting and enabling engineers and developers. And I think a couple years out, there is, like, a next big milestone where we can transition. So, of course, continuing to support that, but also enabling the nontechnical users directly end to end. So they\u003C/p>\u003Cp>Speaker 0: Exactly. Exactly.\u003C/p>\u003Cp>Speaker 1: Compose them together and work in that solution and never even have to engage with the technical side, which is another bottleneck removed. And then quickly on Rich's point, I think what's really important there is the openness, that that we were kind of talking about earlier. So Rich was, kind of talking about how never mind. I I'm completely lost. It was basically, like, all the boiler plates, like, we were talking about, like, what Directus is as being this ubiquitous framework.\u003C/p>\u003Cp>And if it's coming, it's going. It's like, it's almost it's almost. It comes Every time I sleep, like, cough.\u003C/p>\u003Cp>Speaker 0: Some of them are like slice.\u003C/p>\u003Cp>Speaker 1: People think I'm over here, like, grabbing. I'm just, like, trying to cough. Anyway You should be. They're they're just cough. Anyway, yeah.\u003C/p>\u003Cp>There was there was an idea there. It's it's loud.\u003C/p>\u003Cp>Speaker 0: Another question that came into so did you get it? No.\u003C/p>\u003Cp>Speaker 1: I said back to you, Kevin.\u003C/p>\u003Cp>Speaker 0: About it. Thank you. Thank you very much, Ben. We're we're we're giving up on that, divergent thinking, dabbing vision. I I can see it's still really bothering you, and you're trying to go into the depths of your memory.\u003C/p>\u003Cp>If you get it, stop me. We can roll back around. Well, then the other questions was, well, in that time frame with it\u003C/p>\u003Cp>Speaker 1: I guess. Yes. Yes. We were talking about, like, the openness of the platform. I wanted to kinda clarify the goal.\u003C/p>\u003Cp>We were saying, like, okay. You get started with Directus. Like, it should be ubiquitous. It should be but it shouldn't be the full platform. We're not trying to be everything.\u003C/p>\u003Cp>I think the goal would be to be sort of like a standard where we stay open and you use the tools that you wanna use. We're not trying to replace everything. We're trying to give you this foundational layer. And I think that's sort of the boiler plate when you're an engineer and you're sort of building. It's like, oh, you know, I use this all the time.\u003C/p>\u003Cp>That's the first thing I do when I get started building my thing. We're not trying to build it for you. We're not trying to be the end all be all solution. We wanna make sure that we stay open. So any tools that you wanna hyper specialize with or that you wanna build or etcetera, we wanna work with those tools.\u003C/p>\u003Cp>We can't do that by saying, Directus does it all. Like, come to us. We'll help. We'll do all these different things. We just wanna open up more possibilities and make things go faster.\u003C/p>\u003Cp>And I think that's just a general mentality I wanted to clarify. You know, 10 years out, I'm not trying to say, like, everything will be built on Directus, but maybe Directus will be part of the, the suite of things that you're using, and it'll help make it more efficient using one of the many things that we'll hopefully be offering, you know, that far out. Point of clarity. And at\u003C/p>\u003Cp>Speaker 0: the end. No. No. No. And to be fair, that very mentality, actually, for the audience out of interest, is the reason our our current hackathon at the time of recording is payments.\u003C/p>\u003Cp>There are so many ideas that came out of it, and one of them was ecommerce. But there's so there's so much nuance in ecommerce as a as a, yeah, as a set of solutions that you would need to extend Directus in many ways in order to make it happen. Is it possible? Absolutely. But are there also excellent tools out there already that do the suite of ecommerce from end to end?\u003C/p>\u003Cp>Also, yes. So where do we sit there? Well, we are the we are the champion. We are the the cheerleader of this the specialized solution you have, and we can further enrich, you know, your operations, whatever that may be. And that's why it scoped down to payments.\u003C/p>\u003Cp>It went from ecommerce to payments, just out of interest for the audience. It's very much that. Can't be everything to everyone at a 100%. One of the questions that came into chat was, but not but, but, like, will it still be open source? And I feel like this is the 3rd community question time we've done, and in all, the the first one, our license, you know, change had not yet happened.\u003C/p>\u003Cp>But in the last one, it was basically the whole hour long discussion. I think we are maybe, Ben, if you give a quick summary as to, like, the the the journey and maybe the future and and where you think we'll land with this. But if I may just, seed, I think we are a really interesting business, if I may say so, because I think we are one of the I don't wanna toot our own horn, but, like, one of the pioneers in what, like, sustainable open source looks like post open, whatever that whatever the phrase is and ends up being, where you don't have big corporate backing. Like, you're not react inside of Facebook and so on. So I wonder if you could talk just very, very briefly about what we are or how you think we are and how that might influence the industry and where we\u003C/p>\u003Cp>Speaker 1: make sure. I wanna mention a second ago, like, 10 years down, I would hope that we're still honoring that that ethos. Like the idea of open openness. And the reason I'm not saying open source is because I think it's also important to be very clear in what you are and honor the history of the terms, and the definitions of the terms. We I was talking with Bruce Perrons yesterday.\u003C/p>\u003Cp>The he was on one of our live, event yesterday about you know, he's the the founder of the open source initiative, the cofounder. They have clearly defined with ten rules, like, what open source means. Our license strays on 1 or 2 of those, slightly to build makes sure that this is sustainable. And so, you know, immediately, you have to acknowledge that there's a little asterisk there. I still believe that we are open source.\u003C/p>\u003Cp>We're open source effectively for the vast majority of anybody using our software. Other people might say it's source available. There's post open and an idea that Bruce is is, sort of promoting. There's lots of things. So whatever the term is, I think the most important thing is that we stay true to again, I'll just use that word ethos, but like the idea of staying open as software.\u003C/p>\u003Cp>The code the source code should still be available. The community should still be able to go and and contribute their feedback. You know, you should be able to use the software, obviously, in development for free, in production for free, but there needs to be a give and take in terms of making sure that it is sustainable. We talked at length about it on the GitHub discussions and a number of different events around how can you make sure that you hold these big corporations accountable when they extract so much value software and they aren't contributing to the open source. You know, what through development, through testing or, you know, financially.\u003C/p>\u003Cp>So we're gonna continue to figure out the best way to do that. And just like with our license change about 10 or 11 months ago, we're gonna do it with the community because this is all us trying to figure out the best path forward together. So yeah.\u003C/p>\u003Cp>Speaker 0: Yeah. No.\u003C/p>\u003Cp>Speaker 2: I I think the the it's it's to your point, Ben, it's the ethos of open source since the funding issue, which I think has been becoming incredibly clear across the ecosystem for open source projects at scale, that the funding needs to come from somewhere, and that is either gonna be a big corporation, owns it, funds it for mostly marketing purposes that most of the time, or, you know, you you find some other solution. But the post open source movement is very interesting and seems to very closely align with the licensing as we've sort of, now identified it for our own project.\u003C/p>\u003Cp>Speaker 1: Yeah. I think I mean, really, what it comes down to, if you're trying to describe what we're trying to do is we're trying to be fair, and we're trying to honor what we said we would do since the beginning. Of course, there's always gonna be, you know, the the the handful of trolls out there. Everyone has a different different definition of what is fair, but we'll just keep, you know, honing in on on what works. One thing I will say is I think it's important is hold us accountable.\u003C/p>\u003Cp>This is live and it's also being recorded. You can hold me to this in the 3 or 10 years into the future, but hold us accountable. Everyone should be held accountable for what you say in the past and what you're leaning toward. You know, we're just trying to do the right thing. You know, that's that's a difficult thing because everyone has their own opinions of what that should look like, but hold us accountable.\u003C/p>\u003Cp>If you think we're doing things the wrong way, if you have other ideas, that was, I think, the success of our license change is we said, here's the problem. Here's a few solutions as we see them. Comment on our solutions. Give your own solution. We just have to find a way through this.\u003C/p>\u003Cp>But if you think that we're straying, you know, I I used to love Google's little tagline of what was, like, do no evil or something like that. And then when that went away, replaced with, like, some longer POCs or whatever, like, that was a a bummer. Like, I wanna still have as clear of a mission and vision. I wanna stay true to that. And the only way to do it, whether, you know, whoever, you know, whatever this company looks like that this into the future, the community needs to we know the power of, you know, that amount of people.\u003C/p>\u003Cp>Just hold us accountable.\u003C/p>\u003Cp>Speaker 0: Lovely. Thank you. Thank you both for joining me for this hour. For those who are tuning in, live, this will be available on director's TV in about a week. So it'll be act it'll actually a new tile community question time.\u003C/p>\u003Cp>So very excited for that. Do check out all the other shows we have here, and we we will continue to run community question time every few months. So, if you have questions, awesome. We also have the company channel inside of our Discord, which is intended for this very purpose. Come ask us difficult questions, not about the director's project, use all the other channels for those, but about the company behind directors.\u003C/p>\u003Cp>We're a very we're a very open bunch. So, yes, thank you very much once again, Ben and Reich. Thank you to everyone for tuning in, and until next time. Bye for now.\u003C/p>\u003Cp>Speaker 1: Thank you, Kevin. Thank you.\u003C/p>","Hello, everyone, and welcome to community question time. This is actually the third one that we've done, since I started actually. But I'm really excited to be inviting our founders here, to give you the chance to ask about Directus, the company behind Directus, the future, the vision. And, don't don't give these guys any slack. Don't give these guys any slack. Come come with what's on your mind. We are a very, very transparent bunch, and this is one of those times where we open the floor. Just as we are kicking off, would you 2 like to give just a brief, description of your of your roles here? Sure. Yeah. That's easy. I'll go first. I am the CEO and founder of Directus. I created it originally 20 years ago in 2004. It's been exciting the last couple of months, and we can finally say it's been around for 20 years. Indeed. And Rich joined, 8 years ago, something like that. Oh, yeah. He's our colleague. Introduce himself as cofounder, but that's my my role, I guess. It's awesome. I'm, Greg Van Zonthe, CTO and cofounder. So where Ben created the platform in 2004, I feel like I created the platform in 2016 instead of again. You you actually create the platform. I create, like, an idea with, like, a like, a a mock up or more based on what you did. So we've we've both co created the platform in 2016 that I think is the way to describe it. Yeah. This iteration of it at least. This iteration. Yeah. Exactly. Yeah. Exactly. Yeah. So I lead the technical crew in the technical sort of implementation vision. And so for those few people who are in the chat, the point of this, event, I suppose, is that we run it periodically, and there's a chance for it to you it is a chance for you to ask, any questions that are on your mind about the wider project. That could be about the company. It could be around the future of directors as a project, or anything else really. So do pipe in. I've got chat open right here. I'll keep looking at it, and I will be facilitating those questions. Yeah. So, Ben, in the chat, I have to admit yesterday, I was so confused because I thought you were you were this, Ben. Yeah. That makes it makes way more sense now. So, while On that note, I had a, sort of a strategic, call yesterday. We were coordinating a call and there were 4 Bens on the call. I I my name's Keith. It was like, there was 5 people on the call and 4 of them were Bens, which seems pretty rare. Yeah. That's a bad thing I'll ever face, luckily. How did you how did you last names? No. Because there's 2 Ben H's. So, yeah, it got it got slippery, but, no, it was it was fine. You managed to to make it work and didn't promise to do anything on behalf of others. So there you go. I'll put the screen. Yeah. Which one? So, yes, once again, please do come with questions. But, before, you know, there are any asked, I wanna kinda ask about we just launched the marketplace beta, and I wanna talk a little bit about, Ben, your, your narrative that you use around the 3 legged store and how the marketplace fits into that and how the marketplace is actually a really critical part to the success of our project going forward? Yeah. No. That's that's a fun one to talk about. I mean, it's I I I'm obviously a big fan of metaphors and initialisms, acronyms. I I'd say that this one is more of it's not an acronym, but they have, like, the idea of a backronym where you have the thing first and then you sort of retrofit the, the metaphor afterwards. I think this is sort of that. Like, we knew that there's 3 big pieces to the to the company. And then this idea of a of a stool, like a a milkmaid stool, I think is what they're called, which has 3 legs. The idea is that they don't wobble because they have 3 legs. So it just kinda it's a nice visualization. Yeah. Of course, you want a nonwobbly product, a nonwobbly team, and a nonwobbly company. So the 3 pillars that support us, we start obviously with the core software. That's what, you know, Rich and I have been working on for for the better half of the last decade. And that is the key to everything that we're doing. But, of course, you need to deploy that and we need to make that as easy as possible. It's great to self host, but we wanted to create our cloud service, that offering. That was the 2nd leg. We have a single tenant cloud, a multi tenant cloud, and, of course, looking at all sorts of deployment options. And then the 3rd leg you know, the 3rd pillar of the company has been, sort of this if if we we have something called the 80 20 rule. It's really important for us to make sure that our software doesn't get bloated. We don't try and do too much and become like a monolithic system. We're trying to balance between sort of the the really the nice aspects of monolithic, approaches and then the microservice approach, which is great, but has a lot of complexity. We're trying to find that balance. And in this 80 20 rule, we say that the core software should satisfy 60, 80% of what you need, hopefully, really quickly, instantly. You point us at a database and you get it. But, of course, you still need to develop your full solution to a 100% and extensions and configuration and, you know, all these other pieces, your custom logic and code, that's the last 20%. And it's great to give people the modularity and extensibility of our core software. But, you know, doing that in isolation isn't nearly as much fun as being able to build an extension, send it out into a marketplace where our huge community can browse those extensions, learn more about them, maybe have ideas they didn't even know they had. It also motivates the maintainers of these extensions who are now seeing like, oh, wow. This is really popular. I'm getting all these downloads and installs and I get some visibility. It gives them more of a motivation to keep pushing and working on the, their projects, their extensions. So the Marketplace is the 3rd pillar, core, cloud and and Marketplace. And this is what really helps us get more, inspiration for use cases of the platform and get to a 100% faster. Again, leveraging not just our core software but everything else the community is generating, around the world. Right. I have a thank you for that, by the way, Ben. So, right, I have a question for you. So earlier today, you, published a blog post called what we considered when building a marketplace, and I've actually just pushed that into the little, live highlights thing at the bottom of this page. Although I'm watching the page over here and it's not appeared, so your mileage may vary, but it's on our blog. And, some of the really early feedback that's coming about the marketplace right now today has been around this, What word am I looking for? This balance between giving people the raw power to make their own choices versus limiting the ability for something to go wrong to either stop foot guns or to look out for people's security, stuff like that. This is ongoing. This is a literally ongoing thread that's happening in Discord right now. It's been really busy in our marketplace beta channel. But I wondered if you could talk a little bit about how you perceive the balance between flexibility and, you know, control versus a duty perhaps could even be the word to keep people safe and happy? Yeah. I mean, that's a great question. So, this is a topic I could easily ramble on for 2 hours. So let me try to Well, I'll I'll I'll pull you in in 5. Yeah. You have one. Go. Sure. So so the first so the the first little bit of back information that is required there is, like, where does an extension even run-in the first place? Like, where do you ship that code, and where does it run? So I've seen platforms, Shopify comes to mind, that run it off off-site completely, and everything is webhooks back and forth. Other platforms, they they rely on sort of Docker containers and try to isolate it that way. In our case, we've made the decision early days to say, okay. For extensions you built yourself for your own project, you can just tap into whatever you need from the whole system. You're basically just full access. You can do whatever you want, because you're the one creating these extensions, and therefore, you can trust yourself not to do anything stupid. That's that's sort of In theory. In theory. Theory. Right. That was sort of the original security model of extensions because they were sort of meant for, like, you know, you built your own hook to to extend your copy of directives. Right? When it comes to this marketplace now, we're making it super easy to install stuff made by somebody else, right, on both cloud or self hosted. It doesn't matter. It's all the same. But that now means that you no longer really know what's going on under the hood. Right? So for extensions in the previous paradigm, they can access effectively anything. They can access anything in the database, anything on your local machine where you're running direct is because you can, you know, access the file system, the network, any of those pieces, which then also means that if that's the thing you're installing from somebody else, at that point, all bets are off. You know, anything anything can happen. And that is, for extensions developers, really nice because you can do whatever and make it really cool. But it's for extension consumers, really scary because you really just don't know what you're up against. Right? So the the balancing act that you were talking about, the question that we have to ask ourselves is, like, when it comes to a marketplace, on which of those two sites are we gonna sort of lead? Right? Are we gonna say, well, the marketplace is just completely open ended. All bets are off. Good luck. Save yourself. It's at your own risk. Or are we gonna say, well, you know, now that you're browsing it through Directus and installing it through Directus as the end user, you have a certain expectation of trust of, like, oh, what is presented to me here in this marketplace, I can install and use knowing that it won't blow up my whole project or send all my stuff to some malicious active third party or mine a bunch of crypto or something. Right? So for this initial release, we're erring on that side of, you know, user trust and security first. Right? So we're saying, by default, we're relying on the sandbox model that we implemented, by saying anything the extension wants to do upfront in static file, it has to define the stuff it needs access to. So it's like, oh, my extension wants to talk to this exec third party API. And then, therefore, the extension can now do it through a couple of methods that we give it. Right? But, therefore, the for the end user, there's a very clear contract of this is exactly the stuff that the extension can access outside of, you know, the information that's passed in through a Hooper filter or something. And that is you know, it's it's an in it's a very tricky balance as you've seen in that marketplace beta channel, for which thanks for the folk listening in. It's always fantastic to have those discussions. Because now the question becomes like, oh, but I really wanna import, you know, I wanna import libraries to do stuff with the file system, or I wanna use third party SDKs that might not use fetch or use some other networking thing, and now those don't work, which is definitely a tricky balance. Right? Yeah. But right now, we're really erring on that side of user trust and security first and then seeing, okay, where are the improvements in that sandbox model to to unlock all of that power again, so to speak, to get it back up to that that almost full power nature of of the extensions model. And I think that's part of it too. I think this, it's really easy to look at, the sandbox x SDK and look at marketplace and the decisions made there and completely link them. Okay. The marketplace doesn't do x. That's an issue. But maybe the issue and this was actually the core the core, friction in here with these 2 competing narratives. 1 around marketplace doesn't let you install x and the other saying, well, actually, it's just that you can't build x using the sandbox SDK. And that's a solution which also honors the security model we've created. Another interesting thing though, that you said, which I will agree with and challenge, if I may, which is once you once we are providing the interface to browse and install the extensions, there is a contract to a degree that those things are trustworthy. That isn't the case in every, open listing marketplace setup. You can blow up a WordPress installation by installing a DUD plug in. So as a decision made, I will agree with you by saying I feel the same way in documentation as the reason that I will resist, at least for the time being, AI generated code snippet examples because because once it's provided through our interface, it's it's ours. I I think the WordPress example is a really, really good one that has come up in the research with the team around the subject as well, of course. Because if you install, WordPress yourself on your own server, it's completely free. Like, the old bets are off, it's do whatever mode. Right? If you use wordpress.com or, like, the hosted equivalent of, you know, a WordPress installation, now there is way more constraints in place. Right? They only is that? Some of the yeah. It it's, like, for the same reason. I I I of course, I don't know the internal decision making there, but I'm assuming it's for the same reasoning that is, like, you know, you're using, you know, WordPress in a sort of controlled environment that you're paying for. You need to be able to trust that this stays alive. And then the stuff that you're installing is trustworthy and will work the way you would expect it to. Right? Again, like, there's the self hosted versus our cloud and having to make sure that we have things really tightly scoped in cloud. But we have a multi tenant cloud and a single tenant cloud. A single tenant is our enterprise. And peep, those customers can upload custom extensions. So they do have workarounds, but we do have to make sure when you're sharing hardware in a multi tenant configuration, you know, noisy neighbors and making sure that people aren't, you know, scooting over into other people's projects. We have to keep that really tightly tightly scoped. That too. That's also that's also, of course, a decision in how we implement extensions. You know, we spoke briefly in in the past internally about different models for even offering extensibility. I believe Shopify might be a platform where as an as a extension or plug in, I'm not sure what word they use. Author, you host an external service, which is that you host it one instance of it. And then each of the instances can plug into that. And then it's a little bit the risk is different because all you're making is external HTTP requests. So there is also a decision in our implementation. Contract model then. Right? Because you know the request going to the extension, and you know that the output is in a certain format that you're gonna work with. And whatever happens in that black box over there, you don't have to care about anymore because it's hosted off-site. Right? So it's a different model, with pros and cons of their own for sure. So there's a question in the chat around, will third party modules ever be available? I think we're getting a little bit into, like, the weeds, and I want to pull that, if I may, into the marketplace beta channel where we can have, like, a more meaningful back and forth around the answer to that and the nuances of that. And thank you to Benny for kinda stepping in and giving, like, a cliff notes answer, but we can talk more about that, of course. Still on the marketplace. And by the way, I will keep going with questions until we run out of time for absence of other questions in the chat. So please do do come with them. But, talking more about the marketplace, Ben, I'm curious about how you talk about the opportunity that the marketplace brings when you're talking to potential customers, our board, our investors, people people with that level of, you know, stake in the director's project, because where it is today and where it may be in the future may not be the same. I'm kinda curious how you talk about that. Yeah. I mean, there's a couple different things. I think one is, the moment. You know, Directus has a lot it's like a back end as a service, which you it's just a database. You can do anything. You know, there's so many use cases. So, how do you give people inspiration for what it could be used for? Because I I kind of imagine it. Directus is like this big warehouse of opportunity and and potential, but people come in through one door, like one Google search or one, you know, thinking of what the platform is, whether that's a headless CMS or back end as a service. And then I think similar to something like Airtable, you know, they have 10 1,000 templates and all these, you know, options for what you can do in their sort of spreadsheet service. When you get into, like, a data service, I think that our marketplace will offer the same amount of like eye opening of you come in. It's like, oh, I'm gonna go get some extensions for making my content authoring experience better. What is this? This is like a stock you know, it's for the stock market or this could be, you know, anything any off the wall example that somebody came up with for their edge case. Now you're thinking in your head, oh, I do something similar. I wonder if I could manage that data and direct this and kind of unifies a few more systems. You know, reduce that complexity and cost. And, of course, the answer is usually yes. You can manage that in Directus, but it takes that sort of eye opening moment. And I think the marketplace is a great place to explore that potential. So that's one thing that comes up a fair amount. Another one is keeping things unopinionated. In a lot of our decks and the way we talk about Directus, we use the word unopinionated or agnostic. Again, we've built platforms that you know, Directus powers things for Fortune 10, Fortune 100 companies, you know, millions and millions of downloads, tens of millions. And you have to support their stack. You have to support their skill set. You have to support their languages. And I think it's easy to start making decisions early on that impact and restrict that flexibility for people to use their make their own decisions. And especially when we're looking at emergent things like AI that are so powerful, and you can you can really integrate and people are putting them right into the core software. Sometimes that might make sense if you are being more, opinionated in your in your builds. But we wanna make sure that we stay flexible and agnostic. And so for things like AI or things where you have to put in a proprietary API key, all that just makes sense in an in a marketplace because you can start to say, okay. This is this flavor of this functionality and you can go use a paid service or a free service. You can, you you know, integrate whatever you want. So I think that's a nice escape hatch to build in third party service integrations without us as maintainers saying this is, you know, we're we use Discord internally, you know. But obviously, lots of people use Slack, you know. You start to have to start making decisions. We wanna keep that as open as possible for as long as possible. Extension for us to do that. A question we're good. A question for you, Reich, kind of leading on from that to a degree, and actually a comment I saw in the community, I think, yesterday or the day before that peaked my interest in in preparation for this event. Someone said, you know, oh, I would like this functionality that doesn't exist today. Someone says groovy. You can build that as an extension, not an issue. And the response they had was, you know, cool. It could be built or provided as an extension, but this feels like the kind of thing that should be available in the core software. And at the same time, when we've spoken recently, I know one of your upcoming, you know, or one of your motivations generally is actually taking some of the core functionality in directors today and explicitly removing it from the core and providing it as an extension. And I'm curious how how you feel about this and and what the basis is for that thought. What does and, Benny, I see your question there. I have one more bit of context following on from this question, then I'll ask that because I think there's a bit more, to it. How do you feel about that? I think people expect that they get a call that that is more capable, but we have this extensions model and you're trying to even slim down the call. So could you talk a bit about that? So the one of the technical challenges is that we find ourselves trying to build a thing that can do anything for everybody everywhere. So, therefore, what do you include? Everything. Right? That is sort of the slippery slope that you find yourself in. So what we're sort of aiming to do now is, like, the code base of the, you know, the direct to its internals is turning into a bit of a bigger monolith because we have so many individual features and parts to it. So the strategy there is gonna be twofold, is 1, to modularize the code base. So if it's included around, it doesn't matter as an extension. It's just, like, to keep the individual responsibilities as modular as we can just for maintainability. And then the second part is, yeah, asking the question, what, you know, is Directus versus what is, you know, the the complete package that you can get with different extensions in Nextiva. Mhmm. So, for example, if you look at interfaces, we have, I think, 3 or 4 different WYSIWYGs, you know, 1 in JSON, 1 markdown, one edited JS, 1, tiny MCHTML 1. And you can ask yourselves, like, do you need all 4 for every installation for everybody out there, Or do we just ship with 1 and then have the other 3 available just as opt ins through a marketplace? Right? And that feels like a fairly logical progression to me, especially now that we have a marketplace where you can easily install those pieces. The same would go for things like layouts, right, where it's like a Kanban layout or something we ship out of the box now. Might might be relevant for some, might not be relevant for others. Maybe that just becomes, you know, an easy opt in through through a marketplace instead. Fascinating. I never use the Kanban view. It's I've seen others use it, and it looks fantastic. Just a bit it's a great example. I don't use it. So why is it shipped in every project? I think things go in both directions. I think what Rich said is is absolutely correct. You know, not getting bloat, making sure that we can really keep the core a core, and then everything else is sort of the spokes of that hub and spoke, concept. But it also could go the opposite way. You know, Rich and I have talked a lot over the years about, you know, what community pull requests look like and how that affects us as a team trying to maintain like reviewing them is, you know, we've tried to formalize it and say, go through this process before you, as an outside contributor, just send us code because it's a lot of work to review. Those are usually very opinionated, going back to keeping things unopinionated. We try to do our job on, like, the vision side of the the company to distill specific features that people request that are very price specific to what they need. How do we distill it down to an agnostic functionality? How can we make a core functionality that will work across all these use cases but that satisfies what that person was trying to build. So instead of doing a core pull request, what I'm getting at is extensions are a great a great way to pitch that. If you wanted to build an awesome extension and say this this could be great core functionality, We might not be able to have the time and resources to review core PRs and all that. You can build an extension. If it gets critical mass, we would love to have conversations. If it doesn't make sense to go into core, maybe that's the way it happens. So some things will get pulled out of core and made extensions, and then some things might turn from extensions into core functionality. I think the key there is being really cautious. You know, there's some of the big the big 3 players, that have been sort of caught taking really, really powerful community built applications and then, like, just stealing it, ripping off and building it into the, like, no s or something like that. And then the little developer who had this really great idea never gets any credit or anything. So how you take a community built extension and move it into core where we're gonna help maintain it and build it, but credit, you know, the the author and how do you do that, you know, financially or whatever that looks like. There's a lot of nuance there to figure out. But, hopefully, you know, we got a pretty awesome community. I think we could work to make the platform what it needs to be and then have the extensions be what they need to be. And that I don't know if that's gonna be one of the questions that you have. It actually it came up, Benny had it, like, where do we see the platform? Have hang on. Hang on. I have I have some context. I have some mega context here. Hang on. I think because I I think that's a necessary context. Just to tie tie up that question, though, there is something else that's really worth noting, which is Directus is a Swiss army knife, a chameleon, what however you wanna frame it. It's such a powerful tool that can be used for so many different cases, so for so many different use cases. Sometimes when people come in and think, oh, that should be core functionality, they're thinking through the sliver of use cases that they want to implement. And what we have to consider is, again, that that bigger picture, every user in every use case does this make sense as core functionality. I think that's a nuance where there is a slight difference in perception as maintainers versus users, community members, customers, and so on. So I think that's interesting. So the question of where do you see directors in 3 to 10 years, I think there was just a tiny bit of additional context, if I if I may ask right perhaps to just briefly, like, cover, which is today, Directus' data abstraction engine and, indeed, the setup of Directus is that you connect it to 1 SQL database and some asset storage and we present an interface for that one database and asset storage. But this there is ongoing work to perhaps change that change that makeup of what directors is. And I think before jumping into what we see directors be directors being in 3 to 10 years is just a brief just like a teaser even, you know, the work will happens in public, but a teaser of what that might or what this what this mad scientist project may result in because I think that influences the question that Benny asks. Sure. Yeah. I mean, first and foremost and, like, Kevin's just sliding back the velvet curtain. Like, tell us tell us talk about all the things that we're doing behind the scenes. Yeah. So, I mean, first and foremost, we've seen the the database landscape sort of diverge quite a bit. Right? So when, I mean, when I just joined the project, then it was a long time ago, but it was we just we only supported MySQL 5.6, I think it was at the time. And that was it. That was the only thing I ran on. Right? And that was enough at the time because it was really people needed a database. You had MySQL. That's that was just the name of the game. Right? There was no other real the the rest of it wasn't up and coming enough yet. Then when we rebuilt that in sort of the current paradigm that you're seeing, we were like, okay. Well, let's try to abstract that out to just be SQL so it becomes any SQL database instead of just MySQL. Because there's some differences, but they're generally similar enough where we can just say, okay. I'm just gonna support any of those SQL databases. Right? Then now, you know, early 2024, we're seeing more and more sort of SQL like or SQL compatible ish, vendors show up left and right that are getting increasingly popular. You know, think about PlanetScale or Snowflake or or those types of services, that are, you know, not always directly SQL compatible, but also very close enough to a point where it's like, why wouldn't it work? Because, you know, the paradigms are the same. So part of the the first exercise was thinking about, okay, how can we include those in sort of our SQL support as well? So it's SQL like, but then we have certain features that work, don't work maybe. And then while we're designing that, the question really became, okay, what is just a data source in the first place? Right? Because what is really the difference between, a structured REST API versus, a relational database versus a data warehouse that stores stuff relationally? At the end of the day, you're all talking about, you know, data in in a very similar format in all these different sources. Right? So that is really what we started focusing on at that point, with how can we abstract that away in a format that is this is getting a little technical now, but that is a declarative base. So you can declare the data you wanna get out of it, then have a plug in ecosystem that is fetching that information from individual vendors, and then get it back in a known format. And that is really the data abstraction project. Right? That'll unlock, you know, a bunch of other interesting angles that we never thought about before just by approaching it in that direction. But that is that is really the the the core. Kinda go back to the core principles of the company is, you know, taking sort of expanding, from MySQL to Postgres to, you know, down the SQL line and now continuing to distill it down. Like, that is part of this, like, vision team is how do we continue to be less opinionated? Like, there's other data stores that people use. It's great to quickly support something like CockroachDB from a distributed side. But, you know, the data lakes and all the, sort of LMs infected. Like, there's so much that we could be managing and sort of make those part of the marketplace. You know, how do we make those atomic units of connectors for different data store, data stores that are available? Like, it's great to have the browse, manage, visualize on the app and API side, but we also have to think of the data coming in and how we can improve that over time. And Rich didn't even mention the the f word in that, which I'm surprised. It was I was about to do it. I was about to do it too. To go now. 3, 2, 1. Yeah. Oh, I thought I thought we were about to. I thought we were gonna do it. I'll I'll continue that train of thought too because it it started with what is a data source. And then the second piece to that big thing is, like, where does that data live? And the answer is it lives in all sorts of places at the same time all the time, for good reasons. Right? So we've seen a lot of piece like, a lot of software try to sort of synchronize it back to a centralized place and then manage that and then try to use, you know, integrations to get it synced back out. That has been historically, you know, very popular. We're seeing some tools, pop up now. They're trying to sort of get that data connected through GraphQL specifically because you're dealing with known schemas on both sides. Excuse me. So the question now became okay. If we have this sort of very agnostic declarative data fetching engine that we're building, how does that tie into federating the big f word, across those different data stores at the same time? Right? So as if you're declaring one data structure to come out of it, but the data is like, the underlying data itself is just stored in different places, how can we get that out efficiently, and return it in the way that you need it, rather than having to treat it as disparate data sources. And in reality, like, people do sync data back using directors today. They'll have a primary database, which will be the thing they connect, and then we'll use our automation features code or no code, whatever that may look like, to bring in and sync data from then, you know, additional sources. Because And, again, perfectly valid because, I mean, think of the systems that have just gone offline in the last 48 hours. Like, big systems go offline. It's nice to have sort of a local, like, your own database synced where you can still pull that data in and you've got the results. That. Yeah. Yeah. I know I didn't thought about that. Talking about. Like, you can't always pull it in and say this is we talk a lot about single source of truth in the database. That's what we manage. There's no direct as magic that happens in between. It's the database. That's the magic. We give you access. But one database isn't enough usually. We manage all types of data. When you look at something like customer data, you can have your customers in Stripe. You know, you have it in HubSpot or Salesforce. You've got it in probably some sort of relational database for your SaaS or whatever you're building. And you've probably got some thrown over in, say, cold storage and a data lake. You know? All that customer data needs to be accessible so that you can find the value. But you can't just pull it all like, those services are all used in different ways for a reason. So managing the data where it lives in situ is important. And the only way to really do that is through that, not the 4 letter f word, but the 10 letter f word that are able. And that's why it's so exciting. I counted. Yeah. He sat there counting. And we now know that's what was happening in the last few minutes. Anyway, so it's pretty it's really exciting thinking of, like, what is the future of, you know, data in because we can argue so much on the data outside or the IO. Yeah. The other thing is, exciting to me there is because it becomes a declarative system, we know what the output format is, and we know what the input format is. So it also means that getting that data from one place to the next becomes, you know, a a possibility now because the data format coming out of Salesforce is now gonna be compatible with the data format going into a HubSpot. Right? Because we sort of, convert it and and handle it in the middle at point, which is exciting too. Before I swing around to the actual question, which I think required that context to a degree because I think it is a, a mental model shift, you know, for those who think about directors and what it is capable of. I think talking a little bit, you know, looking to the future, I think is was important to ask that question. The only other thing I will add to all of this, not that I wanna dig deep into it, is all these different data store types have characteristics, as Ben said. They have characteristics and strengths and weaknesses. And there is a I I don't know I don't I don't know if any of us know the answer to it right in this moment of of research and development. But how do you take advantage of the strengths of all of these data store qualities, rather than trying to make them all fit into one box? Or do you have a box that actually makes sense for all of them to fit into? You know, the way that you look at document databases and access those and the strengths and the weaknesses are different from a relational database. And so there's like, big brain, big brain thinking beyond beyond me. Rich has obviously the the real answer to these questions. You know, the entire engineering team is working through solving that very difficult problem, but I think there is no answer. There's no silver bullet for how you, like, solve this problem. It's a balancing act, and you have to really think through exactly what you wanna accomplish. You don't wanna end up with, like, the lowest common denominator. You know, nobody wants to take the power of Aurora or Postgres, our cockroach, and say, oh, you have the power of SQLite because we're gonna support all these, and so it's that lowest common denominator. Exactly. But we all there's also the idea of progressive enhancements. There's things you can do with extensions of some of these databases, that give you more, like, geospatial capabilities. And if you don't have that installed, what happens? So there's so many things to consider. I think Rich and our and our engineering team are doing an amazing job of trying to solve those so that we can have the best possible experience in sort of a progressive enhancement way. But, yeah, there's I don't I I'd be blown away if Richard's just like, oh, yeah. The answer is Come on. Well, the answer is we've got 21 more minutes. It depends, as usual. A lot. Yeah. I mean, the way we're solving a lot of those issues now is by the the declarative model. I've mentioned it a couple of times, but that has really helped a lot in this where we're saying we wanna get data set a, and we wanna nest dataset b based on these values. Right? So it's kinda like defining a joint, but we're not defining exactly a joint because we're defining it in the declarative way, and it's not the SQL query. So, therefore, now in in a document data store where you don't really have native joins most often because it's, you know, in the design model, at least, depends on what vendor, of course. But then now we can say, okay. For the vendors that do have sort of a native joining capability, we can use it. For those that don't, we know what dataset to fetch on the left and right side and stitch it together. So for a lot of the features that we can implement sort of, like, an in the middle fallback that still allows you to do it, it's just gonna be a little bit the performance characteristics are gonna be different. Right? I think the second big piece, and this is something that has been true from the start, is that we don't wanna have any proprietary data model requirements for any of these data stores. So, therefore, even if, what would be a good example? I mean, the geospatial thing, I think, is a good one. If you have very, very specific geospatial querying requirements that only exist in that one vendor, at that point, use that vendor for whatever that integration is that you're trying to build in. Right? So it's like we can manage and show you the the, it's that same 80 20 idea. We can show you all of the information. We can support, you know, the vast majority of those filtering capabilities and the editing experience that you need for to show, like, to build a direct as that or something similar. But if for your end project, you have a hyper specific need that only exists with with an extension in that one sort of database type or something. Great. That's where the nonopinionated data modeling comes in, and then it's just like, please just use that. Right? So that's very techy, like, where where we're going. It's very like hopefully, those watching live or on demand are like, wow. That's, you know, that's big. So with that in mind, because I do think that was required context, I'm gonna ask both of you, and I'd be interested in you answering separately almost to a degree. Ben, whether you see direct us in 3 years to 10 years, how would you be describing it in in the ideal world in that time period? I mean, hopefully, I don't have to describe it. Hopefully, in 3 to 10 minutes Very good. Oh, yeah. Not directors, obviously. Everybody who doesn't use that to manage their data, and connect it and democratize in all the fancy marketing words? When I read the question in the audience from I think it's from Benny. I actually because we were talking about marketplace, I was thinking marketplace. And I was gonna start talking about, you know, how we can elevate the community through allowing them to, you know, monetize their own extensions. And what a cool way for them to have, like, side hustles or primary hustles, you know, where they can, build all these awesome things really easily. That's the purpose of, you know Yeah. Optimizing developer experience for extensions. They can build easily, you know, with some great idea and then just quickly turn around and start, you know, selling it or giving away for free or whatever that looks like. So I think that was something big that I wanted to kinda touch on is how can we, you know, originally, this platform, you know, 2 decades ago, I think Rich was 8, and it was really just me. And I expanded to a few other people. We worked on it. But then Rich came in. It was the 2 of us. You know, a 2 person open source org flying out and talking to huge companies and just super excited. Then it expanded through some financing. We were good at like a team of 10. Now we're a team of like 30. And that's amazing, but you can only scale a company so much. And what's so exciting is you've got the maintainers, the company, then you've got the contributors, and then you've got the broader user community. And it just it gets so big where you get into 100 of thousands of people. We have to continue to focus on how we can embrace all of those people and have them contribute to this platform. The extension marketplace is a huge part of that, bringing everybody in and just kind of having this network effect of learning what the platform can do. Again, I built it for my own myopic ideas of, like, this is what my agency needs, and it grew to be more than that, because the idea is broader than that. But I think we still have a lot to learn about what we can do with this platform that is fed from the community. So I don't think I I would not want to know what Directus will be in 3 or 10 years. I think it's the most exciting thing is that we get to work with such a huge community to figure out what it is, you know, every day, every month. I think that the breadth of of the platform is such that there's so much potential to be a lot of things. There's also the danger, you know, the double edged sword of if you try to be too much, you know, too fast, too furious, what are you? You know, that can be slippery as well. How do you market that? For sure. Talking about yeah. It's it's anything and everything. So, I think just really, you know, judicious growth and trying to understand, like, what is it now? What are we next? Whilst having, like, some fun, like, divergent ideation around what it could be, in the future. This is a real this is a real, like, non answer. I'm, like, skating all around, like, what people thought I'd wanna do. You said it, not me. You said it, not me. Long story short, I think that if my ideal would be that it is in we'll say 10 years out. Like, that's an absurd amount of time. But 10 years ago, I was saying the same thing. In 10 years' time, I would hope that we are still completely true for the ethos of of an open platform and all the things that that brings. You know? The open source, the openness, the radical transparency. As a company, as a product, I hope we are still as open as we are today or even more so. And I hope that the platform is so recognized, as being a leader in whatever we have become at that point that people are just like, dude, that is there's a factor that is an amazing platform. They took the long road. You know, at that point, I'll be saying it's 30 30 years in, which is that's kinda crazy. You'll be fully gray. Well, well, yeah, we'll see. I hope I'm in heaven. Yeah. The goal would be just to be, like, this is the preeminent solution. That is the de facto and not resting on our laurels. Not saying like, oh, yeah. We made it. Like, going into that cruise control, which happens a lot. But continuing to try and stay agile and nimble, like, always trying to, like, push the envelope. Like, what is next? I think you can't plan for that. You know, I I I've made a joke a lot about every time I say the word future proof, I will always throw air quotes around it because you don't know what's coming. A couple years ago, nobody knew that generative AI and all these different emergent trends were gonna be what they are. We We don't know what's gonna be coming in the future. So, Yeah. That's my my answer, not answer. That was good. I'll give it to you. Pass. B plus. Right? I really hope we could start selling ice cream as to the point of the check. We're going to be an ice cream. And then we'll rest on our laurels. Cruise control all the way, baby. No. It's just audience. Someone had mentioned that we could become an ice cream company, which not not that fun. No. I think, realistically, I think, I hope directors can get to that point of ubiquitousness where it's just the obvious starting point for basically any project that deals with data by definition, any project. I think that the current strategy of treating it as a sort of the core platform being a a very modular foundation on which you can build on with extensions. You can build together the ideal x management platform for whatever you need to build. Is really just an exciting sort of way to get the future proofness. Right? Because at that point, it's like, oh, now if an LLM becomes the data source, that can become one of the building blocks, but the foundational thing doesn't have to pivot. Right? It's like, to be fair, explaining what that pivotal thing is has been the challenge. So I think in the next 3 years, one thing that I'm really excited about is to just help people with that sort of onboarding and understanding of what you can do with it to which, you know, marketplace is a huge thing. The templates we've been discussing in the future release will be a huge thing for that, where you can just get started with a sort of one click of, like, oh, I wanna use it as a blank. Bang. You know? Click a button and you go. I think that'll help the adoption that sends a lot. But, yeah, really, that that place for your big notice in the data space, I think, is a really achievable 10 year plan. If I may, I know it was a question for you too, but, obviously, I run developer relations. Right? I come with a very developer focused lens. I think about the developer user, but what I hope to be the case is actually not related to that audit. Because I think that's I don't wanna say a given. I don't wanna be cocky, but, like, I think we are this fantastic developer tool. We're a fantastic tool for everyone, but what I really want is people who don't deem themselves to be technical enough feel like they can have ownership and access over real data and be able to glean whatever they need from that data. I think that, you know, we talk about our mission being to democratize data or make it more accessible across everyone in the organization, and I think that that is that's the thing for me that, like, I'm most excited about. I still think to a degree today, we lean a little more if it was a spectrum of, like, fully technical to developers don't know it's there at all. It's not for developers at all. I still think we're probably leaning a little heavier towards the developer side. And that I think as time goes on and I think extensions are a big part of this, we can start to to just be be, you know, a more ubiquitous tool to use the word you use, but not just for developers. Yeah. To get back on what you just said, Kevin, I think if if I was looking at like the grand, like, decade out sort of landscape. But if we go to like the it was like 3 or 10 years. In 3 years, I've talked a lot to strategics and VCs, like, just companies in general about around where we might be in a shorter time frame. I think that's exactly right. Right now, we are developer tooling. It almost requires an engineer to provision, set up the hardware. Like, there's words that peep normal people wouldn't even they're like, Kubernetes. I don't know. What are you talking about? You know, downloading from Docker. But I think 3 years out is a reasonable time frame, to start looking at addressing the business user or the nontechnical user, directly. I think right now, the onboarding experience, the documentation, everything is framed around supporting and enabling engineers and developers. And I think a couple years out, there is, like, a next big milestone where we can transition. So, of course, continuing to support that, but also enabling the nontechnical users directly end to end. So they Exactly. Exactly. Compose them together and work in that solution and never even have to engage with the technical side, which is another bottleneck removed. And then quickly on Rich's point, I think what's really important there is the openness, that that we were kind of talking about earlier. So Rich was, kind of talking about how never mind. I I'm completely lost. It was basically, like, all the boiler plates, like, we were talking about, like, what Directus is as being this ubiquitous framework. And if it's coming, it's going. It's like, it's almost it's almost. It comes Every time I sleep, like, cough. Some of them are like slice. People think I'm over here, like, grabbing. I'm just, like, trying to cough. Anyway You should be. They're they're just cough. Anyway, yeah. There was there was an idea there. It's it's loud. Another question that came into so did you get it? No. I said back to you, Kevin. About it. Thank you. Thank you very much, Ben. We're we're we're giving up on that, divergent thinking, dabbing vision. I I can see it's still really bothering you, and you're trying to go into the depths of your memory. If you get it, stop me. We can roll back around. Well, then the other questions was, well, in that time frame with it I guess. Yes. Yes. We were talking about, like, the openness of the platform. I wanted to kinda clarify the goal. We were saying, like, okay. You get started with Directus. Like, it should be ubiquitous. It should be but it shouldn't be the full platform. We're not trying to be everything. I think the goal would be to be sort of like a standard where we stay open and you use the tools that you wanna use. We're not trying to replace everything. We're trying to give you this foundational layer. And I think that's sort of the boiler plate when you're an engineer and you're sort of building. It's like, oh, you know, I use this all the time. That's the first thing I do when I get started building my thing. We're not trying to build it for you. We're not trying to be the end all be all solution. We wanna make sure that we stay open. So any tools that you wanna hyper specialize with or that you wanna build or etcetera, we wanna work with those tools. We can't do that by saying, Directus does it all. Like, come to us. We'll help. We'll do all these different things. We just wanna open up more possibilities and make things go faster. And I think that's just a general mentality I wanted to clarify. You know, 10 years out, I'm not trying to say, like, everything will be built on Directus, but maybe Directus will be part of the, the suite of things that you're using, and it'll help make it more efficient using one of the many things that we'll hopefully be offering, you know, that far out. Point of clarity. And at the end. No. No. No. And to be fair, that very mentality, actually, for the audience out of interest, is the reason our our current hackathon at the time of recording is payments. There are so many ideas that came out of it, and one of them was ecommerce. But there's so there's so much nuance in ecommerce as a as a, yeah, as a set of solutions that you would need to extend Directus in many ways in order to make it happen. Is it possible? Absolutely. But are there also excellent tools out there already that do the suite of ecommerce from end to end? Also, yes. So where do we sit there? Well, we are the we are the champion. We are the the cheerleader of this the specialized solution you have, and we can further enrich, you know, your operations, whatever that may be. And that's why it scoped down to payments. It went from ecommerce to payments, just out of interest for the audience. It's very much that. Can't be everything to everyone at a 100%. One of the questions that came into chat was, but not but, but, like, will it still be open source? And I feel like this is the 3rd community question time we've done, and in all, the the first one, our license, you know, change had not yet happened. But in the last one, it was basically the whole hour long discussion. I think we are maybe, Ben, if you give a quick summary as to, like, the the the journey and maybe the future and and where you think we'll land with this. But if I may just, seed, I think we are a really interesting business, if I may say so, because I think we are one of the I don't wanna toot our own horn, but, like, one of the pioneers in what, like, sustainable open source looks like post open, whatever that whatever the phrase is and ends up being, where you don't have big corporate backing. Like, you're not react inside of Facebook and so on. So I wonder if you could talk just very, very briefly about what we are or how you think we are and how that might influence the industry and where we make sure. I wanna mention a second ago, like, 10 years down, I would hope that we're still honoring that that ethos. Like the idea of open openness. And the reason I'm not saying open source is because I think it's also important to be very clear in what you are and honor the history of the terms, and the definitions of the terms. We I was talking with Bruce Perrons yesterday. The he was on one of our live, event yesterday about you know, he's the the founder of the open source initiative, the cofounder. They have clearly defined with ten rules, like, what open source means. Our license strays on 1 or 2 of those, slightly to build makes sure that this is sustainable. And so, you know, immediately, you have to acknowledge that there's a little asterisk there. I still believe that we are open source. We're open source effectively for the vast majority of anybody using our software. Other people might say it's source available. There's post open and an idea that Bruce is is, sort of promoting. There's lots of things. So whatever the term is, I think the most important thing is that we stay true to again, I'll just use that word ethos, but like the idea of staying open as software. The code the source code should still be available. The community should still be able to go and and contribute their feedback. You know, you should be able to use the software, obviously, in development for free, in production for free, but there needs to be a give and take in terms of making sure that it is sustainable. We talked at length about it on the GitHub discussions and a number of different events around how can you make sure that you hold these big corporations accountable when they extract so much value software and they aren't contributing to the open source. You know, what through development, through testing or, you know, financially. So we're gonna continue to figure out the best way to do that. And just like with our license change about 10 or 11 months ago, we're gonna do it with the community because this is all us trying to figure out the best path forward together. So yeah. Yeah. No. I I think the the it's it's to your point, Ben, it's the ethos of open source since the funding issue, which I think has been becoming incredibly clear across the ecosystem for open source projects at scale, that the funding needs to come from somewhere, and that is either gonna be a big corporation, owns it, funds it for mostly marketing purposes that most of the time, or, you know, you you find some other solution. But the post open source movement is very interesting and seems to very closely align with the licensing as we've sort of, now identified it for our own project. Yeah. I think I mean, really, what it comes down to, if you're trying to describe what we're trying to do is we're trying to be fair, and we're trying to honor what we said we would do since the beginning. Of course, there's always gonna be, you know, the the the handful of trolls out there. Everyone has a different different definition of what is fair, but we'll just keep, you know, honing in on on what works. One thing I will say is I think it's important is hold us accountable. This is live and it's also being recorded. You can hold me to this in the 3 or 10 years into the future, but hold us accountable. Everyone should be held accountable for what you say in the past and what you're leaning toward. You know, we're just trying to do the right thing. You know, that's that's a difficult thing because everyone has their own opinions of what that should look like, but hold us accountable. If you think we're doing things the wrong way, if you have other ideas, that was, I think, the success of our license change is we said, here's the problem. Here's a few solutions as we see them. Comment on our solutions. Give your own solution. We just have to find a way through this. But if you think that we're straying, you know, I I used to love Google's little tagline of what was, like, do no evil or something like that. And then when that went away, replaced with, like, some longer POCs or whatever, like, that was a a bummer. Like, I wanna still have as clear of a mission and vision. I wanna stay true to that. And the only way to do it, whether, you know, whoever, you know, whatever this company looks like that this into the future, the community needs to we know the power of, you know, that amount of people. Just hold us accountable. Lovely. Thank you. Thank you both for joining me for this hour. For those who are tuning in, live, this will be available on director's TV in about a week. So it'll be act it'll actually a new tile community question time. So very excited for that. Do check out all the other shows we have here, and we we will continue to run community question time every few months. So, if you have questions, awesome. We also have the company channel inside of our Discord, which is intended for this very purpose. Come ask us difficult questions, not about the director's project, use all the other channels for those, but about the company behind directors. We're a very we're a very open bunch. So, yes, thank you very much once again, Ben and Reich. Thank you to everyone for tuning in, and until next time. Bye for now. Thank you, Kevin. Thank you.",[193,194,195],"966008cd-a047-4fbb-88c0-a1a3647c16c5","b935c153-2aba-44f2-9e73-281ee5583d33","c0b763b9-dfdf-434d-9b7d-cb4ea8868af2",[],{"id":134,"number":135,"show":122,"year":136,"episodes":198},[138,139],{"reps":200},[201,257],{"name":202,"sdr":8,"link":203,"countries":204,"states":206},"John Daniels","https://meet.directus.io/meetings/john2144/john-contact-form-meeting",[205],"United States",[207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256],"Michigan","Indiana","Ohio","West Virginia","Kentucky","Virginia","Tennessee","North Carolina","South Carolina","Georgia","Florida","Alabama","Mississippi","New York","MI","IN","OH","WV","KY","VA","TN","NC","SC","GA","FL","AL","MS","NY","Connecticut","CT","Delaware","DE","Maine","ME","Maryland","MD","Massachusetts","MA","New Hampshire","NH","New Jersey","NJ","Pennsylvania","PA","Rhode Island","RI","Vermont","VT","Washington DC","DC",{"name":258,"link":259,"countries":260},"Michelle Riber","https://meetings.hubspot.com/mriber",[261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,238,449,450],"Albania","ALB","Algeria","DZA","Andorra","AND","Angola","AGO","Austria","AUT","Belgium","BEL","Benin","BEN","Bosnia and Herzegovina","BIH","Botswana","BWA","Bulgaria","BGR","Burkina Faso","BFA","Burundi","BDI","Cameroon","CMR","Cape Verde","CPV","Central African Republic","CAF","Chad","TCD","Comoros","COM","Côte d'Ivoire","CIV","Croatia","HRV","Czech Republic","CZE","Democratic Republic of Congo","COD","Denmark","DNK","Djibouti","DJI","Egypt","EGY","Equatorial Guinea","GNQ","Eritrea","ERI","Estonia","EST","Eswatini","SWZ","Ethiopia","ETH","Finland","FIN","France","FRA","Gabon","GAB","Gambia","GMB","Ghana","GHA","Greece","GRC","Guinea","GIN","Guinea-Bissau","GNB","Hungary","HUN","Iceland","ISL","Ireland","IRL","Italy","ITA","Kenya","KEN","Latvia","LVA","Lesotho","LSO","Liberia","LBR","Libya","LBY","Liechtenstein","LIE","Lithuania","LTU","Luxembourg","LUX","Madagascar","MDG","Malawi","MWI","Mali","MLI","Malta","MLT","Mauritania","MRT","Mauritius","MUS","Moldova","MDA","Monaco","MCO","Montenegro","MNE","Morocco","MAR","Mozambique","MOZ","Namibia","NAM","Niger","NER","Nigeria","NGA","North Macedonia","MKD","Norway","NOR","Poland","POL","Portugal","PRT","Republic of Congo","COG","Romania","ROU","Rwanda","RWA","San Marino","SMR","São Tomé and Príncipe","STP","Senegal","SEN","Serbia","SRB","Seychelles","SYC","Sierra Leone","SLE","Slovakia","SVK","Slovenia","SVN","Somalia","SOM","South Africa","ZAF","South Sudan","SSD","Spain","ESP","Sudan","SDN","Sweden","SWE","Tanzania","TZA","Togo","TGO","Tunisia","TUN","Uganda","UGA","United Kingdom","GBR","Vatican City","VAT","Zambia","ZMB","Zimbabwe","ZWE","UK","Germany","Netherlands","Switzerland","CH","NL",1773850416123]