Awesome things in software engineering: open source
This is part of a blog series highlighting awesome things in software engineering because not everything has to be depressing, about bugs, vulnerabilities, outages or deadlines. If you’d like to collaborate and write about awesome things in software engineering too, let’s chat: reach out on Twitter or LinkedIn.
What’s this blog series about ?
Between you and me, software engineering isn’t always fun. You’re not always working on what you like. You’re often finding solutions to problems all day, whether it’s about fixing bugs, adding new features or trying to meet a deadline.
This can all take a toll on people and professional burnout or depression is not all that uncommon in this field.
I’m convinced it is important to invest time in writing about the inspiring and awesome people, projects and communities I get to work with every day in order to highlight what keeps me going.
Open source software is everywhere today. It’s not just about code: it’s everything.
You’re using or consuming open source software every day. Even now, as you read this — this blog uses a wide range of open source projects such as Hugo.
The internet industry is a strong user of open source. One of the most commonly deployed server configuration even has it’s own well-known acronym — LAMP:
A server stack like that would let you host your own blog with, you guessed it, an open source content management system like Wordpress.
Do you have an Android smartphone ? The operating system is open source too and it uses the Linux kernel.
Open source is awesome but it’s also more than just software: it’s about the people, the community and making the world a better place.
A special Linux meetup
As part of my work at Red Hat and just because I love what I do, I’m a frequent organizer, speaker and attendee at different local and international meetups around Ansible, OpenStack and other open source software.
The non-profit meetup has been organized and animated by Martial Bigras every month for the past 14 years. FOURTEEN YEARS! I was still in college and Martial was already passionate about Linux… his dedication was humbling.
The meetup was hosted at the ETS in Montreal which is one of the largest engineering universities in Canada.
I know a lot of people that have gone to the ETS to study in software engineering. Actually… “Engineer” is a regulated term here in Quebec. The fact that I am a Software Engineer at Red Hat is a bit awkward because this school puts out real Software Engineers! I don’t hold an engineering degree and I’m not part of the engineering order… Oh well.
Anyway… I arrive at the meetup and see a wireless router on a desk with their own Wi-Fi network. They have some sort of recording hub, an Android tablet that controls a DSLR camera wirelessly, a projector and a wireless microphone.
The kind of gear that could be considered a luxury and wish you always had when organizing meetups. I should have probably expected no less coming to an engineering school.
So… What made the meetup special to me ?
Martial starts the meetup with questions to the audience in order to have everyone introduce themselves and tell us what they’re doing for a living.
The questions this time around were:
Each of the 40 something attendees ran through the questions without too much awkwardness and I was dumbfounded, trying to let what just happened sink in. They’re used to this.
In what was for me a rare occurrence, I didn’t know anyone from the meetup. These short introductions were a good way to get a feel for the kind of audience I was dealing with in order to adapt how in-depth I could go in my explanations and if I needed to skip some of the basics.
I also enjoyed the variety of backgrounds and industries the attendees were from. Some were freelancer consultants, some were working on embedded devices and some were even retired. It was awesome to see retired people still interested and involved in Linux and open source beyond their professional career !
Most of us had uninformed opinions about the Meltdown and Spectre CPU vulnerabilities because of how new it still was back then. The documentation for the mere mortals was still in the process of coming out. The discussions were super interesting, though !
For the second question, perhaps half of attendees had either never tried Ansible before or had only heard about it which caught me slightly off guard.
A special presentation
The main topic of my talk was around how the OpenStack community uses Ansible and ARA: Ansible Run Analysis. ARA is an open source project I created to help me in my job by providing intuitive and seamless Ansible reporting.
The objective was to share bits of the journey that lead the OpenStack CI Infrastructure to where it is today. The OpenStack community hosts over 1500 different projects, runs over a thousand concurrent integration testing jobs to test the patches sent by over two thousand contributors — all day, every day.
I help manage this infrastructure as part of a nominated group of core contributors. The code that deploys and configures the different servers and components is open source and everyone is encouraged to contribute to it.
So… I was going to talk to a full room about OpenStack and a project to make Ansible even more awesome, ARA, but half of them had never even used Ansible before. I’m telling them about a solution to a problem they haven’t had before.
I usually design my talks with a short introduction on the different technologies or projects I’m going to speak about.
This helps getting up to speed a percentage of interested newcomers and a percentage of folks who tried something a while ago but forgot about it. For the crowd that knows about the tech, they probably like it since they’re listening to you and they won’t mind if you take a minute to go over the basics.
I was expecting a tough crowd but not at all, actually… The talk went great.
I was the only scheduled speaker of the evening and my 30 minutes presentation slot stretched to a hefty 90 minutes. It didn’t feel like an hour and a half but I probably drank way too much liquid afterwards because of all the talking — note to self: bring a water bottle next time.
The talk felt more like an informal discussion about the topics in my talk than the usual rushed monologue. Attendees did not hesitate to ask questions throughout the entire presentation whenever they were genuinely curious or interested about something and I loved it.
From my perspective, it was fun to share the excitement I have for OpenStack, Ansible and ARA. My excitement was contagious: every now and then, I would catch a glimpse of a smile or some eyes wide opened. The attendees were understanding what I was telling them and were translating it in ways that could be useful in their respective fields.
I wasn’t there to sell them anything: everything is free and open source. I wasn’t paid to present anything: it was my initiative on my own time. Hell, the only swag available was the ARA stickers I brought.
Everyone was there because they’re passionate about Linux and open source. Like me, it didn’t seem like they were sent here by their employer, you know ?
I got home it was like 10PM and that was it.
A few days later, I came across something else that opened my eyes about open source: Open-Source Happiness Packets.
Open Source Happiness Packets
It started with this tweet:
Open source is people, as @sarahnovotny said, and it's easy to forget to express gratitude amid the rush to get things done. Who are you grateful for in open source? A maintainer, friend, or mentor? Let us know and consider sending them a @happinesspacket! pic.twitter.com/U0qV8VNbzP— Google Open Source (@GoogleOSS) January 11, 2018
What’s that, a Happiness packet for people you are grateful to in open source ? A lot of folks in the open source communities were getting thanked all of a sudden and it was awesome:
It blew my mind.
happinesspackets.io pretty much hits the nail right on the head:
People are generally much more loved than they think they are. Especially when things don’t go according to plan, other people almost never think as harshly of you as you might think of yourself. It’s easy for us to complain when bad things happen, and yet we’re often fairly silent when things are good. Open-source communities are no different, especially when our main communication channels are textual and virtual. The feeling that you made a difference, that your work matters and has value, and that the people you work with are happy to work with you, is an awesome feeling. With Open-Source Happiness Packets, we’re trying to spread that feeling.
This is so true… and awesome.
It’s easy to miss the awesome projects and the passionate people in a sea of competition and negativity.
You know what I want to be like when I grow up as an open source project?— robyn bergeron (@robynbergeron) December 8, 2017
One that doesn't hate on the ones before me, and one willing to share my learnngs with those who come after me.
I believe in the projects I contribute to and I’ve spent countless unpaid hours working on them without expecting anything in return. I’m doing this because it’s useful to me and that’s my reward — my life and my work gets easier as a result.
There will always be people critical of your work but you can’t let that put you down. You know what’s the most rewarding thing in open source ?
Knowing that what you do is useful not only to you but to others as well.
Take the time to thank people, communities and their projects. Take the time to tell them that their work is useful to you and it makes your life easier.
It’s so important. A little thank you or shout out goes a long way in motivating people to continue doing what they’re doing.
I have the luck and the privilege to be working for Red Hat which pays me good money to work on open source but I realize that not everyone has that chance. I have a huge amount of respect for people who contribute to open source, let alone those who do on their own dime.
Open source is awesome.
Stay tuned for the next post in this series about awesome things in software engineering !