Spoiler Alert: This post discusses several key details of The Martian. If you haven’t seen the movie or read the book, you have been warned.

It might be argued that Rich Purnell, “steely-eyed missile man“, is the true hero of The Martian. But you know what else could have helped save Mark Watney (in a much smarter, more efficient way)? Open sourcing.

Let’s back the story up a bit before we get into the details. Mark Watney, played by Matt Damon, is an astronaut stranded on Mars after a dust storm forces his crew to leave him behind. As he does his best to signal to Earth for help and stay alive, NASA and a team of scientists work together to bring him home.

Purnell (played by Donald Glover), NASA astrodynamicist, then devises a daredevil rescue, involving an alternate trajectory for the spacecraft Hermes (the same vehicle that brought the crew to Mars).

NASA’s original plan was to have the Hermes enter Earth orbit, resupply, and then fly back to Mars. The problem here is that it takes too long — Watney’s supplies are severely limited, and time is a critical element. The Rich Purnell Maneuver would have the Hermes skip entering Earth orbit altogether, and instead go around the Earth and fly straight back to Mars.

Purnell then proceeds to spend every waking moment calculating the details of the this trajectory and verifying it will work. He then flies out to present his work at a secret management team meeting, where it is summarily discarded as too risky.

Just when it appears that all hope is lost, Mitch Henderson (the Hermes Flight Director) disguises the Rich Purnell Maneuver as a family photo and sends it to the Ares 3’s resident orbital dynamicist aboard the Hermes, who then shares it with the rest of the crew. After reviewing Rich’s plan, the crew quickly decides to mutiny so they can save their crewmate (wouldn’t you?). To ensure mission control doesn’t interfere with their plan, the crew disables the Hermes remote overrides (all three of them) and changes course for Mars. The rest, as they say, is history.

All of this cloak and dagger activity makes for great drama, but it is no way to run a space program. What if the NASA in The Martian valued transparency over secrecy? What if the management team didn’t have to rely on just one veteran engineer’s evaluation of Rich’s work when deciding whether it would work? And, what if Rich’s proposed trajectory could have been developed by a team of volunteers from across the planet instead of being fueled by one man’s dedication and gallons of coffee?

NASA could have used its resources more efficiently, its management team could have had greater confidence in the Rich Purnell Maneuver, and Rich could have arrived at his proposal faster. All of this, and the crew wouldn’t have had to mutiny in order to save Mark. Applying open source principles to spaceflight, like we do at Mach 30, gives organizations all of these advantages. As the Mach 30 president and the team leader for our open source projects, I get to see first hand the impact these principles have every day.

Transparency is the core value that underlies the open source software and hardware movements. To put it simply, in open source, there should be no secrets, especially where failures are concerned. It’s clear that transparency is not a core value of The Martian’s version of NASA, which has huge impacts on people’s decisions.

Think about how much time is wasted at all layers of the organization in trying to keep the Rich Purnell Maneuver a secret (first when designing it, then hiding it, and ultimately implementing it). How much more efficient would it have been if Rich worked for a NASA where he could have simply said, “Hey. I have an idea to save Mark, but it is a little risky, so I am going to work on it as a side project for now”? Or, how about if the management team and the crew could have discussed the idea openly?

Linus’s Law, named after the developer behind the Linux kernel, says that with sufficient eyeballs, all bugs become shallow. The idea behind this law is that in open source software (and by extension hardware) the availability of more people to review and test a project leads to greater discovery of problems in that project. Greater discovery of problems means more problems get resolved before a project goes into production, making for a better project when it is released. Consider how much stronger the case for the Rich Purnell Manuever would have been (and in turn management’s confidence in the plan) if it had been developed as an open source project with many eyeballs discovering issues along the way instead of having to rely on just Vincent Kapoor’s (Chiwetel Ejiofor) word that it would work.

Rich was only one man, spending many sleepless nights in his office, racing to calculate, verify, and document his proposal before the Hermes got too close to home to implement it. With the right tool, like Mach 30’s Mathematics Tool Kit (MTK), he could have shared this work with collaborators across the world. MTK’s unique combination of calculation and documentation environments in one tool would have allowed Rich to focus on defining the trajectory while other contributors wrote the code to calculate and test the trajectory. Still more engineers could spend their energy documenting and reviewing the results. By using MTK to break the work into smaller, more specialized parts, Rich (and his team) could have completed the proposal in far less time than Rich ever could alone (and with far fewer all-nighters in Rich’s office).

In summary, compared to the cloak and dagger we see in The Martian, applying open source principles to spaceflight would have gotten Rich to a finalized proposal faster, given management greater confidence in the proposal, and allowed NASA to spend its resources more efficiently (no mutiny required).

So, what do you think? How could you have contributed to the open source Rich Purnell Maneuver? Could you have helped spread the word to your social network to help raise awareness for this approach to save Mark? Could you have coded up some of the math? How about peer reviewing the code or the math? Or by doing something else? Let me know in the comments. And as always, ad astra per civitatem!