The Standup with ThePrimeagen

is AI ruining opensource? (Lost episode)

Donnerstag, 26. März 2026 · 53 min

MP3

Shownotes

Thank You! blacksmith.sh our #sponsor (youtube.com/hashtag/sponsor) today! Speed up your GitHub Actions AND pay less!
x.com/terminaldotshop - Want to order coffee over SSH?
ssh terminal.shop

This week on The Standup, we break down the real way to contribute to open source… and why most people get it wrong.
With creators behind tools like Laravel, Tailwind, and Ghostty, we get into what actually matters: earning trust, fixing real problems, and why “drive-by” PRs (especially AI-generated ones) are doing more harm than good.
We also talk about whether open source is still worth it, how it can shape your career, and the hidden realities of maintaining projects used by millions.
If you’ve ever thought about contributing to open source… start here.

Transkriptvom Podcast bereitgestellt · Zeitmarken springen hin

All right, all right here. Let me do a nice little intro. Anyway, sorry. All right today we are talking about open source the right way to do open source We have with us TJ core maintainer or used to be core maintainer of neovim atom creator of tailwind tailor out well creator of layer of L and Mitchell creator of many many things Most recently ghosty a super fantastic Terminal in which was featured in open AI Video just recently if I'm not mistaken Yeah, yeah, that is that is pretty dang awesome all right And so just kind of set the stage for those that don't know there's this video that was released two years ago And which somebody used express JS as a means to give an example where they forked express JS

manually edited the read me and then put in their name and from there on out Approximately every six hours for the last Two years express JS receives a PR that it says update read me and then has somebody name or the name of the video As the only contribution and so you know, this is obviously caused quite a bit of stir in the open source world people are not very Happy about that I can totally understand why it's even bleeding over into other projects where people are doing the exact same thing Just a different project like no JS or just pick your favorite project There's probably quite a few of them And then a lot of discussion from there again to set the stage is like don't can I've seen videos like I think teo did one don't contribute to open source was his video and his big argument

Is first find the thing you're really interested in and then once you're really interested in get involved in the community And then from there maybe then you can start doing fixes and all that and so I feel like we kind of assembled a crap team of people who've been Contributing to open source for quite some time and so I'd like to hear everybody's thoughts on what is the right way Picking tribute to open source So let's start with Mitchell, but you haven't been on here in a while Yeah, yeah, yeah, it's good to be back and and we'll see how long I'll be able to stay on and waiting for someone to come over to my house right now So we'll see um, but yeah, I think I there's so many ways to answer this but I think in general like the happiest the golden path of what the right way is to contribute to open source is definitely what you just said

Is like join the community Figure out what they're about figure out like the things they care about figure out the the vibes of how they There's observed to sit there and observe for a little while And then after that make a small change You know, it's it's really hard, you know open source is a lot of trust, you know, if someone who's contributed Dozens of patches that I know they're gonna always like follow up with something breaks like if they do something big and scary I'm more willing to merge it because I'll be like, yeah, they'll follow up if it's not perfect anyway And they've shown that they've they do pretty good stuff But if you just like come out swinging and do something big Then it's really hard for me to like dedicate the time to review to that so start small and

And try to focus on like fixing bugs or something. I actually There is like I don't know this is still happening, but there was this trend for like a decade where people were like right Documentation and I'm like, please don't right Um, like if if you're a new user to a project, you're a not expert enough to be teaching every other beginner the project So like don't write docs Don't fix typos. Don't do any of that like it's kind of just noise that doesn't matter of that much So refactor things Never be fact things almost ever even if you're a really serious contributor Yeah, that's that's I think that's my like the big picture, but there's just so many angles to it Whether you're a vibe coder or a handcrafted free range neo vim user

You still need CI to be able to build your binaries run your tests or make your releases That's where blacksmith comes in it takes your github actions and with a one line change makes them faster and more cost effective Not only that, but you can finally get visibility into your CI pipeline right when things go wrong We're happy to have them as our sponsor for this episode because just like us This one is truly a no brainer sign up and enjoy faster get up action workflows at a much lower Price blacksmith twice the speed enough to 75% reduction in cost check them out of blacksmith dot sh now back to the standup That's gonna be getting a lot of like to do a tj has to think on refactoring because tj's name is literally teach refactor dv

Lee, he's a big big fan of it Well, I mean you miss on percent of the shots you don't take so if you you've got a super refactor if you need one But I mean my like serious answer is if you're new to the project you don't know Why anything is the way it is And so like if you think oh, well, I know better I'm gonna write this in a new way that wasn't the way it was before you're likely gonna end in either the same spot I don't know how many times I've started a refactor. I could definitely do a better this time And then you get to the end and you say that's the same function signature Um, or you just end up in a worse spot that doesn't handle the 37 edge cases that were there before Or like some other existing thing like

