Hacker News new | ask | show | jobs
by cube13 5114 days ago
>It is interesting that you should bring up SpaceX. If SpaceX used the GPL, there is nothing to say that you would ever get to explore that source code. The only time you would be guaranteed the source is if you have a rocket of your own and are using their control system, which is arguably when this becomes more than just a wonderful curiosity and becomes truly important.

I've been trying to figure out a good way to post this. It's simply a problem with the market that the code is intended for.

On one hand, you have applications like Office-style programs and web browsers. Every single computer user in the world uses those types of applications. So for those applications, the code has tremendous value as Open Source. Lots of people can go in and improve on it.

SpaceX's code, on the other hand, is incredibly specific for it's purpose. It's intended to be used with a specific hardware configuration, with users that have been trained to a high level with it's use. It's less valuable to the public, because the only people that can really make good use of the code are SpaceX engineers. Even the orbital guidance code is not that interesting, because variations of it have existed for the last half century, and it's equations and algorithms that just about any serious amateur astronomer should be aware of.

1 comments

> It's intended to be used with a specific hardware configuration

It's that way because the Boeing CST has its own software, as does the Lockheed's Orion and the Soyuz and every unmanned spacecraft ever developed. Development costs and quality could be greatly improved if all of them shared a single codebase.

If more designs shared the codebase, it would end more modular, more maintainable and better tested.

>It's that way because the Boeing CST has its own software, as does the Lockheed's Orion and the Soyuz and every unmanned spacecraft ever developed. Development costs and quality could be greatly improved if all of them shared a single codebase.

No, it's that way because nobody else in the world is using the specific hardware that they're using in the exact same configuration. Nobody is using the same input sensors. Nobody is using the exact same engine configuration or power.

Nobody has the same amount of fault tolerance or backup hardware.

That's what I meant.

Compared to a browser, where most of the more tricky hardware configuration issues are handled entirely by the OS.

I agree with you - the hardware and its configuration is very different between all of them. Yet, the basics are the same and a lot of code could be shared between the different spacecraft if they builders agreed on a certain level of commonality (and it doesn't even need to be a high one).

And yes - a common OS for spacecraft would be a giant leap forward, abstracting the differences in hardware and providing a unified interface for everyone using them.

The strongest barrier against sharing development is the security concerns. Nobody wants people to build missiles with that.

http://www.openpilot.org/ has, so far, avoided these problems.