Protecting software innovations - patents vs trade secrets