For Neo them We had this sometimes for people like well just rewrite this big feature in like a new way I was like, but we're getting free maintenance free look very low-cost maintenance or like applying vim patches To this thing But like it should stay exactly the same because we're getting updates from vim But there's nothing like There's no way to know that unless you've been like Mitchell said hanging out in the community seeing that vim patches Are a thing doing and like understand like oh there's like a whole world of other contributions like Existing in the separate repo that you don't know about so in general Yeah, a big a big refactor As like an early thing of like I'll show how good I am at programming. They'll really like me after this is a sure fire way to get people

Not happy with the contribution Anybody else Taylor You you've been running an open source project for just a couple years now, right? Yeah, a few years 20 or something like that. I can't remember. Yeah Yeah, gosh, I mean a lot of stuff comes to mind like some of the the first things that come to mind are One thing we actually have in our um Laravel internal like code guide is read the room Where like a lot of times we'll get a PR that just seems like Disconnected from the rest of the projects even just in terms of the way the code is structured or The where the method is even put you know in the code base sometimes just like at the bottom of some file because someone stuck it there So like reading the room and like the context of what you're contributing to

I think another thing is like I'm always looking for My my favorite kind of poor request are things that like maybe add five lines of code but unlock like Really like Tons of developer power or like a really great new feature or flexibility with very minimal like code changes to the framework itself um In contrast to like huge PRs that modify dozens and dozens of files to unlock one niche like edge case for one particular user. That's like the worst kind of PR for me um Also, I'd prefer like all PRs ideally Come out of real world need a surprising amount of PRs to Laravel come from just like people watching other people make PRs and they see one feature come in and they're like oh I that caused me to have this idea

It wouldn't it be neat if this had this feature and like it wasn't driven from any real world like use case It was just because they were watching other PRs come in they're like Made them think maybe this would be helpful to and it's just sort of made up in a vacuum so Don't do that. You know, I try to drive most PRs off of real world stuff And that's how like all the features even I myself add to Laravel are usually driven out of real world stuff We're building here at Laravel very similar to like rails and base camp and all of that um Yeah, so that's a couple quick things that come to mind I would assume you get a lot more PRs for Laravel This is just me completely assuming in a vacuum here

Just because the framework itself and also the code people write with the framework are very highly aligned And so that they could probably start slunk you know Spalunking through and try to figure it out. Whereas Adam Watham I assume tailwinds code base versus the people with whom they serve are very very far away camps. Yeah, meaning that you know Yeah, we don't get a lot of contributions really because of that You're looking for more reading the updates then is that the call that we're hearing right now Yes more reading the updates No, I mean like I think like Taylor Mitchell said my favorite PRs to get her things at fixed bugs because that's actually like Saving me time, you know or if someone unlocks like some

Nice performance improvement, you know things like that. That's always Nice, especially if it doesn't require some crazy reimagining of how some entire subsystem works But new features I generally Generally feel like a chore you know to receive especially from someone you don't know. I think It's fine when it comes from someone who you talk to like frequently who's been in the community for a long time and gets it But not not a good first PR. I don't think Kind of earn the maintainers trust with like Bug fixes or even just like honestly like Responding to other people's issues and explaining why it's like Their fault instead of me responding to people telling my it's their fault Is another good way to sort of like earn trust because it shows that like

Oh, I actually like understand how this stuff works and why things work this way and Whatever so So when you're really trying to say if I'm not mistaken is you want to recreate the stack overflow feeling where you get a You get like a base level and you can only comment and then through And of both you can then gain more and more power so we just want to recreate that but with GitHub a GitHub social credit score I see where this is going. Yeah, it would be a per repo social credit score The the thing to Adam with what you're saying if you like if people Are like in the community and they're gonna do a new feature They've already talked to you about it like that sort of I feel like kind of implicit in

Like discussion here is like it's not the first time you're hearing about it when the pull request gets submitted They've probably like been hanging out in discord or element or whatever like On an issue tracker discussions kind of like oh, I feel like we really need like xyz What do you think and then you discuss for one and say okay cool?

I'll submit a PR not like out of the blue No, nowhere. I feel like that's one of the other things that really like People miss about this is like if you're hanging out in the community you get chances to talk about the feature that you're really missing And then get a lot of feedback like before any code gets submitted Yeah, and if you don't do it that way you'll end up opening a PR That'll basically get ignored for weeks then you'll get a resentful and frustrated Because you feel like this person's like being a dick when in actuality. It's just like They didn't have anything on their calendar saying like review the feature that this person invented, you know like they had their time was pre-allocated to other things, you know

So one thing I've got to think about these PRs is like someone Someone asked me like Hey, wouldn't this be a cool feature in Laravel and maybe it would but it's like entirely dependent on the PR itself in the amount of code it takes to build the feature Right like yeah, that sounds great But like it's hard to actually know if I would click merge or not until I see The code and like how complex it is. I pretty much have to assume I'm gonna be maintaining it forever to be honest because Anything can happen and um, you know like what does it look like?

