Open Source
I feel like you have to, like, adopt a creed, sign something in blood. You have to, like, really sell your soul to the open source community. Do you guys all just, like, look down on people like me? Are you even aware that I exist? So Dax, how'd you get into open source?
Speaker 2:Actually, for me, it was right at the beginning of my career. I was into programming in high school, maybe even in middle school. So I was doing it for a while. Obviously, I sucked at that age. Obviously.
Speaker 1:I mean, if you suck now, then obviously you sucked at that age.
Speaker 3:I'm just kidding. That was
Speaker 1:like me having a dig at you. Okay. Sorry. Yeah. Keep
Speaker 3:is a role
Speaker 2:reversal right here. I was I was kinda working, but, know, I wasn't I thought I was good because relative to everyone else in high school, was a lot better. But, you know, in the broader sense, like, I really didn't know what I was doing. But this cool game came out at the time called Minecraft. And I remember one night, I was like, I've been hearing about this game for a very long time.
Speaker 2:Let me watch a YouTube video of it. And I watched a YouTube video of it for like six hours. Like it was someone who did like a series just doing all this funny stuff in it and I was just like so engrossed and I didn't even sleep that night. And then the next day I was like, oh, it's really cool. I can't wait to try it.
Speaker 2:So then I set it up and I tried it. Was like, is pretty fun and I'm into the game but my it's one of those things where it's a sandbox so it kinda captured my imagination a lot and I was like, oh, it would be so cool if, like, this had this other feature or, like, you know, if we are playing with a bunch of people, like, I'd love to, like, have these scenarios in it so I can kinda see what happens. So, around that time, there was a new effort in making an open source version of their multiplayer server. The reason they were doing this is so they could add plugin support. So they, like, created a whole framework around, like, ways to hook into things that happened in the game, and people can make plugins for it.
Speaker 2:And and the goal was, you know, not to literally make the plugins, it was to make it a thing that people can can contribute to. So I found that and I was like, this is really interesting. So I started to make my own plugins. I I was really into creating, like, realistic economic scenarios and the servers that I ran to see, like, what kind of emergent stuff would happen. All kind of, like, crazy funny things happen.
Speaker 2:It's like a whole other story. Like, there were people that effectively, like, created, like, mafias that, like, shut down people and, like, you know, they, like, got all the money and it it was pretty sophisticated. So I was really into, like, creating plugins that, like, enabled that kind of thing. But then I started working on the server itself and I think my intro into that world, the way it happened, is actually exactly what I think of when I say people gained open source. It might be different from your experience, but I think it's a cool way to do it.
Speaker 2:Like I said, in the beginning, I did not know much. Like, I wasn't an experienced programmer. I wasn't someone that was, like, gonna come in and just do all this cool stuff. What I did was and it was back in the IRC days. I just hung out in the IRC channel like to an insane degree.
Speaker 2:Like I was on there for hours just taking part in every single conversation. Whenever someone was stuck, I would like try to Google it for them, try to like look up things and help them. And I swear in the course of, like, one to two months of me doing that, I got, like, years of experience just from one, like, being the person that has to, like, figure stuff out. Like, that just makes it so you understand all these things, you pick up on all these things. Being around other people that like really knew what they were doing and listened to their arguments and like how how they should do things and and of course, eventually contributing back as well.
Speaker 2:But that was kind of the end of that process. Like my entry into open source wasn't really, I'm gonna go contribute a bunch of code. It was doing this other stuff in the community, that just kinda I think I feel like like looking back, I feel like that, like, put me further ahead in my career, like, by years. I just wouldn't have gotten that education or that experience in it in any other way.
Speaker 1:Yeah. So I wanted to just let you keep going and, like, share all that very helpful information for our audience because I'm sure they'll get a lot out of it. But the whole time, I was just thinking how much I hate you. Like, I thought you were a millennial like me. Like, I thought you were a late bloomer.
Speaker 1:Like, I've accomplished nothing until I was, like, 25 years old. Don't even think I started writing code until I was 20. And I thought you were like me. I thought you were a millennial, but you were like you're like the Gen Z people now who have done everything since they were, like, 12. I didn't realize that about you.
Speaker 1:I didn't know that till just now.
Speaker 2:It's just fun to be more on the other side being like,
Speaker 3:these kids, like, what? They're so crazy.
Speaker 1:Yeah. You've made fun of that with with me, like, how how accomplished some of these 16 year olds are.
Speaker 2:Yeah. I mean, to be fair, they they they like, I do see a lot of people that, you know, I think everyone knows who we're talking about, like some of the people that are in in our world. And I think they I mean, I'm like thinking back to what I was doing and I was like, I don't think Of course, got into stuff early, but I still feel like they're all like definitely way more skilled than I was at that age. And I think a lot of that is just like that thing that I was doing, like getting exposure to other people and them kinda teaching me. I think I was doing that, like, right at the beginning of that becoming a thing.
Speaker 2:And now it's, like, kinda supercharged. There's, like, Discord exists now and there's, like, so many ways to get plugged in, so many resources. So I think they're all kinda doing the same thing that I did, but, like, just the outcome and the impact is, like, 10 x more now.
Speaker 1:Yeah. Yeah. It's it's cool to think about how that all compounds. Like, each generation should have, like, earlier and earlier successes and and just people who are able to leverage all this stuff fully.
Speaker 2:Yeah.
Speaker 1:Yeah. It's interesting, the game thing. So I just finished reading Masters of Doom.
Speaker 2:Oh, nice.
Speaker 1:And anytime I read a book, I have to find a way to interject that into a conversation. And you said something about games and open source. And in that book, John Karpak talks about how they made Doom, like, very extensible and all of the stuff he did with those early games, Quake and Doom and all this. It was like a big part of it was open source. And he's like a big, like, everything should be open source person.
Speaker 1:Do you feel that way? Do you feel like everything should be open source and anything that's not is evil?
Speaker 2:I definitely feel like a lot more stuff should be open source and I don't feel but I mean, I don't I don't think it's because it's evil. I think it's just like I was already talking about this with my wife yesterday. My experience of literal code is it is the output of a lot of thinking and experience and effort and energy and like things coming together. The code itself is rarely something that I'm like, the code is what has the value. It it was just all the stuff that went into like deciding to even create it in that way or the thing we decided to focus on.
Speaker 2:That's what has a value. So for me, I rarely feel hesitant to open source anything. Even like something that has no benefit, like no business benefit of being open source. Like, I'm down to open source, just so it's a thing that I can point to. If someone asks me, oh, how how do you do this thing?
Speaker 2:I can say, here's how I'm doing it in my app. I think way more companies can do that. I don't think the code itself is something that has value. Right? It's there's always this like, it's IP, it's intellectual property, but I I just don't see how someone just grabs that and, like, starts to compete with you.
Speaker 2:It really feels like the thing that's hard to replicate are all the things that went on behind the scenes to even get there. No one can, like, just steal that from you. The code is just like the output of of the labor.
Speaker 1:But what about, like, Elasticsearch and like AWS and like taking people's stuff and then making a whole service on it? Isn't that the counterpoint?
Speaker 2:But you can always have a license around how you can use it. And that's what Elasticsearch eventually did.
Speaker 1:Did they just not have the license in time? Is that what the problem was? Like I'm
Speaker 2:actually it was never clear on that. I don't I actually don't even understand if I've always been curious about can you retroactively apply a license or like can people fork previous versions of it because it had a different license. I'm not too sure, but if you look at things like, we're actually cause we're doing this now for SSC, our, like, paid product is also open source. So you just fully open source everything. You can self host it, you so you don't have to use it, use our hosted version, you can do whatever you Except we have a license in there that's gonna say you can't use it to build, like, a competing hosted product.
Speaker 2:If you and we actually were just looking at Posthog, which is they're further along, but they're the same model where it's self hostable, but they very make it. They very clearly state like you can't like AWS can't go and offer like a managed postdoc because there's only one place in the world that can do that. So I think licensing I'm not like I said, I'm not too familiar with what happened with Elasticsearch but, I think Lysysync can address those scenarios.
Speaker 1:Interesting. Do you so do you think I I have all kinds of questions that are not really where we're supposed to be going with this episode. So I'm gonna shift into things I think we are supposed to talk about, which is getting into open source. Do you think, like, everyone should try and start their career that way? Or if you're new to open source, you need to dive in, it'll benefit your career no matter who you are?
Speaker 2:I don't know. So I think my main feeling is, when I hear people say, how do I get into open source? There's a few questions of like, well, like, what is your thinking behind this in the beginning? Like, why are you even asking, should I get into open source? Like, are your expectations?
Speaker 2:Like, what are your goals? And also the answers that people get for that, don't like always agree with. So in terms of expectations and goals, it's I can kinda speak to, like like I said, from my own path, it was purely to get, like, supercharge my experience because open source communities are very active. If you work at a company, you might be interacting with, like, four or 500 engineers potentially, like, maybe more. But day to day, probably, like, around that whoever's on your closest on your team.
Speaker 2:In an open source community, it potentially could be hundreds, could be thousands. And, like, they're working on all different things in all different contexts and they bring up things that you might have never seen before because your company hasn't even touched that stuff. So for me, it's primarily a learning opportunity. It's like a huge way to get involved in an interactive way with the community. And that is you literally do not have to contribute any code.
Speaker 2:You can just hang out where they hang out, absorb what they're talking about, answer questions. That's like, to me, that's the first way to get involved. And the second thing, I think a lot of the advice people get is like, oh, like, start to contribute PRs, but then it's like, well, to, like, what projects? So people just start to, like, go look through GitHub and, like, pick random projects and try to, like, solve PRs and, like, solve little bugs. Sure.
Speaker 2:That has some value. I don't think it has this type of thing where it's gonna impact your career in this, like, large compounding way. So when people ask, like, what projects do I wanna get involved with? And this is a part that's a little tricky. Right?
Speaker 2:I look at this the exact same way as investing. When you're an investor trying to invest in a company, you're looking to place your resources, you know, your money, with people that aren't huge yet, but you can see how they could be huge. Like, what they're trying to do makes sense. You like the people, you like connect with them in the area core, and you decide to invest some of your resources there instead of somewhere else. And you get in early, and if they do well, you're kind of uplifted as well.
Speaker 2:I think open source is the exact same way. You have to look at people pushing new projects that potentially have massive impact and try to get involved early. And you're not always gonna be right, like and it's okay if you're not always right, you're still gonna get some amount of experience as the project grows. If you get involved with a project that's already very well established, you know, you don't get that boost. And a great example I have of this is I saw this happen with the SolidJS community.
Speaker 2:I got in there pretty early, so I was able to kinda have a pretty impactful role there as, you know, Ryan's reputation shot up, Sallajay's reputation shot up. There were people in that got in there, like, way earlier than me. And it was kind of arbitrary. It wasn't like they were geniuses that had all these skills already. They kind of just were into it and they were in there early.
Speaker 2:And now as a project is more successful, they find themselves in these, like, massively influential positions with a ton of opportunities. So that to me is a kind of power open source. It's kind of like, if you don't have money to invest in companies, you can invest your time in these early stage projects. And if you can you can place your bets and potentially, you know, you can have some kind of outsized outcome just like in investing.
Speaker 1:Yeah. So you you really look at it that way. I know you do because you I feel like you're like an open source investor. Like, you find projects early and you, like, pump them up now. You're in a position now where you have some influence, and you can, like you you evaluate it, and you're like, these people are doing the right thing.
Speaker 1:They're they're this is an area that's impactful, and they're executing well. I mean, I'm just thinking of Drizzle. I'm specifically thinking of Drizzle. You've done it with other stuff, though, where you find things really early. I don't does everyone have that?
Speaker 1:Can everyone do that? Is that a unique skill of
Speaker 3:yours?
Speaker 2:To to the level that I'm doing it now is definitely like, it's this is of after years of being involved in open source and and dev tools in general, I'm able to do it to that degree. But the so, like, now I think what I'm getting more into is I don't really have the time to, like, hang out in Drizzle Discord all day, answer questions, like, that's just not like, I'm at a different phase in in my experience. So my role has shifted. Like, I'm still looking for early, like, opportunities to get involved, but now it's more like, okay, I see a project that checks a bunch of boxes that's filling a clear need. The only reason it's not bigger is because, it's just not marketed correctly.
Speaker 2:So I'm like getting more into that now. That that to me, this is like the later stage of it. And if you could think about and like, again, like going back to investing thing, it's kind of the same thing. Like you a lot of investors started out as founders because they don't have a bunch of money. And they founded companies and those companies were successful and then they kind of shift into being more investors where they can just kind of look at other things with potential and like, you know, help blast it and make it bigger.
Speaker 2:So I think I'm I'm kinda like going through that phase just like this is like the open source version of it. Yeah. Even when you're small, like even as a founder, right, you're doing the same thing. You're looking for opportunities that other people are ignoring that have potential. I think getting involved in open source when you're early is similar.
Speaker 2:And it is tricky, right, because your judgment gets better with more experience. So your early bets probably are gonna suck but, you know, it's just like these aren't like the true like the opportunity cost and stuff aren't isn't huge. Like, you spend a little bit of time every day and like if it doesn't work out, you go to the next one. It's you eventually hit something.
Speaker 1:Yeah. So that was I think that was my next question is like, what are the downsides here or what's the risk if if you invest heavily in something that doesn't go anywhere? Is it better to, like, kinda sprinkle yourself amongst multiple open source projects when you're early and you're trying to find a place and a community and then find which one has more traction and double down?
Speaker 2:Yeah. It's funny because I think the parallels to founding and investing, they just keep continuing. I always tell people stop trying to be, like an angel investor in the beginning of your career and like sprinkle money everywhere. Just double down, triple down like on one thing, just give it your all. The whole like diversification thing that makes sense when you want like predictable returns, not when you need to like have an outsized outcome so you can actually set yourself up well.
Speaker 2:So I don't think you sprinkle yourself through a bunch. I think you like, just think about what you're working on, think about problems, think about a tool you use that you just love that other people aren't maybe using as much and just get involved with their community. It has to be like a big big enough project, like a tiny package that's little utility library, of course, is never gonna ever grow big. But I mean, if if I think off the top of my head right now, I mean, like, Drizzle's a great example. Right?
Speaker 2:I mean, I think they're they're starting to they're like, definitely gotten a lot more traction in the past couple months, but they're still on the earlier end, like get in there, answer questions, help them figure. So there's still a lot to figure out there. If you look at some front end frameworks, right, like again, Solid is maybe a little bit ahead ahead, but there's always new front end frameworks coming out. There's always people doing like weird things.
Speaker 1:Still time to get in on quick? Jump in there, people.
Speaker 2:Exactly. So it's okay if they don't they're ultimately not like a React. They will grow some amount in your time there and that's enough for you then to get the experience and judgment to go on on to the next thing.
Speaker 1:You're getting something out of it. Yeah. You're not it's not a complete loss.
Speaker 2:Yeah yeah yeah. And and especially early on, like, it it'll plateau over time but early on, it'll just be like, literally any project you get involved with, it's just gonna like, you know, triple like, your skill set or experience. And then Yeah. The impact is just this is so huge when it's early.
Speaker 1:So I feel like I love open source. Okay? I love it. It's enabled so many things in my career. It's great.
Speaker 1:But I don't feel like I'm a true open source person. Like, I feel like you have to, like, adopt a creed. You have to, like, sign something in blood that, like, you will never do another thing in software that's not open source or something. I don't know. You have to, like, really sell your soul to the open source community.
Speaker 1:I I have used open source in sort of, like, a pragmatic way. I've contributed in a very pragmatic way. Like, I when I need something, I need a feature and a thing I use a lot and it's open source, I know I can just submit a PR. And that's basically all my contributions to open source have just been thing I use, doesn't do thing I need it to do. I'm gonna make it do that thing.
Speaker 1:Does that make me like do you guys all just, like, look down on people like me? Are you even aware that I exist?
Speaker 2:The the thing you're describing, I actually find very annoying. Like, the the side of open source where it's like everything must be free, having a business model around a project is evil. Like, I think that's such a misguided way to look at open source. I think the upside of open source is just from like, if I'm starting a business and it happens to like SSC, right? Why are we open source?
Speaker 2:Because we need to integrate with a million things and we just do not have the time to like do to make what to make something like SST successful, like it needs to work with every front end framework. It needs to work with like all these libraries we wanna use. We just do not have the time to go and dig into all those details. We rely on the community. So selfishly, we want more people helping us achieve what we wanna achieve.
Speaker 2:That's primarily so foundationally, we're open source. Why are we making our console open source? It doesn't have to be. Like, our paid products doesn't have to be open source. I think that's just gonna be me and the team working on it.
Speaker 2:We're not really gonna get a lot of contributors there. But I don't see any downside of it being open source. And the point of that console is to make a bunch of money. Like, it just straight up. Like, we're try we're here.
Speaker 2:We're not doing this altruistic thing out of the goodness of our hearts. Like, we see the potential to make, a bunch of money doing this. And there's a side of open source that's just like, that's innately bad. Like, if you're monetizing your open source project, that's bad. But like there's so many creative ways to do that where the incentives are still aligned.
Speaker 2:SST is still gonna be massively open source. Every feature we can shove in there that in an open source way, we're gonna do it. There's just some things we can't do in a in like a non hosted way. So we're gonna do that for you and that's that's gonna make us money. That's gonna sustain the whole thing.
Speaker 2:It's self sustainable. We're not relying on donations, we're not relying on, you know, you know, asking people to donate or like guilting them into donating. I think there's some projects where you have to do that because there is no business model around it. But there's so many business models that are possible with an open source project. And I think when people start to look at it as no, making money is bad, They like lock themselves out of like even thinking about those opportunities.
Speaker 2:And those opportunities are good because they make your thing way more resilient and way more sustainable. If we have a business with thousands of users paying us and that's what's sustaining the project, that's way less brittle than, like, three giant corporate sponsors, like, sponsoring your thing where, like, okay, guess what? The economy goes down, one of them decides to pull out and that's something your budget is broken. Right?
Speaker 1:Yeah. Yeah. I mean, we've all, like, used something in open source, relied on it even heavily Mhmm. And then it lost the ability to maintain itself. Like, it lost funding or it never really had it, and the people who were maintaining it just had other things to do.
Speaker 1:Like, there's such a like you said, alignment of incentives when an open source project is healthy and making money. What where does it come from? Where like, do you understand maybe you could help me understand the sort of zealots that don't think you should make money with software. Could you could you, like, tell me what your Dax brain has figured out about that? Like, what is the the, like, explanation like, the good argument for that?
Speaker 2:I mean, I I this, like, goes super deep for me because I think this this sentiment of, like, making money as evil
Speaker 1:Are we about to get into, like, capitalism and stuff? Is that where we're headed? We're gonna
Speaker 2:get into, like, religion. We're gonna get into, like, all kinds of things here. But I Let's mean
Speaker 1:do it.
Speaker 2:I don't know how deep I wanna go, but ultimately, there is a culture in certain parts of the world, where adding money is evil or, like, aspiring to, like, make money is, like, innately bad, because it's, you know, it's like just something that just historically for thousands of years, like there's just been certain morals around like anyone that is has money is bad or like they got it in a bad way or they did it by stealing from others. I think it's kind of a reflexive gut thing when people see that money is entering an open source project that it must be automatically bad. That's not to say there aren't some models that are broken where the incentives are actually bad when money enters in, but the point I wanna make is that it's not automatically bad. There are models where everyone wins. You create value for everyone, you capture 10% of that value, that's enough to, you know, to stand yourself.
Speaker 2:Yeah. So I to me, I haven't really seen a good argument against it. Like in specific cases, yes, like, you know, there are some cases where it's not really meant to be an open source project. It's kinda like an open source trap where you start to use it and then there's like, you're kind of forced along some kind of funnel where you actually can't use it without in practice without paying someone. Right?
Speaker 2:Yeah. That's not a great setup. The way SST looks at it is we try to make it fully like, if you don't wanna use our paid stuff, you don't have to. Our goal is to make the paid stuff, so great that you, like, want to use it. And you don't have to use it, but, like, you know, if 5% of our users use it, that's all we need.
Speaker 2:And that's I think that's a great aligned model. And I don't really see a great argument against doing something like that. Like I said, most arguments I've seen have just been reflexive that if you're not doing this for a purely selfless reason, it's bad. And I I just don't like that. I think the best systems in the world are where people are acting selfishly, but the way it's set up, even though everyone's acting selfishly, everyone still wins.
Speaker 2:I mean, that's a good beautiful thing.
Speaker 1:Yeah. Yeah. This is this keeps coming up just in the last few days for me in my brain. Like, the idea that, like, no intentions can be completely pure. And I think the more we're just honest with that and we just accept that our intentions are largely selfish or at least partially selfish, and the more upfront about that we are, I think that's the best we can do Yeah.
Speaker 1:In terms of being honest with ourselves and with everyone else. I think you get into trouble when you start trying to pretend or start trying to convince people that all of your motives are are pure, your intentions are good. It's all just so complicated.
Speaker 2:Yeah. Yeah. And and I I I've always loved this con I like talking this always makes fun of me because I actually thinks I'm obsessed with this, everyone's selfish, but it's still a great concept. Like, I just find it so fascinating. And I and I bring this up with open source a lot because I think a lot of open source maintain not a lot, but some open source maintainers do try to make themselves seem like I'm this person that is just like sacrificing my body so that the rest of you can like do your thing and I'm getting no benefit and I'm just killing myself for no reason.
Speaker 2:And I like I hate that because one, it's not true. And two, it's okay that it's not true. Right? If you have a successful open source project, maybe it doesn't make you money. Maybe you can't find a good business model around it.
Speaker 2:But you you have, like, thousands of people using your thing that know who you are, that respect you, your status elevates, your influence elevates. That indirectly helps you with your career in in so many ways. And you can see you've seen this, especially recently where, you know, take look at some open source people that have been successful and look at where their career has gone. Right? You look at someone like Rich Harris where he's made this massively successful project that he just did on his side.
Speaker 2:I don't think he really had much funding for it. I think he just it's very, founding a company in a lot of ways. Yeah. And his exit was that Vercel gets to hire him. I'm sure they're gonna pay they're paying him a really nice salary to continue to do literally what he loves every single day and work with people that he loves and work with the community he's built every single day and he gets to do that full time.
Speaker 2:That's like an that's like an exit, right? It's like the equivalent of an exit for in the open source world. So, that's awesome for him and I'm really happy for him and like, didn't have to be this all this like purely selfless thing. Like he's helped so many people, like do so many things and he got to win as well personally. Like, that's that's, like, awesome, and we should we should be really happy about that.
Speaker 1:Yeah. No. That sounds great. I've never had those dreams of, like, just being an open source maintainer, but I know that there's something for everybody. Like, I mean, it seems to be working for you.
Speaker 1:You seem to enjoy it.
Speaker 2:Yeah. I mean, I'm a little bit different than him because I'm also here because I just see an opportunity to make a bunch of money. Like, that's why I'm doing open source, and the side effects of, like, you know, being able to have more influence. Like, those are all great for my career as well. Don't I feel the need to pretend like it's anything else.
Speaker 2:And I I know most people don't care that that's that's why I'm doing things. They're just happy about it. I'd also like to hear your way of getting into it and like what you did and then kinda how it impacted you and
Speaker 1:Yeah. So I started I mean, my first open source contribution was to the CDK
Speaker 2:Mhmm.
Speaker 1:I think. And it was that I was working with Python shop. And there was, like we were using the CDK, We were using it in Python, and there wasn't an easy way to bundle up Python Lambda functions. So there was, like, Node. Js function was a construct that'll bundle, like, your your thing up.
Speaker 1:You don't have to think about it. You just write the code, and it just ships it. There wasn't an equivalent for Python. So I made a Python function construct, which was basically just like copying the Node. Js one but doing Python things, PIP installing dependencies and all that stuff.
Speaker 1:That was my first contribution. I had gotten I I think I did what you said, actually, in retrospect. Like, I was kinda plugged into the CDK community because I was using it so much. I was in the I don't remember if it was Slack or Discord, wherever. I was kinda in that community.
Speaker 1:I was seeing a lot of the GitHub activity just because, like, I wanted to know when there was some new feature or something new that we could take advantage of in the CDK. So before I ever contributed, I was definitely doing that. I was kind of, like, active member and then at some point needed something and and put out a PR for it. Learned a lot just about, like, the process of working with maintainers and kind of, like especially how AWS is open source and, like, there's actually a team that's meeting every day and talking about their stuff behind the veil, and then you get little inklings of it out. I know that's not necessarily doesn't apply everywhere with open source.
Speaker 1:But for an AWS project, that was my first. And then I think from there, it was kind of, like, cool to see it merged. I remember the day I I can remember, like, being so excited when they merged it, telling my wife about it. She's like, okay. Cool.
Speaker 1:Sounds awesome. What what are these words? And then from there, I think I'm I did other things like that. Like, I was using TurboRepo pretty early with TurboRepo, and it was like I had played with Go in my career, didn't have a lot of experience with it, and kinda wanted a reason to, like, do more Go stuff just to see what's this like. And there was something it didn't do for CDK projects.
Speaker 1:So it kinda, like, started with CDK that led into other projects I'm using. They didn't work well together, so I I shipped a PR to TurboRepo to make it cache CDK stuff better. And just kind of, like, down the line, it was, like, every time I ran into new things on any given project where I was fitting together technologies that maybe a lot a lot of people were fitting together, so I had kind of a weird use case. Open source made it possible to go in and and contribute to those projects and make it possible to do what I wanted to do. So that's I think that's the biggest thing is just kinda, like, being off the beaten path in terms of my stack, in terms of things that interest me, this intersection of web development and AWS.
Speaker 1:That really kinda, like, led me down a very pragmatic open source journey, if that makes sense.
Speaker 2:Yeah. And it sounds like in those situations you brought up, it is similar to what I was saying earlier where, you got in these into these projects maybe a little bit earlier than when they were maybe massive as they are now. And that's where all the opportunities to, like, easily contribute show up. Right?
Speaker 1:Yeah. I mean, the CDK is as a project, like, anybody could go contribute to CDK because there's just so much service area. And, like, if you know what the CDK is, it's like trying to kind of, like, cover all of AWS. So SSC is great because it just focuses on, like, the 2% that you really need. The CDK is, like, a wrapper around CloudFormation.
Speaker 1:So there's just infinite work in that repo. Like, if you're into AWS stuff and you need a a repo to look at, there you go. I don't know. Does SST take contribution time? Do you guys, like, actually have much community stuff?
Speaker 2:No. Yeah. We have a lot actually. So there was a while where we just weren't accepting many contributions because our, like, we as we discovered what we were building, there was just a lot of cruft and having people contribute to areas that we know we were gonna blow away just didn't really make sense. But as of two point o, one of the biggest things I was excited about was we, like, restructured everything and we were, like we're not super willing to take contributions.
Speaker 2:People contribute, like, the craziest things. Like, they'll have gone so deep on something and figured out something that would have taken me a whole day. And I look at it and I'm, this is incredible. Like, we are a team of three people and we literally could have never shipped this thing otherwise. And it's a big reason why I think open source is great because you get like these superpowers for your company.
Speaker 2:We'd to be a much larger company to ship as as much as we do now with the community's help. Alright. You do the intro, Adam.
Speaker 1:Okay. Fine. Yeah. I tried to let you do it. You did a terrible job, so I'm gonna do it.
Speaker 1:So, Dax, we we have Tiege here. Tiege is huge in the open source community. He's one of the core maintainers of NeoVim and just happened to bump into him while we're recording. Like, Tiege could come on and tell his story. So, Tiege, tell us more about how you got into open source.
Speaker 3:Yeah. So kinda funny because it's a little bit similar to some of the stuff Dax was saying. I was in school at the time, in college. I didn't start programming till after, like, my sophomore year of college. So I didn't I didn't ever think I was gonna write code.
Speaker 3:And then I fell in love with writing code after I took one took a class at school. So then during one of my internships during school, there was a a guy there that I liked a lot who was a big fan of Vim. And I was like, I don't know anything about I like, I didn't even know other text that or, like, editors existed. Like, all I'd use is, like, Eclipse in our lab for computer science. Like, I I had nobody in my life who knew programming.
Speaker 3:I had no programming heroes. I had no programming concepts. I just, like, literally had taken, you know, two semesters worth of of programming stuff. Right? So, like, I didn't know there was a big war between Emacs and BIM.
Speaker 3:None of that stuff. Yeah. But so he was really cool. He was really productive, really great worker, loved working with him. And so I was like, well, I wanna kinda be like this guy.
Speaker 3:Right? So he used him. So was like, well, let's give it a go. I don't know. But at the time, NeoVim was just coming out.
Speaker 3:And what I thought was super cool about that was that you could write plugins in Python. And I was like, oh my goodness. You can, like, write code to do stuff in
Speaker 1:your editor.
Speaker 3:My mind was just blown. Right? Because, like, up until this time, you I just used, like, Eclipse. Right? And everyone just hated it.
Speaker 3:You're just, well, we just editors suck. You'll never be happy. It's just, like, it's the thing that happens. And so then I get exposed to this concept of, like, dude, I could just write Python. I can, like, script stuff in my editor.
Speaker 3:This is incredible. So I started playing with it, and then it was really funny. We were so me and the other intern were downstairs. Like, we had two buildings, and, like, the other one was we always call it the annex because it was, like, we just had the basement of the building at this consulting firm. So, like, we we were down in the annex, and we were just rising our vims a little.
Speaker 3:You know, as one tends to do. And I wanted to do, like, I wanted to put a status line thing in the middle of my status line. I just I just, like, you couldn't do it at the time. The split for status line where you could just have one and it just split it between left and right side. And so I was like, well, I wanna put something in the middle.
Speaker 3:It seems kinda weird. You can't do that. Like, literally literally, that was my whole thought process. I didn't even know what pull requests were. I don't I didn't even really understand git.
Speaker 3:Like, we I I don't even know. We might have even been using for some of our projects at work, we used, like, Mercurial and stuff because we were, like, a real full stack shop. By that, I mean, we made hardware and firmware. We made the stacks that that ran for our customers. Right?
Speaker 3:And so we had to, like, check-in binaries all the time. Right? Because you're, like, literally checking in firmware. So anyways, so I, like, didn't even know git or anything. I just, like, go to this GitHub place.
Speaker 3:I don't know what GitHub is. I literally don't know anything. I there's, like, an issue about this, and I'm like, that sounds cool. And then I just, like, started just started, like, writing some code. I lit I don't even know how I git cloned it.
Speaker 3:I think I, like, probably copy and pasted eight different things to get it git cloned.
Speaker 1:I don't know what's happening. You know what the ZIP?
Speaker 3:Yeah. Like, I Maybe? I think I I don't think I downloaded the zip because I think if I would've downloaded that, I would've been like, I don't know how to get it from a zip to unzip on Linux.
Speaker 1:Like, I would've been like, I don't know what I'm supposed to do next.
Speaker 3:And And so make this PR. I can send a link later, but I just had a good experience there. There were a lot of people in the Neovim community that were being super helpful. And I learned a ton of like, I learned more in that one PR than, like, a lot of, you know, other classes combined. You know, the classes provided the baseline that I needed to do that PR, but, like, doing that, you know, and they taught me about testing and, like, I I didn't know what git rebase were.
Speaker 3:I actually couldn't merge my PR at the time. Like, git didn't allow maintainers to just, like, commit to a a PR. Right? So, like, I didn't know how to squash it or anything. Like and I had, like, a 100 commits, you know, because I don't know what I'm doing.
Speaker 3:Yeah. So so Justin was, Justin's the maintainer of Neovim, and he's like, it's okay. You know, we'll sort it out. And he, like, takes the takes the PR and, like, goes and does whatever it took at the time. You know, I don't know.
Speaker 3:He just cherry picked it, I'm sure, and then squashed it and then, like, pushed. But it it got merged. And that was the first time that I did anything with open source stuff. So there wasn't any, like, philosophical, you know, sort of everything should be free and open kinda thing to start with. I just I I literally didn't even think about anything.
Speaker 3:You know what mean? You're just like, I just wanna have my status line look this way, and I can't. So, like, I'll just write some code. I think I can do this. And then and then it happened, and then it got merged, and it's there.
Speaker 3:So you can use it today.
Speaker 1:Yeah. Your whole career then has mostly been in open source. Like, you it was the beginning. That's what it sounds like? Very beginning of your career?
Speaker 3:Yeah. Well, so, like so then I I worked at a place where we used some open source tools, and we contributed some things back a little bit when I was at that consulting place. And then I went to work for Epic, their medical health records company, and we didn't do anything open source. And that was fine. Like, I just didn't like working at a big company, mostly.
Speaker 2:Were you at their were you at their campus in I forgot where it was. Yeah. Yeah. Yeah.
Speaker 3:Yeah. So I moved to Wisconsin for a little while. It's a cool place. They get a lot of sort of, like, unnecessary hate just because they use old old tech and stuff like that. But it's a I I don't know.
Speaker 3:I thought it was fine. And their mission like, of of of companies, they're trying to make software that, like, helps people get better. I don't know. It seems pretty seems pretty good. Like, all the all the people who's like, oh, you know, I work at Meta.
Speaker 3:My goal is to make sure that you hate your life and keep scrolling here. I'm like, wow. Good for you. Well, I'm glad you get to use React, but maybe you guys should, like, do something good and put in set for the world. But I don't know.
Speaker 3:This is so so I'm the one that gets flamed, you know, because we use weird languages. But it seemed like Epic was trying to do some good things.
Speaker 2:You should probably clarify that it's Epic, the EMR company. Yes. Yeah. Right.
Speaker 1:Not game company.
Speaker 3:Yeah. So so then I moved. When we moved back, I worked for a different place and, like, started to transition back into getting more, like, in into doing open source stuff, and I was contributing a lot more to Neovim, like, at that time. And then I work for Sourcegraph and we're an open source company. So but I'm not, like like like I said, I'm not, like, philosophically opposed to closed source.
Speaker 3:I think that a lot of times, like, it's not super worth it. But it also I can understand. There's there's also a lot of things that are easier when, like, it's not open source. Like, you can just break stuff whenever you feel like or oops, I committed a key or, you know, there's, like, a lot of stuff that that you don't have some problems with that you do when things are open source.
Speaker 1:Yeah. I was gonna ask if you, like, being so immersed in it. You're the person I know that's the most into open source. Like, did you start to develop that philosophical view? Like, I know we started eating plants for, like, health reasons, moved away from eating animals.
Speaker 1:And then, like, eventually, it's like, oh, animal lover. We care about that stuff now. I wondered if, like, it kinda
Speaker 2:grew on you or or where
Speaker 3:you're at. I mean, I've, like, definitely had some, like, politics and things change from when I was, like, in college till now, I would say. But a lot of the stuff around that, like, I just think people should I think people should be able to write code however they want. That includes, like, they should be allowed to write code open or, like, closed source. And if other people want to run closed source code, then that's totally fine.
Speaker 3:But I do think, like, there's a lot of benefits from having code open source. So I think, like, on a practical or, like, Dax, you mentioned that lots of times that you can make systems where people act in their own best interest and it's still in the interest of others. Like, I think open source is a lot of can be like that in a lot of ways.
Speaker 1:Yeah. With stat news, I mean, we're we're kind of, like, trying to start thinking about doing things open and opening up repos. And I think, like, we we realized we never had a reason not to. It was kind of, like, superficial reasons we thought in our mind that it was a bad idea. I guess on the other side, I I wonder though, like, who would benefit from looking at some of these code bases now?
Speaker 1:Like, they're so gnarly and old that I don't know if anybody's gonna learn anything, but not opposed.
Speaker 3:Yeah. I think, like, people sometimes don't really wanna grapple with the fact that open sourcing something does have a cost. Like, it's not free, especially if you wanna take that seriously. If you wanna take open sourcing it seriously, like, someone makes an issue and you need to reply, that person's, like, not necessarily a customer or maybe never will be. And, like, that's gonna be time that you could have been spent building your next feature for customers.
Speaker 2:Yeah.
Speaker 3:So, like, that's where like like I said, like, I just don't think things have to be open source. Although, I do tend to prefer, like I prefer liking things that are open source alternatives. But, like, I also use like, you know, I I have a Gmail.
Speaker 2:You know what I mean? Like okay. No. I was just gonna say one thing I liked about your story is, just how random and unintentional it all was. Because I think when people look at someone like you or just in general people that are, like, really far down their career, whether it's almost open source or anything else, they're like, oh, this person, like, followed this, like, perfect planch path to, like, get to where they are now.
Speaker 2:But so much of things are just random. Just start to, like, mess around with something randomly. Yeah. Exactly. And then, like, it ends up ten years later, you're in, like, a crazy place in your life because of it.
Speaker 2:So you just can't plan a lot of these things.
Speaker 3:Yeah. A lot of it, though, does have to do with, like, you want to be aware of, like, what you're feeling and thinking about something. Right? So, like, what I found was that I was enjoying these things. And so, like, I was able to introspect what parts of programming I liked or didn't like, and then went for the things that I liked and was passionate about.
Speaker 3:And then that was, like, an intentional aspect of it. So, you know, there's, like, a parallel world where I fall in love with Emacs and, like, become a core contributor of Emacs. And that also would have been fun, I think, like, because I think Emacs has a lot of the same principles that Neovim does. But, you know, what was important was that I was, like, analyzing what I felt and was thinking and then went for those things instead of just, like, accepting whatever it was that was happening. Like, there were people who were working at Epic who were really happy to just, like, get some design doc, have to go through eight meetings with that design doc, get all the sign offs, get it approved, implement said design doc, walk it through the three stages of, you know, environments, and then get it shipped and then wait sixteen months for the next release.
Speaker 3:And that was, like they were, like, happy with that. You know? But, like, not in a I'm not saying it's bad. You know what I'm saying? It's just, like, they were happy with that.
Speaker 3:And I recognized, like, earlier on that this isn't fun. I don't feel like I'm learning the things I wanna learn about and and stuff like that. And so then I left. Right? So there's, like, a big there is still while, like, the serendipity is there, you wanna be cognizant of what you feel and what you're interested in doing so that, like, you can, when you're ten years later, be like, yeah.
Speaker 3:I am where I wanted to be as much as possible. You know, life happens and you don't always get to choose.
Speaker 1:But yeah. I don't know if any listeners are a little depressed after this episode like I am now, but I know Tiege started programming late in life. I thought you were thought you were into it way earlier. I I was late in life. Like, I was like you in college, but, like, people watch me program, and they don't they don't question that.
Speaker 1:It's like, yeah. Sure. He started late. But they see people like you, and they think he's been doing this since he was seven. Turns out no.
Speaker 3:I think so it was the end of my sophomore year. So I went to, like, a smaller Christian liberal arts college, and I was doing mechanical engineering. But, like, as for engineers, they all have to take some coding courses. It was, like, part of my, curriculum that I had to take one. So I took one at the end of my sophomore year.
Speaker 3:So I would have been I don't know. What is that? Like, twenty. So I guess maybe next year, I'll have been programming for ten years.
Speaker 1:Wow. Okay. I hate myself now. Sorry. This has been good, though.
Speaker 1:I don't get that a lot. I don't feel that way. I don't feel the way I'm feeling right now. Don't have a lot of feelings. But Tiege being new to programming.
Speaker 1:Yeah. Okay. This is special. You're the first, Tiege. You're the first person who's come on our show.
Speaker 3:Nice. It's not
Speaker 1:me or Dax. First guest. Very cool. Well, this has been good. Tiege, thank you so much for coming on.
Speaker 1:I know people are gonna get a lot out this this particular episode, you sharing your story. Yeah. Open source, good. I think that's the takeaway. Contribute.
Speaker 1:Get involved in communities. Build stuff you wanna see.
Speaker 3:It's a really good way to build something. And depending on the project, it's possible to get sort of an outsized amount of mentorship, which is really nice. Like, if you show a lot of passion and go getting, people are quite willing on a lot of projects to, like, respond in kind. So it can be a very outsized effect on your, learning and, like, your learning speed.
Speaker 2:Good stuff. Cool. Alright. See you.
Speaker 1:Bye. Alright. See you guys.
Creators and Guests

