The open source community is (by and large) a great place full of excellent people wanting to improve the world in some small way. Companies today recognise the value of open source, and contribute a lot of their work to public code repositories (e.g. I spent nine years at Sun Microsystems / Oracle working on OpenJDK, and now at Microsoft the Azure SDKs are all on GitHub). Outside of companies, many people working on open source projects are unpaid and are motivated for various non-monetary reasons (working on a challenging problem, filling gaps in something that they like, learning new technologies, etc). These people are real heroes - they dedicate hours upon hours of unpaid time, often doing tedious things that would otherwise be classed as work - bug triaging, documentation, release planning, etc.
I was clearing out my inbox today and I came across this email I received back in November when I announced I was leaving Oracle and joining Microsoft. For me, when I do open source, I do it for all the reasons above (learning, team work, filling gaps, growing, tech leadership, etc), and while this is unpaid, there is an important lesson that a lot of people should remember - sometimes the best payment is a heartfelt 'thank you'. The email below is far more valuable to me than almost anything else, because it means I helped and did the right thing.
If you are in a position to thank someone in the open source community for their work - please do it, you'll make their day.
Here's the email I received, with some identifying details redacted :-) In any case, thanks so much to the person who sent it to me - it really made my day!
I just saw your tweet and your blog post about you leaving Oracle.
I'm quite astonished by the news but every thing comes to an end eventually. I just wanted to take this occasion to thank you properly for what you did over the years.
I ended my studies in <country> 4-5 years ago and I was a fresh new engineer with basically no experience in real coding and in open-source project.
4 years ago, I started working on JavaFX and tried to implement <a UI control> for the company I still work in. Now that I can look back with my experience, I realized I never had a shot at thanking you. I recall that I came to you with an early/primitive <UI control> and you offered me the possibility to integrate it into ControlsFX.
From that moment, you were very kind to look over my code, to correct my mistakes, to give your opinion, to guide me. You even modified some of the core JavaFX code so that the <UI control> could exist.
I realized that most of the skills I have now are coming directly from your advice. I learn to write clean code, good API, to make some decisions. But also to be patient, to explain to others and be kind to them. You know better than anyone that some people are a bit rude sometimes on open source project and they sometimes take for granted some things.
But you were always professional, clear and you took the time to explain things properly. Your blog post is an example of it.
When I started, I wasn't sure about development, whether I was going to like it. Coding in my company and learning by your side has been a real pleasure. You were kind of the "tech leader" I was missing in my company.
When ControlsFX had the Duke's choice award, I was really thrilled and excited. I'm really proud of what ControlsFX and the <UI control> has become. I always try to apply what you (implicitly) taught me, help the others, guide them. It's not always easy but at least I'm trying my best.
I honestly don't know how you managed to work at Oracle, and to work on so many open source project, and to maintain a blog, and to have a wonderful family!
I don't really know where this email is going, but I just wanted to thank you very much. Just know that everyone in my company, in my family and my friends know your name ;). I hope that we will keep in touch, and I wish the very best for you in the future. Although I'm not concerned at all because I know your skills! I also wish the very best to your family and children.
I'm just sad that I couldn't meet you in real life and properly thank you. But maybe it will happen one day!
I'm sorry for this messy email but I'm writing everything as it comes to my head. My english is still kinda bad but I'll try to improve it I promise.