Yeah, wait That's why we have we have this policy like in ghosty and it's in our contributors doc where like a PR has to be Has to close an issue If you make a PR with no associated issue and our issues only maintainers can open issues users can open issues Users can only open discussions Discussions are where maintainers could do feature design. We could bike shed We could assess whether something's worth it and then only a maintainer or if a maintainer blesses you Which is actually pretty rare, but a maintainer can then convert that to an issue and then it explicitly says like if there isn't no associated issue You're still welcome to open PR, but exactly what Adam said it there's a sentence in there

So I'm like I might review it in a week a month 10 years never I might close it without commenting like there's no warranty What so ever I don't need to justify anything that just might get closed even though it's perfect And it's to try to avoid this drive by Fix a bug which isn't a real bug or you know, it's just a feature or Introduce a feature we didn't want and or like I think what Taylor was getting out was like a lot of features it That the actual like business logic isn't hard. What's hard is like the last mile taste of how that feature could expose gets exposed to users and And I don't trust a lot of people with taste and so you end up like getting this PR that's mostly there And then you're just like arguing about taste and so I want to do all that bike shitting in the discussion

And a lot of the bike shitting in the discussion is literally about I don't care how you're going to influence Not about how it's about what is the config syntax? What is the config name? What is the UI look like with little drawings? Yeah, it's just that stuff because then you could get the rest working and you could like Isn't it like in famous like Amazon thing or something where like every like new projects It was like write the press release first, you know Mm-hmm Yeah, so with the way that you guys do things Mitchell if you are the only ones who can open issues do you Monitor discussions like pretty diligently then to like notice one like a bug is reported from the community that should be escalated to an issue

Or do you just kind of trust that if there's a real bug you I will know about it, you know It will get to me somehow If it's bad enough, I'm gonna hear about it, but um Yeah, for the most part it's part of my daily morning routine where I sort discussions by date created and for the most part We only get like three to five per day, but there's also like we have maintainers and we also have like Another group of people in the community that we call helpers There's probably two dozen of those people like significantly more and they just have triage permissions on the GitHub repo And and discord communities and stuff and they're awesome and they they they tag stuff label stuff for us They answer a lot of Q&A and close it and um, yeah, it's a cool role. So that's sort of how we we look at that stuff

How do you uh, I might steal that Yeah, I was thinking that's Sorry, yeah, how do you convince or like bring people on for like the triage role because for some people I feel like it's like a specific person that'd be really interested in doing that like are you doing anything to find them or like how does that work for you guys It's like I think it's open source in its pure sense. It's these people just appear They start by not having that role, but they're answering questions and contributing really well to these discussions and um Usually it's other Helpers and maintainers that recognize these people um, I'm the only person that I could actually like assign people roles So you eventually just gets bubbled up and and now there's enough trust for like if another helper says

Hey, I think this person should be a helper like I don't even I didn't just like sure tagged it like I don't look at what they've said like I trust that you get the vibes and yeah, and yeah Okay, so then follow up There's a lot of people that would want to contribute to open source and kind of reciting back that video where The idea was don't contribute to open source if there's somebody whose goal is to contribute to open source and find a community Um, and they they just want to do that because whether we like it or not we you know There's especially in many videos and many discussions about this saying hey, don't you know that shouldn't be your primary goal there is a ton of Let's say inverse advertising on Twitter will people are like oh, I did open source and now I have this super cool job

And there's a bunch of people who want to have really cool job They want to be able to work on these things. They really love and so they see open source as it means So there's kind of like this competing conflict of don't do it, but also Dream jobs over here with people doing it. So they you know, there's definitely a preserve preserve Yeah, I think I think there's two different ways to approach it like I think The one thing that we haven't discussed at all that I think is the most obvious path There is just like make something yourself that's yours instead of Getting permission from anybody to do anything, you know, I think that's like the easiest way to get started You know also learn a lot about

The perspective of an open source maintainer if you built your own thing and that's going to help you be a better contributor to other projects As well and then the other side of it is again just like Really be hyper focused on making contributions that are The maintainers are going to be grateful for which again is like bug fixes Answering questions and discussions like anything that just feels like man. I'm glad this person is around like they are helping me out That's going to be how you get your foot in the door to Start getting your ideas. I think heard and listened to and create those opportunities to actually submit PRs for more substantial Features or things that people are going to benefit from other than like fixes and performance improvements and stuff like that

Yeah, I was thinking the same thing You know, especially when it comes to like hiring or getting jobs is like if you can create your own open source project That I think is ideal and related to what Mitchell said like if I See someone apply and they've created some open source projects I'm going to go out there and look at everything like how they read me set up what the config options look like all the taste Type stuff that Mitchell mentioned. I'm going to look at like super close And that's actually a lot more valuable if I can look at an entire project that you've created versus like a couple PRs That are like sort of an isolation where I might not get like a full read on How you really think about like presenting what you build

Which to me is like the most important thing. I'm interested in basically if I'm hiring someone on arrivals open source team It's just like these intangible taste type things of like yeah. They read me as almost always like more High stakes than the code You know what I'm like reviewing open source. Yeah, can you write well?

