We’re creating documentaries to tell the tech stories that inspire people to keep creating and learning, and ultimately, unlock more potential in both themselves and software. Check out the YouTube Channel!
Here, the Laravel Origins cast and Laravel creator Taylor Otwell share the pros and cons of open-source.
So the cool thing about open-source is it’s allowed me to interact with thousands I would say of developers around the world that it’s crazy when you think about like these are individual people right like with their own lives, their own interests, their own stresses, their own victories, their own you know just like life stories that I would never have met otherwise and I think that’s the coolest part of open-source for me is just like all the individuals I’ve interacted with whether it be in Europe, in Africa, in Asia, in Australia, South America that like these are all people I never would have met you know like if I had never written Laravel and I think open-source the way open-source brings people together across countries across ethnicities across everything is just really cool to me like as a social phenomenon.
It’s also cool because we can all collaborate on this exciting project together. It’s almost like it’s almost like if you had a Minecraft server you know where you’re building this cool city with all these other people. It’s just like that for me with Laravel like we’re all building this project that we all really care about we all really like and we’re all building it together across the world.
Freek Van der Herten
What I like most about open-source is the community feel behind it. That you’re together with other persons you’re creating something that will be used by even other persons that you don’t know and yeah it might seem a little bit Kumbaya or something but that’s something that really gives like a positive feeling.
Just knowing that whatever you do can can help you or can help others. Not only by others that use it but by others that are studying the work that you did and just adding some stuff on top of it.
Eric L. Barnes
And to me you know open-source has you know millions of hours of people contributing their time to it. I think that part of it is amazing and I’m not sure in any other industry you would be able to find something like that.
Sharing and contributing to each other is incredible not only because I think it’s less of a competition but more of a collaboration and it gives us so much opportunity to help other people and additionally everything we’re building is so much better in open-source because so many other people have seen it.
So if I were to build an authentication layer into an application on my own I need to know everything there is to know about authentication to keep that thing safe. However if I’m working in open-source I’m working with an existing or my own authentication package that now has been seen by thousands of people and knowing what they know and knowing what they know and know what they know they’ve said oh well have you considered this have you considered this all things that I didn’t know about.
So every open-source package I work with I feel more confident than closed-source work that this has been audited by the people who know that particular topic better than anybody else. So I will always trust an open-source package over a closed-source package because it has been seen by so many more people.
To me, it’s around the freedom of the software, being able to look under the hood and see how it works. I think that’s like, I don’t like the way the world’s going with, you know, cars that you open them up and they only expose like, you know, the windshield wiper fluid. To me that’s kind of like the same with closed-source software. You can’t really see what it’s doing, how it works. You can’t modify it to suit your needs if it doesn’t work exactly the way you need it to.
So that’s what I love about open-source in the community around it uh the audibility auditability sorry and the auditability and the auditability of it. B eing able to see or at least know that other people can see the code and know that it’s not doing anything dodgy that it shouldn’t be doing.
Because normally in every other field everybody would hide their secrets and that’s how I make money and that’s what I do but I don’t tell anybody else. But in the coding world everybody’s sharing that and the first moment it’s a little bit strange because you don’t know why they’re doing this.
But yeah, the more you are in the open-source world the more you enjoy this world because everybody’s just sharing because there are enough jobs out there for everybody so nobody has to be afraid of their jobs because yeah there are so many out there these days and everybody can learn from each other and the people that learn from others are now starting to sharing to the others and like everybody’s taking and giving back and that’s what I love about open-source.
It’s this very friendly community which just gives everybody a great start into coding and you can learn from each other and it benefits everybody.
You can very easily get opinions about your code or about your development meaning that by doing open-source you are basically exposing the way that you work the way that you build projects the way that you implement some certain features and by doing that you get criticism that makes you grow as a developer.
And that’s great to like have that a community feeling like being in a certain place where you you fit in you can share your ideas like you’re being accepted to it the way you are and like just have a friendly atmosphere like uh getting that feedback you need from others and having that peer-to-peer reviews you require. And that’s like great to like evolve yourself as a programmer but also as a human being you know like having that interaction between each other visiting conferences visiting meetups like sharing ideas starting new ideas with new people you get to learn that’s a really great thing to be in.
You know for many people contributing to Laravel they are willing to spend hours and hours doing it. They don’t get paid for it, they do it just to to be able to tell others hey I’ve contributed to Laravel before and what’s cool when you contribute to any project but especially when you contribute to big projects that little thing you made that little thing you contributed could potentially be used by tens of thousands of people because they all pull in that code, everyone. When you make a contribution to Laravel all of us pull it in and we can then use it too. And it’s an exciting thing.
So you get this environment where people work for free and it probably baffles employers. Especially programmers where they think we’re paying you to write code and then sometimes you go home at night and you write code for other people for free. So what’s going on here? Like are we being swindled here or what? And yet it happens all the time.
So that’s the amazing thing about open-source but there is definitely a dark side to it and sometimes people will sometimes people open up a little bit and you can usually tell this happens right around the point that a person burns out because it’s not just a matter of like hey we’re all contributing to this code sometimes there’s expectations that come along with that code. Maybe you release something the whole point of open-source is here’s something I made I have no responsibilities to it but here you can use it if you want you can contribute to it. There’s no expectations no matter what.
But in reality there are expectations and sometimes people can feel overworked. Sometimes when there are bugs or issues it all stops with the maintainer of the project and suddenly they can feel ambushed by hundreds of people telling them their thing doesn’t work you know their project doesn’t work or they need to be doing this or why are you not working on this enough. And it’s easy to forget sometimes that hey we’re doing this for free and we all have to put food on the table and sometimes there aren’t enough hours in a day and people can often say really nasty things.
This is like I’m not saying anything new here many people know what I’m talking about here. And so it’s just one of the realities to open-source code is as useful as it is there is often an expectation that oh you made this thing so you better keep working on this and you better solve this problem I have because I need it now and oh by the way I ask you for help and it’s been a week and you haven’t responded. And people will say really horrible things sometimes because therefore it’s understandable right they’re frustrated that they’re trying to use this tool and it’s not working the way they thought and they’re forgetting you got it for free and there’s no expectation.
If people help you they’re helping for free you know because they want to because they genuinely want to help and provide a service for people. But what happens when you reach the burnout stage where you know 800 people have questions and you’re looking through this thread of issues and you just don’t have the energy for it.
There’s not a lot of really great systems set up for supporting and caring for open-source maintainers right now. And the good news that in the Laravel world there’s a lot of people who are trying to push this boundary how can I do open-source and make money. Caleb Porzio is doing a lot of that. How can I do open-source and take sponsorships. Evan is doing a lot of that as well. How can I do open-source and then using those open-source tools make applications and making money. That’s how Taylor makes money right.
Laravel is free, he built some products using Laravel, that’s where the money comes from so we’re looking for opportunities for open-source maintainers to actually be supported but for a lot of open-source maintainers the experience of people demanding and expecting these things from you without understanding that you probably have a day job and you probably have a family you’re taking care of sometimes can put a lot of stress in open-source maintainers.
Maintaining an open-source project is extremely rewarding because of course if your project is popular it gets used by lots of people to build lots of really cool stuff and it’s really awesome seeing that happen. But it’s also incredibly hard and stressful and can really burn you out.
I know a lot of people talk about you know trying to make open-source sustainable and GitHub does like GitHub sponsors and and stuff like that. But it’s a really really hard problem to solve you know. It is extremely hard to find a monetization strategy for most open-source tools. I feel like the only way you can even really pull it off is if you’re building something that people interact with every single day.
But then you have tools like a Flysystem which is like a PHP sort of abstraction layer around different file systems and APIs for storing files and stuff that Laravel uses under the hood that is extremely valuable to tons and tons of people maintained by my friend Frank. But there’s not really any incentive for anyone to kind of give him enough money for that project for it to actually be viable.
So it just has to be sort of a labour of love that’s worked on in evenings and weekends while you’re trying to do a regular job and that’s really hard you know and not sustainable. And I don’t really know what the answer is there because even for companies like Laravel and for us like the way that Laravel is funded is not just by people paying for Laravel. It’s by people paying Taylor for Forge and for Vapor and for Spark and Nova and whatever all these other tools that when you’re trying to sort of build a business around open-source what you’re really saying and what you’re really hoping to do is come up with some brilliant business idea that’s based on your open-source thing that’s going to take like 10 hours a week of your time to maintain and make successful so you can spend like 30 hours a week of your time maintaining the open-source project. And when you think about that that’s like totally insane.
No one can start a business that can pay you a full-time salary for 10 hours a week like that’s the dream that’s like that 4 hour work week Tim Ferriss sort of thing you know what I mean. The reality is when you try to start a business it’s like hard and stressful and takes years before you’re profitable and you’re working like 70 hours a week and you’re thinking about it when you wake up and you thinking about it when you go to sleep and you’re thinking about it when you’re making dinner for your family.
And the fact that somehow Tailwind and Laravel have found a way to do that where it feels like we’re basically running two businesses at the same time like that’s a total miracle that Tailwind is a sustainable company and I think that the same is true for Laravel. Laravel is like 5 people or something running like 3 SAS apps. That’s unheard of.
The downsides of open-source of course is that it’s all volunteer and that we’re all trying to find time in our busy lives to build this cool thing that we really like you know. Just like other stuff you might do in your free time like gaming or hiking or whatever. You know you can’t do it all the time and you don’t get paid for those things usually so we’re all just trying to fit it into our lives as best as we can. And sometimes we can do that more successfully than others.
- Laravel Origins: The Documentary by OfferZen
- Why OfferZen is Making Documentaries about Open-source tech
- Taylor Otwell Tells the Story behind Laravel Forge
- Taylor Otwell on how he Decides what PRs to Merge into Laravel
- Jeffrey Way Tells the Story of Laracasts
- The Story of Tailwind CSS feat. Adam Wathan
- Nuno Maduro Tells the Story of Pest PHP
- Larabelles and Inclusivity in the Laravel community
- PHP Isn’t Dead ft. Jeffrey Way, Erika Heidi and others
- Taylor Otwell Explains his Coding Style
- The story of Laravel News featuring Eric L. Barnes
- Taylor Otwell on the Importance of Documentation and Developer Experience in Laravel
- The story of Code Happy, Code Bright & Code Smart feat. Dayle Rees
- Taylor Otwell on How He Got Into Programming