Twitter github

Eclipse, NASA and Rocket Science and the Republic

I don’t know about you but I was blown away by Jeff Norris‘ keynote this morning at EclipseCon 2010. As a matter of fact, I can’t think of any other software industry related keynote that has impressed me as much. As Eclipse committers, it’s very humbling and rewarding to see your software being used by NASA to explore Mars, aid in planning astronaut’s schedules on the International Space Station and other things.

He also has no fear for Murphy’s Law given the amount of live demos he did, from remotely controlling the ATHLETE rover to do some moves for us to controlling a robotic Socrates head.

Space is hard. NASA develops complex systems to explore the universe. You can’t develop crap and run something like the Mars rover missions with brittle and poorly designed software. It’s my personal belief that community, open source and modularity act as enablers for building better software. Eclipse and OSGi exposes modularity and puts people on the path on building better software. Of course it’s not easy, but Eclipse helps.

At the end of the talk, he cleverly used the method of Socratic dialogue to drive some points home. I completely agree with his points about the importance of foundations, frameworks and architectures. I managed to record a poor video from the end of the talk, but here’s a snippet from the dialogue:

Jeff Norris: As software systems grow more  and more complicated, they are going to start taking on the properties we have seen in other industries like rocket science and building buildings. Where the level of complexity begins to demand this division of labor on a scale perhaps we haven’t seen before.

Robotic Socrates: To see the future of the software industry one could perhaps study the past of others. As space exploration demands the combined efforts of specialists with limited understanding of each others trades software developers must similarly diversify to meet the growing demands of their field.

Robotic Socrates: As software projects grow to the scale of skyscrapers, developers will specialize further in order to cope with the complexity of the systems they build.

Jeff Norris: Well, that sounds pretty risky… thousands of developers working on a system and not really understanding what each other are doing… doesn’t sound like a safe thing to do. How are we going to make it possible for those people to collaborate effectively without stepping on each other?

Robotic Socrates: Using the same principles employed in skyscrapers… foundations, frameworks and architectures. Do these terms sound familiar to you?

Jeff Norris: Indeed they do. This is what I think Eclipse is all about… So to conclude, I feel what Eclipse is enabling here is for people like me… to build systems that are appraoching unforseen levels of complexity without them falling apart. I’m really looking forward to what this community is building now and how we are going to use it to explore the universe in the future.

Thank you Jeff and NASA for a great keynote. I expect great things in the future from NASA.