Can you can you explain this well? You know, I mean that is valuable too. Oh, I'll come out from another angle I think that if you The way I got involved with open source because I was one of those people that really looked up to Open source like I like really really wanted to be like a Rails contributor That was like my big thing I wanted to do and I don't think I ever was um, but I was like hunting for something to fix in there But I think that like the best way That to go about it is to become a user of something Find an issue that you really want fixed and then you be the change to fix that issue and then join that community and like If someone comes into any open source community I've been a part of has a really specific issue

They want to fix and they seem genuine about it There's usually somebody else in that community that will coach you through it It may not be like the creator of the project, but um, I I've seen this happen and go see a lot where We've had maintainers be like it's a subsystem expert that could fix that in 30 minutes But because this new person comes they're being kind. They're obviously Research the problem educated. They're like, you know what? I'm going to help you through this look at this file So it's somewhere around there if you have questions Let me know and you know you go off and work on it come back and and that's usually a pretty high bar And then by the time you make it a PR that other maintainer could come in and like vouch for you basically

Like it's your work, but it was you know coached and apprentice to however you want to call it and that Is pretty common like pretty old school open source and it and it works really well still in the right projects That's that's literally what happened to me for my like I was the person that got help on my first open source contribution for any of them. I was like Playing around with some stuff You could put a separator to put stuff on the left side or the right side of the status line I was like well, I kind of want to put something in the middle Like what the heck search the issues and I didn't even know anything about get or get up at the time My found one and I was like hey, I'd like to work on this

I don't know what to do basically like you know sort of in a much longer way and nicer Um, and someone like said hey you can go check out this file you can go do this stuff So I was like okay, I opened up a PR That same person came in and helped me in the PR and then eventually we had you know some back and forth from a few other people But like trying to write tests trying to explain what I was doing trying to make sure that like hey I don't know how to do the code style things for this like what do you guys do Um, and then like that was my you know eventually got merged Like in the neovim and that was my first contribution that I had which then like jump started me Doing a bunch of other stuff, but it was literally like I had a I didn't even understand what open source was

You know, I was just literally a really dumb college kid who was like playing with my neovim config And I wanted my status line to look different. I was like I don't know. I'll just be nice And like try and figure out what can happen and then like that that worked out really well and I mean a lot of ways change the trajectory of My career as well. Yeah, I had this really uh, I had this really Similar experience in high school where I can get into rails, but I found this like rail CMS And I wanted to they had they need they were asking for help so I was like I will do this And so I came in guns blazing made massive Uh, there wasn't get up in existence. I made matches like patch that's how's emailing around and this guy

Came out and basically like Like a dad really felt like a dad like scold me and was like whoa Slow down like slow down. You're doing too much We need tests. I never heard of unit tests. So I remember I wrote a response probably on the internet somewhere I wrote a response being like no, I tested it I opened my browser and it works. I clicked around I worked and I didn't know a lot of contributors too Yeah And and I remember him scolding me again, and I remember going to school because I was still in high school And I was like seething because I was like who's this old man Getting away stuff that works and I was so mad. It's like such a classic teenager Egotistical angst thing and uh he ended up teaching me so much

I I like somehow came around to like calming down and listening to him and breaking it down And he taught me so much and I think I see that a lot too. There's so many really talented Now as me being the old man like there's so many talented young people that come into open source guns blazing Implementing the most impressive shit, but like leaving a path of destruction along the way and not interacting with the community and blah blah And uh and yeah, there's a lot of like soft skills to mature on and learn about this process All right, so A lot of you are I mean everyone here has been in charge of at least for some period of time of a large open source project Taylor you said that you That you should just create one yourself now that you've kind of gone through the process of creating one yourself

I've had a lot of success You know creating yours seen the troubles and the upsides of it. Is it even worth it to create These open source things and I mean that in a genuine sense I'm not trying to mean because like my time running an open source project 2015 2016 uh the amount of just like vitriol and annoyance and just made my life demonstrably worse Is the reason why I've largely never gone back to open open source. I'll do source available But I just don't really want to never deal with that again And so I've had like a very opposite I guess experience and so I'm just curious like is it really actually something people should all strive for is to create open source projects You know, I mean I can only speak from like my experience over the long term

There's definitely been very dark days in open source right where it like literally distracts from like my person alive Or like my family life because of Negative things people have said about the project especially and it's like nascent years when it was still like growing and it Things like that and it like really got me down But I think over the long term, you know like over a period of years Like the people I've met and the things I've gotten to do because of open source Like far outweigh not doing it. It at least you know for me um And you know, I there's definitely ups and downs as you said and sometimes it feels like there's more downs than ups In the short term, but in the long term like

The places I've gotten to go or the people I've met online and built things together to me I think I'll look back on those times with like a lot of fond memories and like gratitude is really someone the best years of my life So it's been a very positive thing But yeah, I mean that being said it can definitely be a slog and you kind of have to be mentally prepared to like Grow some calluses, you know and like be willing to dislike let some mean stuff fall off of you and people say it but Overall, I think it's it's been a positive thing Mitchell, you're like a chronic open source or you might you you must enjoy this process And obviously by like considering everybody here has been doing it for like a decade

