While using open-source, we rarely realize that there is one or few people behind it. People who work in their free time and put an effort in it.
We feel like using a product - it should work and when it doesn't, it's broken. And when our application is constantly broken, we will be angry for them.
But if our application is smooth and ready, do we love and say thank you?
I'd like to express my gratitude and tribute for you, David - you made my programming life very joyful and curious experience.
A great friend of mine Honza Černý lend me a book Steal Like An Artist few months ago. I'm very grateful for that, because I don't have much art-people in my social circle. You may think, it's about art (so did I), but it's more about relationships, sharing, caring, showing your vulnerability and cooperation. And open-source software!
One of lessons that lead me to this was...
Often when we write fan letters we’re looking for a blessing or an affirmation. But if you truly love somebody's work, you shouldn't need a response from them. Write a blog post about someone's work that you admire and link to their site. Make something and dedicate it to your hero. Answer a question they've asked, solve a problem for them or improve their work and share it online.
After reading this, I had my hero in mind, whom I'd like to write. I also shared this though with Honza Mikeš, who answered me by showing a beautiful thank you email he wrote.
So here is my turn:
I'd like to really thank you for 3 things you gave me.
I'm very grateful you've created Nette and you have been taking care of it for the last 10 years. I could work on many interesting web projects, earn a living from it and learn best practise in open-source. I've been maintaining like dozens of packages for a few years and I could barely remotely imagine, what it takes to maintain one project mostly by yourself. I envy you your huge persistence and determination.
Thanks to you, I could bring together 3 things I love the most in the world - people, open-source and education - and get to teaching, learning and growing a community. I must say it was a relief, because when I was at university, I felt like I could do only programming or only work with people in psychology field.
I remember one moment, when I got much more respect for you. We had a social training group at university, when me and 15 more schoolmates went to a cottage near Brno to experience social dynamics in games. So there was a boat. And every person on this boat had his or her role and I was chosen to be the captain of the boat.
I thought it must be easy to be a captain (or Nette creator), because you can tell people what to do and you can decide mostly by yourself. Oh how hard lesson was about to come. We sailed over the sea, sun was shining, we had enough food and I was looking at my shiny boat and life was great.
Later, we had a hole in our boat, we started to run out of food and we saw some sharks around us - everybody was asking me: "Captain, what should we do? Where do we go? Captain? Captain?" I felt so much pressure and had thousand of issues to solve. My head was about to explode. Even though it was just a game.
In that exact moment I realized that every time I needed something to be changed or fixed or explained in Nette, I was putting my responsibility to you. My "I don't care, you do it" approach was very one-sided. And I started to see how freaking difficult it must be to manage website, community, meetups, program a software, do lectures, learn PHP in-depth and invent new revolutionary approaches in PHP.
Deep bow to you for all this and I'm sorry for every bad word I spread about your work online or offline. I'd love to take it back, because now I realize it originated from my in-experience with the other side.
Since then, I recommend every programmer to maintain an open-source project for half a year to get similar powerful experience.
I must say, Nette put a joy to my PHP programming. After all this
$_POST putting together in 1 file, I could see there is more advanced software that is mostly intuitive and ready to use.
Thanks for explaining principals Dependency Injection in many blog posts. I realized how only this thing helped me a lot while designing apps and understanding other frameworks. After travelling around European conferences and meetups, I see this pattern is very advanced in our country and miles ahead compared to other frameworks - thanks to you.
Last but not least, I really enjoy your talks. Because they are not usually tech talks - deep, long, boring or complex. You are very funny and that's what makes you great teacher.
"They best way to learn something is to learn without knowing it."
I consider master peace to combine entertainment and education in one piece. To teach others by making them feel happy.
Maybe that's the reason I still love Nette and your work, even though I know Symfony on the same level and a bit of Laravel.
I just wanted to say a few words to let you know how important you are and how much your work means to me.
No need to reply and enjoy your day!