We can learn an important lesson about open-source contributions from the early space program.
In 1962, President John F. Kennedy of the United States was taking a tour of NASA. During this tour, he ran into a janitor, who had a broom. JFK stepped aside from the tour, and introduced himself to the janitor, and asked what he was doing. The janitor replied, “Well, Mr. President, I’m helping put a man on the moon.”
It really puts things in perspective, doesn’t it? I received a pull request for an open-source project I maintain which was fixing some typos in the documentation. In the pull request message, the committer stated, “nothing big, just a few typo fixes.” But it wasn't an insignificant contribution; I’m not the best wordsmith out there, and something that may seem clear to me as the originating author of a package might not be obvious to others. I only speak English and a touch of French, so making documentation accessible to friends who don’t speak English is out of the question if I'm working alone. Every bit counts, and together, we can put our proverbial “man on the moon.”
This is definitely a generalization, but over the years, I’ve witnessed a malady I’ve called “open-source disease.” The first symptom is the unfortunate naming of projects; the first example of this I bring up is GIMP (the GNU Image Manipulation Program). The second symptom is incomplete or out-of-date documentation. And the third symptom is a lack of attention given to ergonomics and user experience.
This isn't meant to place blame on contributors. If you take a look at my GitHub repositories, you’ll see that I’m a lead offender! I do not have the expertise that many of these fields require, as a developer. The open-source community has plenty of developers, but we need to do a better job of welcoming people with other skillsets to our communities. This work is well underway, but I need to remind myself of it on a regular basis. I believe we can do better.
Contributing to an open-source project is a wonderful thing: it can increase our skills, allow us to broaden our horizons, but most importantly, it can allow us to become part of a community. Some of my best friends have been made from working together on open-source software. Together, we can build wonderful things when we network our skillsets towards a common goal… and maybe, just maybe, someday we’ll be able to contribute towards putting a woman on Mars.