And you you've just given tips where people are like oh my gosh I've never thought about it this way you've obviously solved some of these problems in your experience It's It's probably just a cake. I'm just like the monk that like is just like Whipping himself in the mirror like I'd probably just that. It's not it's not healthy probably But no, I mean, I like it. I like it. There's a bunch of there's a bunch of negativity associated with it But I think I've you know, I was on the the commercial close source side like founder CEO thing And I think Adam and Taylor you got to eat. I mean you're all on that side too now But you know, it's the past was always greener on the other side like you get the same thing on that side sort of like different

different ways, but Yeah, at least like with open source. I feel like You could you could walk away from a lot of things that you can't in the same way when you're on the the corporate side and also You are like kind of doing much more It mean you're giving away a lot and then that's really cool. So yeah Yeah, I I think depending on what your goals are it can definitely be a good thing to explore like getting back to okay if you want To create better opportunities for finding cool jobs I think creating open source projects is good for that especially if you work somewhere where it's hard to sort of Show the code that you write or show what you're capable of because everything's closed source under NDA or whatever

You know an open source project is something you totally control where you can just like Show people exactly how you would do things if they were up to you Which is really cool in that sense and then echoing with Taylor said I think it is a really good way to Just sort of like meet new people who are excited and interested in the same things in the sort of sphere of programming I don't really know any other ways to do it within that sort of hobby, you know, like if I compare it to other things I used to be interested in like Open source is almost like replaced what like niche message boards used to be for me for other things that I used to be into where you would meet people and Talk about music or whatever, you know

um So I think that's just kind of like where you do it now with With programming stuff I think I think I know yeah go ahead No I was just gonna say I think another thing for me, you know, I think Mitchell and Adam and I and you know teach with neo-vim We've all been lucky that our open source projects are like very widely used and you know Tons of people around the world are using them and I I like find it very satisfying and like a big privilege to like We get to work on tools that people use every day, right? Like I use ghosty every day. I use tailwind every day Um, I don't use neo-vim every day sorry teach wait Lots of people do And it's like this big privilege, you know to provide these tools that can make people's

Professional life a little bit more enjoyable and I find that like a really satisfying like Thing and and something I take like really serious as a privilege like look Not many people get to impact this many people around the world, you know and in small ways And like it's really cool that we get to do that and I find that Satisfying and fun to work on and like that's why I like still enjoy improving the framework because if I improve larval It's like this cool way I get to improve people's lives around the world in small ways Yeah, I feel I felt the same way like when I was making Telescope initially for neo-vim and like people were using it and I was really surprised because that one was much more like

Me versus like I did contributions to neo-vim but that was like in A system that was already there like making telescope was like Kind of me if I'm something getting messages from people like oh, I'm in Japan and I'm using this. I'm like what the heck that's crazy Um, that's a like very fun Part of it and like one difficulty I think is like a caution for people is like allowing yourself to have those like A good experiences, but then still not like associating yourself so personally with the thing that when someone doesn't like it you're like oh they hate me I'm a bad person Right because like when you let it get when you let yourself get like wrapped up emotionally in the project Which is fine you got to like still kind of like put up that wall of like yeah

I'm not gonna please everybody in my projects not for everyone some people are just gonna think I'm really annoying Okay, that's that's okay. That's just like it's just life Um, so that would be one caution. I would give to people like who are in the open-source world They're like starting their own stuff is like it's good to allow some of those nice things happen But don't don't take it too much to heart because there was an angry person at the keyboard On a Wednesday afternoon or something And then we all probably deal with angry people every day. I think a big part of like uh open-source maturity from a maintainer side is learning how to How to not let that get to you and yeah, and there's various strategies

But yeah, and the you know bigger you get the The the weirder also the anger gets but yeah, it's it's everywhere All right, yeah, it takes a long time in my experience to be able to Not let it get under your skin, but I do feel like No last couple years. It really doesn't bother me at all the way that it used to So I think I would just like yeah, sorry prime the other thing I do is just like When Like open source is in some ways about like no expectations in some ways right like both like I'm gonna make something I can't expect people to use it just because I worked hard on it like if you do that you're setting yourself up for bad time or like when you contribute I That I get a comment back is a blessing from the maintainers time like they owe me nothing

So like when I send it issue or a contribution or whatever like I think a lot of people they like hear a story and they say oh that person got a job from a successful open source project I'm gonna ride open source and then I'm gonna get one million tc this year baby six months later I'm one million tc and you're like First off, that wasn't the story you heard But secondly like putting those expectations like on the contributions or the contributors of the maintainers That's like I think where a lot of people Take a fast track to having a really bad time All right, so Mitchell you have probably the most unusual group of maintainers because as far as I can tell the Adam and Taylor They're much more on the website

