People do open source for lots of reasons. One reason that I do open source is because I enjoy it...
Recently I had fun connecting Okio to zlib. It even had fun side quests:
- I learned about zlib, info-zip, PKZip, and how they relate. Sometimes a project’s logo tells you a lot!
- I studied real-world .zip files and learned that most .zip file writers aren’t ready for 2038.
- I got to do date math for DOS and NTFS!
If I were writing this code just to solve a business problem, I wouldn’t have spent so much time on the fun little details. And that reminds me of this devastating quote:
“Audiophiles don't use their equipment to listen to your music. Audiophiles use your music to listen to their equipment.”
I claim the programmer analogue: I don’t write software to solve business problems. I solve business problems to write software.
Fun?
There’s a flaw in my argument. If I’m writing software for fun, shouldn’t I be writing software that is more fun than .zip files? Like games, graphics, music, or poetry?
There are a bunch of conventionally fun things that compete with open source for my leisure time. I wanna finish the Burning Shores expansion of Horizon Forbidden West. I wanna play more Terraforming Mars. I wanna write & illustrate a kids book.
One recent competitor for my time was Zelda: Link’s Awakening. In it, a bear character asked me for honey and I spend an hour to make him happy! I searched the world for honey, stole it from some bees, and delivered it to an enthusiastic bear. Bringing honey to an NPC bear is fun.
Zelda
Sometimes open source issue trackers are just lists of tasks to complete.
But sometimes they’re a place where interesting characters suggest fun quests that I can do. Maybe an imaginary bear says ‘I wish I could open honey.zip!’ Or maybe a real person, is trying to fix the darn FileSystem.SYSTEM
visibility.
Advice
When you’re asking open source project maintainers to do work for you, try to make it fun!