An Economic Philosophy of Software