There's probably a little bit more of an intersection as far as the technology goes people who use Laravel are intimately familiar with Hellwind there's gonna be a lot of crossover there But you're in a zig land in a language that's relatively hot relatively new Still not at 1.0 and you know even the recent 15 update which you said had a really good impact on your build times also required some basic changes throughout the project as well I'd used cursor and it actually was able to make something build by just being like fix it Make it into the new version and it was awesome So what is it Because I only kind of have an idea of how things work In the in the web world What is it what is I guess what is maintaining a project on that side is it is it similar as they're just equally

amount to people that just come in hot and angry is there more because then everybody's a neck bearing has the idea way Everything should be done or like I don't know how the feel is of it all um Yeah, it all feels pretty similar. I mean, I think you get a lot more for sure I mean, I think in particular goes to being like a Linux desktop application you get a lot more of The highly opinionated my blessed setup must be supported kind of ways um You know, I've been on the website as well and and the my experience with the website is There's a lot more uniformity in a way. Obviously. There's there's tons of like edge cases you have to deal with But it's a lot easier to reproduce things There's generally a lot more uniformity in terms of setups um

There's only like practically speaking. There's only a Like handful to a dozen sort of like browser configurations that correct me if I'm wrong But this was my experience that I had to really really care about there's a long tail of like other stuff and I feel like Mac is fine Mac desktop development totally fine pretty constrained set But Linux is is a sprawling kind of nightmare and I'm committed to supporting it because I use it myself But we recently like took a stand for example with I tweeted some like some tongue-in-cheek version of it But we just took a stand on input issues because we're just getting so many people being like I use this Custom keyboard with this custom firmware with like

End layers and when I and this and I and I only speak Russian but I live in Norway and when I type this character This shows up and and it just reached a point where like I'm sure that's a real issue But like I'm so burnt out on input bugs on Linux Because everything is just so heterogeneous That you need to fix it yourself like the number of people experience this issue is so small It's you so you need to fix it or it's just not gonna get fixed So I think stuff like that is is new to me and I'm figuring it out and then in terms of the actual maintainers themselves um You know good maintainers don't care too much about the language so zig I would say most of our maintainers Have been excited to use zig didn't use zig before just picked it up to learn it

That's fine. It's more of like you're finding that like systems knowledge type stuff You know, this is a lower level piece in the stack and and that's been it's been a new community for me, but they've been great I built a small tower defense in zig and it was a very enjoyable time in 013 And so I assume it's it's relatively the exact same language in 015 But I am actually just curious. I know this is going way off topic You've now built what would be considered a fairly large now run for enough time to be able to really see kind of What life's like as you make a bunch of changes as you have to fix a bunch of bugs How has the process of using zig then on such a large project?

Oh, it's it's been awesome. I mean we have to enter we read and integrate with cnc++ code all the time as a comparison and Just from their Building and understanding and maintaining. It's just a totally different level and there's you know Most of the maintainers in our group are also like professional c programmers And so the these aren't amateurs. We're we're like we're trying you know, we read Chrome Firefox and webkit source code all the time because Basically browsers solved font rendering and so every any sort of font rendering issues we learn from browsers And or so we're reading that all the time and and it's It's good code honestly all of those are the highest quality cnc++ you're going to find and it's incredible how difficult it is to

Read that compared to the equivalent zig so I think that zig's been hugely successful for us Each each minor release which is a pretty major release for zig 0.12 we started Pre 0.10 and so we've done 0.10 11 12 13 14 15 now and each one is is significant 0.15 took took me about three weeks And that was after a maintainer already spent another three weeks making it all work but because of the The seriousness of the changes I had to redo it all myself I trust them, but like I just have to understand it myself So I went and redid it and I was able to hit roadbox and just copy from there Oh, they figured it out for me nice and then learn something and it still took me three weeks And so that's Like I think I said this for I still think zig is too early for like, you know

A company to use it reliably for a product like that would be kind of a waste of time for a startup to be doing But I think it's heading in the right direction and I love it All right Well, do we have any final words on open source anybody have anything else you want to contribute to on contributing the right way to open source It's October baby I Was loving we were talking about it before you came on prime of like Well, this was what I was thinking to will LLMs in the future when it's October be more likely to create Read me updates because of the source training data because they have this system problem at the time Just like how it gets lazier in the summer, especially if it's quad They will they also have this problem that forever in perpetuity

October will be documentation update month for LLMs. There are fused to do any other work The old October surprise I believe is what they call that Different context actually, but yes, okay I mean, I think it's a whole topic, but I think it's a whole topic But I mean, I think I think there's a whole new frontier and I would actually really curious how adamant Taylor are Receiving this but there's a whole new frontier of like contributing with LLMs in your toolkit And that's like changing a lot of my viewpoints on On how to be a good contributor. Yeah, I don't think I've seen any LLM driven PRs to our stuff yet honestly Really you don't get like the PRs with like they all have the same basic I show maybe the same maybe they do

Yeah, the bullet points are all you got if you're submitting a PR with AI and you don't want to get caught at least tell it no emojis Like I get them every day. I get several a day actually Really want to day at least I you know, it's funny Taylor's you said earlier that you new contributors You look at their GitHub repos and stuff. I do the same thing. I like kind of like You know like doc GitHub docs them a little bit and to figure out what they're about Where they work and what they're doing why they're contributing or whatever and The quickest way that I'm like, oh, this is gonna be some this is gonna be some slop as you find like a ton of AI Like crap and I'm not anti. I gotta say that. I'm not anti. I you I

I literally spend like $25 a day in amptokins. I love it, but Yeah, there's some bad stuff out there Yeah, if I'm not mistaken, you're the one that convinced me to re-give a Inline auto complete another shot and using super maven since then Oh cool. I didn't know that. Yeah, yeah, yeah, because you said that you can't you Just do not think that any developer should ever not at least have that you said something along the line That was exceptionally what's it called um very Like strong or stanced. Yeah, yeah, I remember that That was the word I was looking for. I remember that and I'm actually really sad because uh Tab complete and inline complete hasn't been down in like a very long time And it's really nice when it's down because that's when you like that's when I close my laptop and don't don't work for the day

So yeah, if like co-pilot or like More of those could go down that'd be sweet All right, I'm interested to hear more about like And and Mitchell you too because I know you both have been talking about it like Someone submits a PR It you're pretty sure it's AI Or like not not and not like oh they carefully walked through an agent workflow over 10 hours and did all of it but like uh You know fix this for me big bug number seven and then just like well, I did it What like what's the workflow for that what would be like The better way for someone to try and if they're using LMS to do that like what are your thoughts there?

For me it the best experiences I've had with with slop in particular is if you're honest that you have no idea what's going on If someone throws a PR up and this has happened like once a week probably where they say I used Whatever codex cloud code to fix this bug. I don't know zig. I don't know anything that it did But I'm just sharing it with you that's actually helpful because I don't need to do like a deeper view I could just look at it and like get a quick like this is heading in the right direction interesting or I could be like Okay, thanks. This looks pretty bad. I'm gonna close it glad it works for you or whatever The problem is when people post slop and they're like really serious about

Confident about that they should emerge and be fixed and so from the slop angle That's what I would say and so we require AI disclosure in our project, but that's part of the reason Do you actually get people that do AI disclosure like do they actually does everybody do it or have you like caught somebody I mean like wait a second wait that argument's all goofy and it's ordering I know you use slop and then like dang it you got me like Yeah, I want to hear what Taylor has to say, but I'll say on that point It's been really successful. I would say we catch probably like one or two people a week that don't disclose But also, I think everybody except one person it just was an accident. They're like oh, I didn't read that

Yeah, here it is But there was one person that super tried to hide it and I eventually got you could find it on I eventually got to the point where I'm like I'm just gonna clip like this is not productive if you can't be honest by your AI you such a can't trust literally anything else You're doing so I'm just gonna close this Yeah, we get quite a bit of noise and I mean I can echo what Mitchell says about like it's helpful if they tell me they're using AI because I want to know their confidence in what they're submitting A lot of times it feels like they're just like shooting in the dark and honestly what I'm seeing a lot lately is like Refactoring PRs where it looks like what has happened is the contributor has like fired up cloud code and been like

Find a refactoring opportunity in the ORM of Laravel and just let it come up with some random Refactoring and they've then submitted that PR like that's that's what it feels like is happening on a regular fairly regular basis Which is you know, I don't know it's not super helpful Um, and probably not how I would go about contributing to open source Hey, Laura, say it how you really feel no one's even listening. It's fine. There's nobody out here telling those people Yeah, you know how I Adam Yeah, I don't know I action PRs really quickly so I have I have to action like 20 PRs a day or they're gonna get ahead of me and so like I just really quickly close those you know like it's not even a second thought

Because I just don't have time to really mess with it Yeah, though there is something to that where when I mean on the inverse side for those that are making PRs Just simply making a PR the home person came I'm gonna drop All right, Mitchell has to drop he had someone coming over to his house to do some fixing and so He pre warned us that it was gonna happen at any moment. So he is he's gone. All right I There is something to be said on the inverse side, which is if you're attempting to contribute to open source Open source and you want to fix something you don't know how to get started And you do just simply follow whatever the LLM says you don't actually take the time to look at like why are the things in place

You don't to bug your way through print effort whatever you do It is like you are wasting someone else's time I think there's something big to that because it's gonna take a big hit to your credibility Like if you do that enough times it's gonna be you're gonna like ruin your relationships with people if you do it one time Yeah, that's your first impression That is your first question Thousand times more impactful if it's the first thing you submit to repo is I don't know what this does and I'm gonna pretend that I do I will never trust you again True, I see the thing is is that I have bigot who also submits a bunch of uh What's it called? We know we know what I love bigot and so I let it stop even though like stop it

Stop it Just to talk so Taylor you're saying you're seeing this a lot though. Oh, yeah every day for sure And the range is like for you Is it most of them are just like This random refactor thing or is it like first associated with an issue like I'm kind of interested in sort of this It's a lot of the late lately over the last few months It's a lot of the random refactoring and it will the PR title will literally be refactor x you know and There will be no like bug that is being fixed or no real like performance improvement. It's just like Code organization or like method extraction or just some random thing like that That it just doesn't really have any net benefit like if the code's already working

Why would I merge this when this has the potential to make it not work anymore? Yeah Yeah That is that is kind of a bizarre thing to do because I guess I've been around software long enough to know that Drive-by refactors almost exclusively just end in sadness And so it just seems like a weird way to try to like meet somebody for the first time And also be like I rewrote part of your code. Oh, would you get me nothing?

I just made it different They're like I don't know if I like like how is that trade-off like how does that trade-off even exist where you like This is a good idea. This is a good place to start a relationship on I mean my guess is people want to be able to put I refactored layer of out code into a resume and try and leverage that to get a job like that would be my assumption I think it's just kind of like a bit sort of like a Thing that people who are maybe a bit less experienced a bit more junior Care about, you know like when you're early in your career and just This idea of writing perfect code. It just sounds so fun or you've read some blog posts that gave you some rules about how long your methods

Are supposed to be or whatever, you know, I'm great for long Yeah, yeah, yeah, I just looked and this week. I've gotten eight refactor PRs so far Wow, but like any PR that has the word single responsibility principle in it is close. That's auto close. I'll be right back. Yeah, that's auto close Yeah, I think like what we have we have agents for that now. Yeah, just monitor Sometimes I wonder if people like overvalue Contributing a random PR to like something like larvella tail and versus just creating something of your own like Adam So like to me, that's like 10 x or 20 x cooler than like yeah, I got a random refactor PR merged into larvella in 2016, you know like And it's like half the reason why people like you and I invest so much effort into making sure the things we build are like extensible

From the exactly yeah because That avoids all sorts of PRs coming our way it lets people test out ideas Using our sort of integration points, which we honestly usually try to make as like extremely open and flexible As possible and it's a good it's good for us because we can say you know what? I'm not ready to like merge this go build it as like package or as a plug-in or whatever and people can go and do that We have these cool tools called package managers that let you like bring in other code in deer project. You know, it's just super cool I'm calling ginger bill. Yeah, I know some people don't think they're good. Yeah, that's right Taylor. Package managers are evil. Yeah Mitchell doesn't like packages very much either

Yeah, missed We had the same thing for for neovim which was like you know, obviously lots of extensibility things and there's been a lot of things that Basically took a lot of time to mature and iterate on a separate you know feedback loop as a like external repo that eventually get merged into neovim core and like I think that's a way Better strategy too if you're like oh, there's this big thing that Laraville needs or something right Go and build like the external version of that iterate iterate iterate iterate iterate not on the release schedule and with the same requirements as Laraville has right and then You can come back later and see I literally have a get hub saved response that says exactly that basically

You should go build this as a package and see if it gets traction and then come back, you know, yeah Yeah And that's been super successful especially like I think the thing people don't get Which is like the other message for contributors that is important to hear is like most of these like open-source repos do not have like A Microsoft level triage team where they have you know like five people on staff to read issues full time right where it's like Oh, we're Microsoft's budget for VS code is like multiple millions of dollars per year, right?

And so yeah, that's fine. You can just like Oh, they want to have a built-in package manager that does all of this stuff and whatever cool They can put a few engineers on that and spend several million dollars, but like Your random open source repo does not have that same capability or budget to like solve those things So you know like Taylor. I know you feel it all the time. I'm sure of I cannot maintain this forever like you said before I cannot be the one where this is my thing for the rest of my life I don't want to spend all of my life writing a layer of L package manager or something, right? We have composer Yeah, he did build a layer of our package manager that is true before pre-composer existed

And then you got to delete it Yeah, pretty much. Yeah, it's good. That's PR All right, well, thank you everybody for being here. I think we got to wrap this up. We got to wrap this up All right, we got seven-year-olds to kill him fortnight Nice. Yeah, nice. By the way, we do have to do a DHH fortnight Something at some point soon because it would be so funny programmer fortnight tournament. That's what it's feeling like Esports. How do I'm a tournament?

That's a tournament word kind of hurts. Oh, just like with with programmers with kids only How we're talking All right, at least two as well Yeah, all right. Well, thank you everybody for joining of we had a Mitchell Hashimoto creator of ghosty and many other open sourced things Taylor out well creator of Laravel Taylor. Is there anywhere we can find you?

You want to give a shout out it for Laravel calm, baby? I don't know x.com slash Taylor out well Nice. Let's go. And how about you? Adam Adam is the creator of tailwind And also a very handsome dude and we'll probably and it has the has the ability to beat me up He looks very fit man Chamber working people find you besides for the gym mean Adam. Sorry Adam Yeah, the gym beat me up for the same No, just uh probably on twitter x whatever x.com slash Adam. Wow, then that's where I hang out the most Awesome and finally tj the man the myth the legend. I just want to be teege. I want to code. I want to dance. I don't want to go home Oh, yeah, where do people find you tj? Uh teege dv everywhere basically except get help

But I don't want you to find make it hope anyways. Take that chat God By popin errors on my screen Turn me in a car

0:00 / 0:00